@ohif/extension-cornerstone 3.13.0-beta.114 → 3.13.0-beta.116

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,p,g,m,f,h,w,B,y,v,C,S,E,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:p}=l.services;return(0,n.useEffect)(()=>{if(!e)return;let t=p.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=p.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=p.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 p({viewportData:e,viewportId:A,element:t,imageSliceData:o,setImageSliceData:a,servicesManager:s}){let{cineService:l,cornerstoneViewportService:u,customizationService:g,viewedDataService:m}=s.services,f=!1!==g.getCustomization("viewportScrollbar.showLoadedEndpoints"),h=!1!==g.getCustomization("viewportScrollbar.showLoadedFill"),w=!1!==g.getCustomization("viewportScrollbar.showViewedFill"),B=!1!==g.getCustomization("viewportScrollbar.showLoadingPattern"),y=g.getCustomization("viewportScrollbar.viewedDwellMs"),v=g.getCustomization("viewportScrollbar.loadedBatchIntervalMs"),{numberOfSlices:C,imageIndex:S}=o,E=(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<E.length;A++){let t=E[A];t&&e.set(t,A)}return e},[E]),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:p}=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&&p(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,p]),l}({isFullMode:U,numberOfSlices:C,viewportData:e,imageIds:E,imageIdToIndex:I,loadedBatchIntervalMs:"number"==typeof v&&v>=0?v:200}),{bytes:T,version:D}=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:S,imageIds:E,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:S||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:g.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:T,version:D,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},p.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 g=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,formatValue:C}=o.utils,S={"ohif.overlayItem":function(e){let{instance:A,customization:t={}}=e,{color:r,attribute:o,title:i,label:a,background:s}=t,l=C(t.contentF?.(e,t)??A?.[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: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,p]=(0,n.useState)(1),[g,f]=(0,n.useState)(0),{isViewportBackgroundLight:h,windowLevel:C}=(0,y.eH)(o),{imageIndex:U}=t,b=l.getCustomization("viewportOverlay.topLeft"),F=l.getCustomization("viewportOverlay.topRight"),Q=l.getCustomization("viewportOverlay.bottomLeft"),T=l.getCustomization("viewportOverlay.bottomRight"),D=(0,n.useMemo)(()=>A?I(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,D,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;p(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=S[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,A,t,o,a,l,O,C,d,D,g,h]),H=(0,n.useCallback)((e,A)=>{let t={...O,formatters:{formatDate:i.formatDICOMDate},voi:C,scale:d,instanceNumber:D,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(T,"bottomRightOverlayItem"),color:h?"text-neutral-dark":"text-neutral-light",shadowClass:h?"shadow-light":"shadow-dark"})}let I=(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=g.vec3.cross(g.vec3.create(),c,u);if(1e-4>g.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 U=t(5530),b=t.n(U);let{getOrientationStringLPS:F,invertOrientationStringLPS:Q}=m.utilities.orientation,T=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,p,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=g.vec3.sub(g.vec3.create(),w,h),v=g.vec3.sub(g.vec3.create(),B,h);g.vec3.normalize(y,y),g.vec3.normalize(v,v);let C=(i=y,l=v,d=F(i),p=F(l),m=Q(d),{top:Q(p),left:m,right:d,bottom:p});return a.map((e,A)=>n.createElement("div",{className:b()("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 O=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 g=a.getCustomization("viewportScrollbar.variant");return n.createElement("div",{className:"noselect"},"legacy"!==g?n.createElement(p,{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(T,{imageSliceData:s,element:t,viewportData:c,servicesManager:o,viewportId:A}))},M=(0,n.createContext)(null),{Provider:x}=M;function H({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 L=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,p]=(0,n.useState)(24),[g,m]=(0,n.useState)(null),[f]=(0,n.useContext)(M),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}),p(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(H,{viewportId:A,cineService:u,newStackFrameRate:d,isPlaying:v,dynamicInfo:g,customizationService:o})};var N=t(2351),V=t(8842);let R=(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(N.Toolbar,{buttonSection:"viewportActionMenu.topLeft",viewportId:e,location:V.ButtonLocation.TopLeft})),n.createElement(i.ViewportActionCorners.TopMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.topMiddle",viewportId:e,location:V.ButtonLocation.TopMiddle})),n.createElement(i.ViewportActionCorners.TopRight,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.topRight",viewportId:e,location:V.ButtonLocation.TopRight})),n.createElement(i.ViewportActionCorners.LeftMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.leftMiddle",viewportId:e,location:V.ButtonLocation.LeftMiddle})),n.createElement(i.ViewportActionCorners.RightMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.rightMiddle",viewportId:e,location:V.ButtonLocation.RightMiddle})),n.createElement(i.ViewportActionCorners.BottomLeft,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomLeft",viewportId:e,location:V.ButtonLocation.BottomLeft})),n.createElement(i.ViewportActionCorners.BottomMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomMiddle",viewportId:e,location:V.ButtonLocation.BottomMiddle})),n.createElement(i.ViewportActionCorners.BottomRight,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomRight",viewportId:e,location:V.ButtonLocation.BottomRight})))):null});var _=t(3500),k=t(6360),P=t(619),G=t(2140);let K=(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});K.displayName="ActiveViewportBehavior";let j=new Map,W=n.memo(e=>{let{displaySets:A,dataSource:t,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<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:S,toolbarService:E,toolGroupService:I,syncGroupService:U,cornerstoneViewportService:b,segmentationService:F,cornerstoneCacheService:Q,customizationService:T,measurementService:D}=c.services,[M]=(0,i.useViewportDialog)(),x=(0,n.useCallback)(()=>{w(`${v.current.clientHeight-10}px`)},[v]),H=(0,n.useCallback)(e=>{if(v.current&&e?.length){let{width:A,height:t}=e[0].contentRect,n=j.get(f)||{width:0,height:0},r=n.width!==A||n.height!==t;A>0&&t>0&&r&&(j.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(H);return A.observe(e),()=>{A.unobserve(e),A.disconnect()}},[H]);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]),V=(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}=G.U.getState();s?.[A]?.length&&!m&&function(e,A){let{synchronizersStore:t}=G.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,V),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,V))}),[]),(0,n.useEffect)(()=>{let{unsubscribe:e}=S.subscribe(S.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,S);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,g),n=function(e){let{lutPresentationStore:A}=k.I.getState(),{positionPresentationStore:t}=_.q.getState(),{segmentationPresentationStore:n}=P.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 W=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(O,{viewportId:f,toolBarService:E,element:v.current,scrollbarHeight:h,servicesManager:c}),n.createElement(L,{enabledVPElement:B,viewportId:f,servicesManager:c}),n.createElement(K,{viewportId:f,servicesManager:c})),n.createElement("div",{className:"absolute top-[24px] w-full"},M.viewportId===f&&n.createElement(W,{id:"viewport-notification",message:M.message,type:M.type,actions:M.actions,onSubmit:M.onSubmit,onOutsideClick:M.onOutsideClick,onKeyPress:M.onKeyPress})),n.createElement(R,{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});W.displayName="OHIFCornerstoneViewport";let Y=W},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),[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(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;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(A=>{e.push(l.subscribe(A,()=>h()))}),()=>{e.forEach(e=>e.unsubscribe())}},[s,l,w,h]),{isTracked:u,isLocked:p,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,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}=A||{},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]),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:g,services:{displaySetService:c,viewportGridService:p}})||{viewportDisplaySets:[],enhancedDisplaySets:[]},[g,c,p,U]),Q=(0,n.useMemo)(()=>m&&b.length>0?b[0]:void 0,[m,b]),T=(0,n.useMemo)(()=>f&&Q?b.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID):[],[f,b,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]),H={allDisplaySets:v||[],viewportDisplaySets:b||[]};return m&&(H.backgroundDisplaySet=Q),f&&(H.foregroundDisplaySets=T),h&&(H.overlayDisplaySets=E),w&&(H.potentialOverlayDisplaySets=O),B&&(H.potentialForegroundDisplaySets=M),y&&(H.potentialBackgroundDisplaySets=x),H}},154(e,A,t){"use strict";t.d(A,{A:()=>p,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:p,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)(),S=n.useRef(),[E,I]=(0,n.useState)(()=>e?p.getCornerstoneViewport(e)??null:null),[U,b]=(0,n.useState)((0,s.Ov)(E)),[F,Q]=(0,n.useState)(),[T,D]=(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?p.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]),W=(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=p.getCornerstoneViewport(e);if(I(A??null),A)return;let{unsubscribe:t}=p.subscribe(p.EVENTS.VIEWPORT_DATA_CHANGED,({viewportId:A})=>{if(A!==e)return;let t=p.getCornerstoneViewport(e);t&&I(t)});return()=>{t()}},[e,p]),(0,n.useEffect)(()=>{if(!V)return;let e=N.getDisplaySetByUID(V);if(!e?.imageIds?.length||!E||!(0,s.rX)(E))return;let A=E.getAllVolumeIds().find(e=>e.includes(V));if(!A)return;let t=E.getImageData(A);if(!t)return;let{voxelManager:n}=t.imageData.get("voxelManager"),r=n.getRange();H({min:r[0],max:r[1]})},[V,N,E]);let Y=(0,n.useMemo)(()=>{if(!V||0===W.length)return[];let e=W.find(e=>e.displaySetInstanceUID===V);return e?e.presets:[]},[W,V]);(0,n.useEffect)(()=>{if(b((0,s.Ov)(E)),E&&V)try{let e=(0,a.V)(E,V),A=null!=e?E.getProperties(e):E.getProperties();if(!A)return;if(A.voiRange&&(C(A.voiRange),S.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),D(u(t))}A.colormap?.threshold!==void 0&&M(A.colormap.threshold)}catch(e){console.error("Error initializing VOI range:",e)}},[V,E]),(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||!E?.element)return;let e=E.element,A=e=>{let{range:A}=e.detail;!A||S.current&&g(S.current,A)||(S.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),D(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,E,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};S.current&&g(S.current,o)||(S.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&&(!S.current||!g(S.current,A))){S.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,E,e]),Z=(0,n.useCallback)(e=>{if(!E||!(0,s.rX)(E))return;Q(e),D(u(e));let A=z(),t=E.getAllVolumeIds().find(e=>e.includes(A));if(!t)return;let n={...E.getProperties(t).colormap||{},opacity:e};E.setProperties({colormap:n},t),E.render()},[z,u,E]),ee=(0,n.useCallback)(e=>{Z(c(e))},[c,Z]),eA=(0,n.useCallback)(e=>{if(!E||!(0,s.rX)(E))return;M(e);let A=z(),t=E.getAllVolumeIds().find(e=>e.includes(A));t&&(console.debug("\uD83D\uDE80 ~ thresholdValue:",e),E.setProperties({colormap:{threshold:e}},t),E.render())},[z,E]),et=(0,n.useMemo)(()=>{if(!V||!L?.length)return null;try{if(!E)return null;if((0,s.TF)(E)){let{colormap:e}=E.getProperties();if(!e)return k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0];return e}let e=E.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}=E.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,E]),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:T,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:Y,allWindowLevelPresets:W,volumeRenderingPresets:P,volumeRenderingQualityRange:G}}let p=d;function g(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:p}=r.services,[g,m]=(0,n.useState)({segmentationsWithRepresentations:[],disabled:!1});return(0,n.useEffect)(()=>{let n=()=>{let A=u.getDisplaySetsUIDsForViewport(e);if(!A?.length)return;let t=p.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,p,t,A,e]),g}},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({},p),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 p={$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)}},g=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=g.update.isEquals,A.extend=g.extend,A.default=g.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]",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]",U="[object Uint8Array]",b="[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[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 W(e){var A=-1,t=Array(e.size);return e.forEach(function(e){t[++A]=e}),t}var Y=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=Y.splice,el=Object.getOwnPropertySymbols,ec=et?et.isBuffer:void 0,eu=j(Object.keys,Object),ed=ex(L,"DataView"),ep=ex(L,"Map"),eg=ex(L,"Promise"),em=ex(L,"Set"),ef=ex(L,"WeakMap"),eh=ex(Object,"create"),ew=eV(ed),eB=eV(ep),ey=eV(eg),ev=eV(em),eC=eV(ef),eS=en?en.prototype:void 0,eE=eS?eS.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 eT(e,A){for(var t=e.length;t--;)if(eR(e[t][0],A))return t;return -1}function eD(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:D).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=eT(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=eT(A,e);return t<0?void 0:A[t][1]},eU.prototype.has=function(e){return eT(this.__data__,e)>-1},eU.prototype.set=function(e,A){var t=this.__data__,n=eT(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(ep||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(!ep||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||ep&&eL(new ep)!=c||eg&&eL(eg.resolve())!=p||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 p;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,p,w,D){if(r&&(O=w?r(A,p,w,D):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,Y=V.length;for(R||(R=Array(Y));++j<Y;)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 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 U:case b: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?t(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?t(W(e),!0):W(e),k,new e.constructor);case h:return eE?Object(eE.call(e)):{}}}(A,ee,e,t)}}D||(D=new eF);var ea=D.get(A);if(ea)return ea;if(D.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,D))}),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,p=Math.max,g=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?g(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)?p(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,g;return p(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),g=l&&("object"==d||"function"==d)?s.call(i):"")&&"[object GeneratorFunction]"!=g&&a.call(A,"callee")&&(!c.call(A,"callee")||"[object Arguments]"==s.call(A))||!!(u&&e&&e[u])}var p=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 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 A=null,t=!1,n=e._d&&!isNaN(e._d.getTime());return(n&&(A=p(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(p(A),e):p(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=p(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 S(e){!1===A.suppressDeprecationWarnings&&"u">typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function E(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)}S(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]||(S(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 T(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 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 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 T(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(D);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},W=/\d/,Y=/\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 ep(e){var A=+e,t=0;return 0!==A&&isFinite(A)&&(t=ed(A)),t}G={};var eg={};function em(e,A){var t,n,r=A;for("string"==typeof e&&(e=[e]),s(A)&&(r=function(e,t){t[A]=ep(e)}),n=e.length,t=0;t<n;t++)eg[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?T(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,Y),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):ep(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 ep(e)+(ep(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 eS(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,Y),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]=ep(e)-1}),em(["MMM","MMMM"],function(e,A,t,n){var r=t._locale.monthsParse(e,n,t._strict);null!=r?A[1]=r:p(t).invalidMonth=e});var eE="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=ep(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,eS(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 eT(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 eD(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+eD(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,Y),ec("W",q,es),ec("WW",q,Y),ef(["w","ww","W","WW"],function(e,A,t,n){A[n.substr(0,1)]=ep(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:p(t).invalidWeekday=e}),ef(["d","e","E"],function(e,A,t,n){A[n]=ep(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)+T(this.minutes(),2)}),H("hmmss",0,0,function(){return""+e_.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),H("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,A,t){var n=ep(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]=ep(e),p(t).bigHour=!0}),em("hmm",function(e,A,t){var n=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n)),p(t).bigHour=!0}),em("hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n,2)),A[5]=ep(e.substr(r)),p(t).bigHour=!0}),em("Hmm",function(e,A,t){var n=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n))}),em("Hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n,2)),A[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:eN,meridiemParse:/[ap]\.?m?\.?/i},eY={},ez={};function eJ(e){return e?e.toLowerCase().replace("_","-"):e}function eX(A){var n=null;if(void 0===eY[A]&&e&&e.exports&&A&&A.match("^[^/\\\\]*$"))try{n=eK._abbr,t(3118)("./locale/"+A),eq(n)}catch(e){eY[A]=null}return eY[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 eY[e],null;var t,n=eW;if(A.abbr=e,null!=eY[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=eY[e]._config;else if(null!=A.parentLocale)if(null!=eY[A.parentLocale])n=eY[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 eY[e]=new Q(F(n,A)),ez[e]&&ez[e].forEach(function(e){e$(e.name,e.config)}),eq(e),eY[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===p(e).overflow&&(A=t[1]<0||t[1]>11?1:t[2]<1||t[2]>eS(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,p(e)._overflowDayOfYear&&(A<0||A>2)&&(A=2),p(e)._overflowWeeks&&-1===A&&(A=7),p(e)._overflowWeekday&&-1===A&&(A=8),p(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(p(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,eE.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()&&(p(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=eD.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(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,g,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)?p(t)._overflowWeeks=!0:null!=c?p(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)&&(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 An(e){if(e._f===A.ISO_8601)return void e7(e);if(e._f===A.RFC_2822)return void Ae(e);e._a=[],p(e).empty=!0;var t,n,r,i,a,s,l,c,u,d,g,m=""+e._i,f=m.length,h=0;for(g=(l=N(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,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&&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]=(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=p(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){p(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),g(A)&&(i=!0),o+=p(A).charsLeftOver,o+=10*p(A).unusedTokens.length,p(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),g(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=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":""))}),A.ISO_8601=function(){},A.RFC_2822=function(){};var Aa=E("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=E("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]])!==ep(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 Ap(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ag(e,A){H(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+T(~~(e/60),2)+A+T(~~e%60,2)})}Ag("Z",":"),Ag("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])+ep(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:ep(u[2])*i,h:ep(u[3])*i,m:ep(u[4])*i,s:ep(u[5])*i,ms:ep(Ap(1e3*u[6]))*i}):(u=Av.exec(e))?(i="-"===u[1]?-1:1,c={y:AS(u[2],i),M:AS(u[3],i),w:AS(u[4],i),d:AS(u[5],i),h:AS(u[6],i),m:AS(u[7],i),s:AS(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=AE(t,n):((r=AE(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 AS(e,A){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*A}function AE(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=Ap(t._days),a=Ap(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 AT(e,A){if(e.date()<A.date())return-AT(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 AD(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=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 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=eD(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?p(t).era=r:p(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,Y),ec("gg",q,Y),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)]=ep(e)}),ef(["gg","GG"],function(e,t,n,r){t[r]=A.parseTwoDigitYear(e)}),H("Q",0,"Qo","quarter"),ec("Q",W),em("Q",function(e,A){A[1]=(ep(e)-1)*3}),H("D",["DD",2],"Do","date"),ec("D",q,es),ec("DD",q,Y),ec("Do",function(e,A){return e?A._dayOfMonthOrdinalParse||A._ordinalParse:A._dayOfMonthOrdinalParseLenient}),em(["D","DD"],2),em("Do",function(e,A){A[2]=ep(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=ep(e)}),H("m",["mm",2],0,"minute"),ec("m",q,el),ec("mm",q,Y),em(["m","mm"],4);var AP=ey("Minutes",!1);H("s",["ss",2],0,"second"),ec("s",q,el),ec("ss",q,Y),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,W),ec("SS",ee,Y),ec("SSS",ee,z),f="SSSS";f.length<=9;f+="S")ec(f,en);function AK(e,A){A[6]=ep(("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 AW(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 p=e||Ai(),g=Ah(p,this).startOf("day"),m=A.calendarFormat(this,g)||"sameElse",f=t&&(b(t[m])?t[m].call(this,p):t[m]);return this.format(f||this.localeData().calendar(m,this,Ai(p)))},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=AT(this,n)/12;break;case"month":o=AT(this,n);break;case"quarter":o=AT(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 p(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 g(this)},Aj.lang=AO,Aj.locale=AD,Aj.localeData=AM,Aj.max=As,Aj.min=Aa,Aj.parsingFlags=function(){return u({},p(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 eS(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=E("dates accessor is deprecated. Use date instead.",Ak),Aj.months=E("months accessor is deprecated. Use month instead",eF),Aj.years=E("years accessor is deprecated. Use year instead",eB),Aj.zone=E("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=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,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++)ep(e[t])!==ep(A[t])&&o++;return o+r}(A._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var AY=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}AY.calendar=function(e,A,t){var n=this._calendar[e]||this._calendar.sameElse;return b(n)?n.call(A,t):n},AY.longDateFormat=function(e){var A=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return A||!t?A:(this._longDateFormat[e]=t.match(D).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},AY.invalidDate=function(){return this._invalidDate},AY.ordinal=function(e){return this._ordinal.replace("%d",e)},AY.preparse=AW,AY.postformat=AW,AY.relativeTime=function(e,A,t,n){var r=this._relativeTime[t];return b(r)?r(e,A,t,n):r.replace(/%d/i,e)},AY.pastFuture=function(e,A){var t=this._relativeTime[e>0?"future":"past"];return b(t)?t(A):t.replace(/%s/i,A)},AY.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)},AY.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},AY.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]},AY.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},AY.erasAbbrRegex=function(e){return o(this,"_erasAbbrRegex")||AN.call(this),e?this._erasAbbrRegex:this._erasRegex},AY.erasNameRegex=function(e){return o(this,"_erasNameRegex")||AN.call(this),e?this._erasNameRegex:this._erasRegex},AY.erasNarrowRegex=function(e){return o(this,"_erasNarrowRegex")||AN.call(this),e?this._erasNarrowRegex:this._erasRegex},AY.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},AY.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},AY.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}},AY.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)},AY.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)},AY.week=function(e){return ex(e,this._week.dow,this._week.doy).week},AY.firstDayOfYear=function(){return this._week.doy},AY.firstDayOfWeek=function(){return this._week.dow},AY.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},AY.weekdaysMin=function(e){return!0===e?eL(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},AY.weekdaysShort=function(e){return!0===e?eL(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},AY.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}},AY.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)},AY.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)},AY.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)},AY.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},AY.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===ep(e%100/10)?"th":1===A?"st":2===A?"nd":3===A?"rd":"th";return e+t}}),A.lang=E("moment.lang is deprecated. Use moment.locale instead.",eq),A.langData=E("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 tp=Math.abs;function tg(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=tp(this._milliseconds)/1e3,l=tp(this._days),c=tp(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=tg(this._months)!==tg(u)?"-":"",i=tg(this._days)!==tg(u)?"-":"",a=tg(this._milliseconds)!==tg(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,p,g,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)),p=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]=p,g=td.apply(null,d),m&&(g=p.pastFuture(+this,g)),p.postformat(g)},tf.toISOString=tm,tf.toString=tm,tf.toJSON=tm,tf.locale=AD,tf.localeData=AM,tf.toIsoString=E("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(ep(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=eW;null!=eY[e]&&null!=eY[e].parentLocale?eY[e].set(F(eY[e]._config,A)):(null!=(n=eX(e))&&(r=n._config),A=F(r,A),null==n&&(A.abbr=e),(t=new Q(A)).parentLocale=eY[e],eY[e]=t),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]},A.locales=function(){return j(eY)},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"),p=Symbol.iterator,g={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||g}function w(){}function B(e,A,t){this.props=e,this.context=A,this.refs=f,this.updater=t||g}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,S={current:null},E={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)&&!E.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:S.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 g=0;g<A.length;g++){var m=i+F(u=A[g],g);d+=e(u,r,o,m,a)}else if("function"==typeof(m=null===(c=A)||"object"!=typeof c?null:"function"==typeof(c=p&&c[p]||c["@@iterator"])?c:null))for(A=m.call(A),g=0;!(u=A.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(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 T(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 D={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:D,ReactCurrentBatchConfig:O,ReactCurrentOwner:S},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=S.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)&&!E.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:T}},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 D.current.useCallback(e,A)},A.useContext=function(e){return D.current.useContext(e)},A.useDebugValue=function(){},A.useDeferredValue=function(e){return D.current.useDeferredValue(e)},A.useEffect=function(e,A){return D.current.useEffect(e,A)},A.useId=function(){return D.current.useId()},A.useImperativeHandle=function(e,A,t){return D.current.useImperativeHandle(e,A,t)},A.useInsertionEffect=function(e,A){return D.current.useInsertionEffect(e,A)},A.useLayoutEffect=function(e,A){return D.current.useLayoutEffect(e,A)},A.useMemo=function(e,A){return D.current.useMemo(e,A)},A.useReducer=function(e,A,t){return D.current.useReducer(e,A,t)},A.useRef=function(e){return D.current.useRef(e)},A.useState=function(e){return D.current.useState(e)},A.useSyncExternalStore=function(e,A,t){return D.current.useSyncExternalStore(e,A,t)},A.useTransition=function(){return D.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 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 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=p},[p]),c(p),p}},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=g},6404(e){"use strict";e.exports=n},1748(e){"use strict";e.exports=S},3154(e){"use strict";e.exports=u},6974(e){"use strict";e.exports=h},6285(e){"use strict";e.exports=E},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=p},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:p,...g}=((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==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 A=m;m=!1,t(...e),m=A},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,A])=>[e,e===g.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 p.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,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("@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"],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("@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"]=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["@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,A,t,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b)=>(()=>{var F,Q,T={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:p}=l.services;return(0,n.useEffect)(()=>{if(!e)return;let t=p.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=p.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=p.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 p({viewportData:e,viewportId:A,element:t,imageSliceData:o,setImageSliceData:a,servicesManager:s}){let{cineService:l,cornerstoneViewportService:u,customizationService:g,viewedDataService:m}=s.services,f=!1!==g.getCustomization("viewportScrollbar.showLoadedEndpoints"),h=!1!==g.getCustomization("viewportScrollbar.showLoadedFill"),w=!1!==g.getCustomization("viewportScrollbar.showViewedFill"),B=!1!==g.getCustomization("viewportScrollbar.showLoadingPattern"),y=g.getCustomization("viewportScrollbar.viewedDwellMs"),v=g.getCustomization("viewportScrollbar.loadedBatchIntervalMs"),{numberOfSlices:C,imageIndex:S}=o,E=(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<E.length;A++){let t=E[A];t&&e.set(t,A)}return e},[E]),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:p}=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&&p(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,p]),l}({isFullMode:U,numberOfSlices:C,viewportData:e,imageIds:E,imageIdToIndex:I,loadedBatchIntervalMs:"number"==typeof v&&v>=0?v:200}),{bytes:T,version:D}=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:S,imageIds:E,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:S||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:g.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:T,version:D,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},p.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 g=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,formatValue:C}=o.utils,S={"ohif.overlayItem":function(e){let{instance:A,customization:t={}}=e,{color:r,attribute:o,title:i,label:a,background:s}=t,l=C(t.contentF?.(e,t)??A?.[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: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,p]=(0,n.useState)(1),[g,f]=(0,n.useState)(0),{isViewportBackgroundLight:h,windowLevel:C}=(0,y.eH)(o),{imageIndex:U}=t,b=l.getCustomization("viewportOverlay.topLeft"),F=l.getCustomization("viewportOverlay.topRight"),Q=l.getCustomization("viewportOverlay.bottomLeft"),T=l.getCustomization("viewportOverlay.bottomRight"),D=(0,n.useMemo)(()=>A?I(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,D,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;p(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=S[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,A,t,o,a,l,O,C,d,D,g,h]),H=(0,n.useCallback)((e,A)=>{let t={...O,formatters:{formatDate:i.formatDICOMDate},voi:C,scale:d,instanceNumber:D,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(T,"bottomRightOverlayItem"),color:h?"text-neutral-dark":"text-neutral-light",shadowClass:h?"shadow-light":"shadow-dark"})}let I=(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=g.vec3.cross(g.vec3.create(),c,u);if(1e-4>g.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 U=t(5530),b=t.n(U);let{getOrientationStringLPS:F,invertOrientationStringLPS:Q}=m.utilities.orientation,T=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,p,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=g.vec3.sub(g.vec3.create(),w,h),v=g.vec3.sub(g.vec3.create(),B,h);g.vec3.normalize(y,y),g.vec3.normalize(v,v);let C=(i=y,l=v,d=F(i),p=F(l),m=Q(d),{top:Q(p),left:m,right:d,bottom:p});return a.map((e,A)=>n.createElement("div",{className:b()("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 O=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 g=a.getCustomization("viewportScrollbar.variant");return n.createElement("div",{className:"noselect"},"legacy"!==g?n.createElement(p,{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(T,{imageSliceData:s,element:t,viewportData:c,servicesManager:o,viewportId:A}))},M=(0,n.createContext)(null),{Provider:x}=M;function H({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 L=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,p]=(0,n.useState)(24),[g,m]=(0,n.useState)(null),[f]=(0,n.useContext)(M),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}),p(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(H,{viewportId:A,cineService:u,newStackFrameRate:d,isPlaying:v,dynamicInfo:g,customizationService:o})};var N=t(2351),V=t(8842);let R=(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(N.Toolbar,{buttonSection:"viewportActionMenu.topLeft",viewportId:e,location:V.ButtonLocation.TopLeft})),n.createElement(i.ViewportActionCorners.TopMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.topMiddle",viewportId:e,location:V.ButtonLocation.TopMiddle})),n.createElement(i.ViewportActionCorners.TopRight,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.topRight",viewportId:e,location:V.ButtonLocation.TopRight})),n.createElement(i.ViewportActionCorners.LeftMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.leftMiddle",viewportId:e,location:V.ButtonLocation.LeftMiddle})),n.createElement(i.ViewportActionCorners.RightMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.rightMiddle",viewportId:e,location:V.ButtonLocation.RightMiddle})),n.createElement(i.ViewportActionCorners.BottomLeft,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomLeft",viewportId:e,location:V.ButtonLocation.BottomLeft})),n.createElement(i.ViewportActionCorners.BottomMiddle,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomMiddle",viewportId:e,location:V.ButtonLocation.BottomMiddle})),n.createElement(i.ViewportActionCorners.BottomRight,null,n.createElement(N.Toolbar,{buttonSection:"viewportActionMenu.bottomRight",viewportId:e,location:V.ButtonLocation.BottomRight})))):null});var _=t(3500),k=t(6360),P=t(619),G=t(2140);let K=(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});K.displayName="ActiveViewportBehavior";let j=new Map,W=n.memo(e=>{let{displaySets:A,dataSource:t,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<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:S,toolbarService:E,toolGroupService:I,syncGroupService:U,cornerstoneViewportService:b,segmentationService:F,cornerstoneCacheService:Q,customizationService:T,measurementService:D}=c.services,[M]=(0,i.useViewportDialog)(),x=(0,n.useCallback)(()=>{w(`${v.current.clientHeight-10}px`)},[v]),H=(0,n.useCallback)(e=>{if(v.current&&e?.length){let{width:A,height:t}=e[0].contentRect,n=j.get(f)||{width:0,height:0},r=n.width!==A||n.height!==t;A>0&&t>0&&r&&(j.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(H);return A.observe(e),()=>{A.unobserve(e),A.disconnect()}},[H]);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]),V=(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}=G.U.getState();s?.[A]?.length&&!m&&function(e,A){let{synchronizersStore:t}=G.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,V),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,V))}),[]),(0,n.useEffect)(()=>{let{unsubscribe:e}=S.subscribe(S.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,S);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,g),n=function(e){let{lutPresentationStore:A}=k.I.getState(),{positionPresentationStore:t}=_.q.getState(),{segmentationPresentationStore:n}=P.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 W=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(O,{viewportId:f,toolBarService:E,element:v.current,scrollbarHeight:h,servicesManager:c}),n.createElement(L,{enabledVPElement:B,viewportId:f,servicesManager:c}),n.createElement(K,{viewportId:f,servicesManager:c})),n.createElement("div",{className:"absolute top-[24px] w-full"},M.viewportId===f&&n.createElement(W,{id:"viewport-notification",message:M.message,type:M.type,actions:M.actions,onSubmit:M.onSubmit,onOutsideClick:M.onOutsideClick,onKeyPress:M.onKeyPress})),n.createElement(R,{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});W.displayName="OHIFCornerstoneViewport";let Y=W},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),[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(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;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(A=>{e.push(l.subscribe(A,()=>h()))}),()=>{e.forEach(e=>e.unsubscribe())}},[s,l,w,h]),{isTracked:u,isLocked:p,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,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}=A||{},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]),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:g,services:{displaySetService:c,viewportGridService:p}})||{viewportDisplaySets:[],enhancedDisplaySets:[]},[g,c,p,U]),Q=(0,n.useMemo)(()=>m&&b.length>0?b[0]:void 0,[m,b]),T=(0,n.useMemo)(()=>f&&Q?b.filter(e=>!a.includes(e.Modality)&&e.displaySetInstanceUID!==Q.displaySetInstanceUID):[],[f,b,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]),H={allDisplaySets:v||[],viewportDisplaySets:b||[]};return m&&(H.backgroundDisplaySet=Q),f&&(H.foregroundDisplaySets=T),h&&(H.overlayDisplaySets=E),w&&(H.potentialOverlayDisplaySets=O),B&&(H.potentialForegroundDisplaySets=M),y&&(H.potentialBackgroundDisplaySets=x),H}},154(e,A,t){"use strict";t.d(A,{A:()=>p,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:p,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)(),S=n.useRef(),[E,I]=(0,n.useState)(()=>e?p.getCornerstoneViewport(e)??null:null),[U,b]=(0,n.useState)((0,s.Ov)(E)),[F,Q]=(0,n.useState)(),[T,D]=(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?p.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]),W=(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=p.getCornerstoneViewport(e);if(I(A??null),A)return;let{unsubscribe:t}=p.subscribe(p.EVENTS.VIEWPORT_DATA_CHANGED,({viewportId:A})=>{if(A!==e)return;let t=p.getCornerstoneViewport(e);t&&I(t)});return()=>{t()}},[e,p]),(0,n.useEffect)(()=>{if(!V)return;let e=N.getDisplaySetByUID(V);if(!e?.imageIds?.length||!E||!(0,s.rX)(E))return;let A=E.getAllVolumeIds().find(e=>e.includes(V));if(!A)return;let t=E.getImageData(A);if(!t)return;let{voxelManager:n}=t.imageData.get("voxelManager"),r=n.getRange();H({min:r[0],max:r[1]})},[V,N,E]);let Y=(0,n.useMemo)(()=>{if(!V||0===W.length)return[];let e=W.find(e=>e.displaySetInstanceUID===V);return e?e.presets:[]},[W,V]);(0,n.useEffect)(()=>{if(b((0,s.Ov)(E)),E&&V)try{let e=(0,a.V)(E,V),A=null!=e?E.getProperties(e):E.getProperties();if(!A)return;if(A.voiRange&&(C(A.voiRange),S.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),D(u(t))}A.colormap?.threshold!==void 0&&M(A.colormap.threshold)}catch(e){console.error("Error initializing VOI range:",e)}},[V,E]),(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||!E?.element)return;let e=E.element,A=e=>{let{range:A}=e.detail;!A||S.current&&g(S.current,A)||(S.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),D(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,E,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};S.current&&g(S.current,o)||(S.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&&(!S.current||!g(S.current,A))){S.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,E,e]),Z=(0,n.useCallback)(e=>{if(!E||!(0,s.rX)(E))return;Q(e),D(u(e));let A=z(),t=E.getAllVolumeIds().find(e=>e.includes(A));if(!t)return;let n={...E.getProperties(t).colormap||{},opacity:e};E.setProperties({colormap:n},t),E.render()},[z,u,E]),ee=(0,n.useCallback)(e=>{Z(c(e))},[c,Z]),eA=(0,n.useCallback)(e=>{if(!E||!(0,s.rX)(E))return;M(e);let A=z(),t=E.getAllVolumeIds().find(e=>e.includes(A));t&&(console.debug("\uD83D\uDE80 ~ thresholdValue:",e),E.setProperties({colormap:{threshold:e}},t),E.render())},[z,E]),et=(0,n.useMemo)(()=>{if(!V||!L?.length)return null;try{if(!E)return null;if((0,s.TF)(E)){let{colormap:e}=E.getProperties();if(!e)return k?.colormaps?.find(e=>"Grayscale"===e.Name)||k?.colormaps?.[0];return e}let e=E.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}=E.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,E]),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:T,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:Y,allWindowLevelPresets:W,volumeRenderingPresets:P,volumeRenderingQualityRange:G}}let p=d;function g(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:p}=r.services,[g,m]=(0,n.useState)({segmentationsWithRepresentations:[],disabled:!1});return(0,n.useEffect)(()=>{let n=()=>{let A=u.getDisplaySetsUIDsForViewport(e);if(!A?.length)return;let t=p.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,p,t,A,e]),g}},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({},p),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 p={$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)}},g=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=g.update.isEquals,A.extend=g.extend,A.default=g.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]",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]",U="[object Uint8Array]",b="[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[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 W(e){var A=-1,t=Array(e.size);return e.forEach(function(e){t[++A]=e}),t}var Y=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=Y.splice,el=Object.getOwnPropertySymbols,ec=et?et.isBuffer:void 0,eu=j(Object.keys,Object),ed=ex(L,"DataView"),ep=ex(L,"Map"),eg=ex(L,"Promise"),em=ex(L,"Set"),ef=ex(L,"WeakMap"),eh=ex(Object,"create"),ew=eV(ed),eB=eV(ep),ey=eV(eg),ev=eV(em),eC=eV(ef),eS=en?en.prototype:void 0,eE=eS?eS.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 eT(e,A){for(var t=e.length;t--;)if(eR(e[t][0],A))return t;return -1}function eD(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:D).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=eT(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=eT(A,e);return t<0?void 0:A[t][1]},eU.prototype.has=function(e){return eT(this.__data__,e)>-1},eU.prototype.set=function(e,A){var t=this.__data__,n=eT(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(ep||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(!ep||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||ep&&eL(new ep)!=c||eg&&eL(eg.resolve())!=p||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 p;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,p,w,D){if(r&&(O=w?r(A,p,w,D):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,Y=V.length;for(R||(R=Array(Y));++j<Y;)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 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 U:case b: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?t(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?t(W(e),!0):W(e),k,new e.constructor);case h:return eE?Object(eE.call(e)):{}}}(A,ee,e,t)}}D||(D=new eF);var ea=D.get(A);if(ea)return ea;if(D.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,D))}),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,p=Math.max,g=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?g(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)?p(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,g;return p(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),g=l&&("object"==d||"function"==d)?s.call(i):"")&&"[object GeneratorFunction]"!=g&&a.call(A,"callee")&&(!c.call(A,"callee")||"[object Arguments]"==s.call(A))||!!(u&&e&&e[u])}var p=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 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 A=null,t=!1,n=e._d&&!isNaN(e._d.getTime());return(n&&(A=p(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(p(A),e):p(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=p(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 S(e){!1===A.suppressDeprecationWarnings&&"u">typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function E(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)}S(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]||(S(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 T(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 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 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 T(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(D);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},W=/\d/,Y=/\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 ep(e){var A=+e,t=0;return 0!==A&&isFinite(A)&&(t=ed(A)),t}G={};var eg={};function em(e,A){var t,n,r=A;for("string"==typeof e&&(e=[e]),s(A)&&(r=function(e,t){t[A]=ep(e)}),n=e.length,t=0;t<n;t++)eg[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?T(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,Y),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):ep(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 ep(e)+(ep(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 eS(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,Y),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]=ep(e)-1}),em(["MMM","MMMM"],function(e,A,t,n){var r=t._locale.monthsParse(e,n,t._strict);null!=r?A[1]=r:p(t).invalidMonth=e});var eE="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=ep(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,eS(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 eT(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 eD(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+eD(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,Y),ec("W",q,es),ec("WW",q,Y),ef(["w","ww","W","WW"],function(e,A,t,n){A[n.substr(0,1)]=ep(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:p(t).invalidWeekday=e}),ef(["d","e","E"],function(e,A,t,n){A[n]=ep(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)+T(this.minutes(),2)}),H("hmmss",0,0,function(){return""+e_.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),H("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),H("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,A,t){var n=ep(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]=ep(e),p(t).bigHour=!0}),em("hmm",function(e,A,t){var n=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n)),p(t).bigHour=!0}),em("hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n,2)),A[5]=ep(e.substr(r)),p(t).bigHour=!0}),em("Hmm",function(e,A,t){var n=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n))}),em("Hmmss",function(e,A,t){var n=e.length-4,r=e.length-2;A[3]=ep(e.substr(0,n)),A[4]=ep(e.substr(n,2)),A[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:eN,meridiemParse:/[ap]\.?m?\.?/i},eY={},ez={};function eJ(e){return e?e.toLowerCase().replace("_","-"):e}function eX(A){var n=null;if(void 0===eY[A]&&e&&e.exports&&A&&A.match("^[^/\\\\]*$"))try{n=eK._abbr,t(3118)("./locale/"+A),eq(n)}catch(e){eY[A]=null}return eY[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 eY[e],null;var t,n=eW;if(A.abbr=e,null!=eY[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=eY[e]._config;else if(null!=A.parentLocale)if(null!=eY[A.parentLocale])n=eY[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 eY[e]=new Q(F(n,A)),ez[e]&&ez[e].forEach(function(e){e$(e.name,e.config)}),eq(e),eY[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===p(e).overflow&&(A=t[1]<0||t[1]>11?1:t[2]<1||t[2]>eS(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,p(e)._overflowDayOfYear&&(A<0||A>2)&&(A=2),p(e)._overflowWeeks&&-1===A&&(A=7),p(e)._overflowWeekday&&-1===A&&(A=8),p(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(p(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,eE.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()&&(p(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=eD.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),p(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,g,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)?p(t)._overflowWeeks=!0:null!=c?p(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)&&(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 An(e){if(e._f===A.ISO_8601)return void e7(e);if(e._f===A.RFC_2822)return void Ae(e);e._a=[],p(e).empty=!0;var t,n,r,i,a,s,l,c,u,d,g,m=""+e._i,f=m.length,h=0;for(g=(l=N(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,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&&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]=(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=p(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){p(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),g(A)&&(i=!0),o+=p(A).charsLeftOver,o+=10*p(A).unusedTokens.length,p(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),g(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=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":""))}),A.ISO_8601=function(){},A.RFC_2822=function(){};var Aa=E("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=E("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]])!==ep(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 Ap(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ag(e,A){H(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+T(~~(e/60),2)+A+T(~~e%60,2)})}Ag("Z",":"),Ag("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])+ep(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:ep(u[2])*i,h:ep(u[3])*i,m:ep(u[4])*i,s:ep(u[5])*i,ms:ep(Ap(1e3*u[6]))*i}):(u=Av.exec(e))?(i="-"===u[1]?-1:1,c={y:AS(u[2],i),M:AS(u[3],i),w:AS(u[4],i),d:AS(u[5],i),h:AS(u[6],i),m:AS(u[7],i),s:AS(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=AE(t,n):((r=AE(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 AS(e,A){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*A}function AE(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=Ap(t._days),a=Ap(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 AT(e,A){if(e.date()<A.date())return-AT(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 AD(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=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 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=eD(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?p(t).era=r:p(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,Y),ec("gg",q,Y),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)]=ep(e)}),ef(["gg","GG"],function(e,t,n,r){t[r]=A.parseTwoDigitYear(e)}),H("Q",0,"Qo","quarter"),ec("Q",W),em("Q",function(e,A){A[1]=(ep(e)-1)*3}),H("D",["DD",2],"Do","date"),ec("D",q,es),ec("DD",q,Y),ec("Do",function(e,A){return e?A._dayOfMonthOrdinalParse||A._ordinalParse:A._dayOfMonthOrdinalParseLenient}),em(["D","DD"],2),em("Do",function(e,A){A[2]=ep(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=ep(e)}),H("m",["mm",2],0,"minute"),ec("m",q,el),ec("mm",q,Y),em(["m","mm"],4);var AP=ey("Minutes",!1);H("s",["ss",2],0,"second"),ec("s",q,el),ec("ss",q,Y),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,W),ec("SS",ee,Y),ec("SSS",ee,z),f="SSSS";f.length<=9;f+="S")ec(f,en);function AK(e,A){A[6]=ep(("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 AW(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 p=e||Ai(),g=Ah(p,this).startOf("day"),m=A.calendarFormat(this,g)||"sameElse",f=t&&(b(t[m])?t[m].call(this,p):t[m]);return this.format(f||this.localeData().calendar(m,this,Ai(p)))},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=AT(this,n)/12;break;case"month":o=AT(this,n);break;case"quarter":o=AT(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 p(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 g(this)},Aj.lang=AO,Aj.locale=AD,Aj.localeData=AM,Aj.max=As,Aj.min=Aa,Aj.parsingFlags=function(){return u({},p(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 eS(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=E("dates accessor is deprecated. Use date instead.",Ak),Aj.months=E("months accessor is deprecated. Use month instead",eF),Aj.years=E("years accessor is deprecated. Use year instead",eB),Aj.zone=E("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=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,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++)ep(e[t])!==ep(A[t])&&o++;return o+r}(A._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted});var AY=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}AY.calendar=function(e,A,t){var n=this._calendar[e]||this._calendar.sameElse;return b(n)?n.call(A,t):n},AY.longDateFormat=function(e){var A=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return A||!t?A:(this._longDateFormat[e]=t.match(D).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},AY.invalidDate=function(){return this._invalidDate},AY.ordinal=function(e){return this._ordinal.replace("%d",e)},AY.preparse=AW,AY.postformat=AW,AY.relativeTime=function(e,A,t,n){var r=this._relativeTime[t];return b(r)?r(e,A,t,n):r.replace(/%d/i,e)},AY.pastFuture=function(e,A){var t=this._relativeTime[e>0?"future":"past"];return b(t)?t(A):t.replace(/%s/i,A)},AY.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)},AY.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},AY.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]},AY.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},AY.erasAbbrRegex=function(e){return o(this,"_erasAbbrRegex")||AN.call(this),e?this._erasAbbrRegex:this._erasRegex},AY.erasNameRegex=function(e){return o(this,"_erasNameRegex")||AN.call(this),e?this._erasNameRegex:this._erasRegex},AY.erasNarrowRegex=function(e){return o(this,"_erasNarrowRegex")||AN.call(this),e?this._erasNarrowRegex:this._erasRegex},AY.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},AY.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},AY.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}},AY.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)},AY.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)},AY.week=function(e){return ex(e,this._week.dow,this._week.doy).week},AY.firstDayOfYear=function(){return this._week.doy},AY.firstDayOfWeek=function(){return this._week.dow},AY.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},AY.weekdaysMin=function(e){return!0===e?eL(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},AY.weekdaysShort=function(e){return!0===e?eL(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},AY.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}},AY.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)},AY.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)},AY.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)},AY.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},AY.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===ep(e%100/10)?"th":1===A?"st":2===A?"nd":3===A?"rd":"th";return e+t}}),A.lang=E("moment.lang is deprecated. Use moment.locale instead.",eq),A.langData=E("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 tp=Math.abs;function tg(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=tp(this._milliseconds)/1e3,l=tp(this._days),c=tp(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=tg(this._months)!==tg(u)?"-":"",i=tg(this._days)!==tg(u)?"-":"",a=tg(this._milliseconds)!==tg(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,p,g,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)),p=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]=p,g=td.apply(null,d),m&&(g=p.pastFuture(+this,g)),p.postformat(g)},tf.toISOString=tm,tf.toString=tm,tf.toJSON=tm,tf.locale=AD,tf.localeData=AM,tf.toIsoString=E("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(ep(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=eW;null!=eY[e]&&null!=eY[e].parentLocale?eY[e].set(F(eY[e]._config,A)):(null!=(n=eX(e))&&(r=n._config),A=F(r,A),null==n&&(A.abbr=e),(t=new Q(A)).parentLocale=eY[e],eY[e]=t),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]},A.locales=function(){return j(eY)},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"),p=Symbol.iterator,g={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||g}function w(){}function B(e,A,t){this.props=e,this.context=A,this.refs=f,this.updater=t||g}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,S={current:null},E={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)&&!E.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:S.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 g=0;g<A.length;g++){var m=i+F(u=A[g],g);d+=e(u,r,o,m,a)}else if("function"==typeof(m=null===(c=A)||"object"!=typeof c?null:"function"==typeof(c=p&&c[p]||c["@@iterator"])?c:null))for(A=m.call(A),g=0;!(u=A.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(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 T(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 D={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:D,ReactCurrentBatchConfig:O,ReactCurrentOwner:S},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=S.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)&&!E.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:T}},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 D.current.useCallback(e,A)},A.useContext=function(e){return D.current.useContext(e)},A.useDebugValue=function(){},A.useDeferredValue=function(e){return D.current.useDeferredValue(e)},A.useEffect=function(e,A){return D.current.useEffect(e,A)},A.useId=function(){return D.current.useId()},A.useImperativeHandle=function(e,A,t){return D.current.useImperativeHandle(e,A,t)},A.useInsertionEffect=function(e,A){return D.current.useInsertionEffect(e,A)},A.useLayoutEffect=function(e,A){return D.current.useLayoutEffect(e,A)},A.useMemo=function(e,A){return D.current.useMemo(e,A)},A.useReducer=function(e,A,t){return D.current.useReducer(e,A,t)},A.useRef=function(e){return D.current.useRef(e)},A.useState=function(e){return D.current.useState(e)},A.useSyncExternalStore=function(e,A,t){return D.current.useSyncExternalStore(e,A,t)},A.useTransition=function(){return D.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 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 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=p},[p]),c(p),p}},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=U},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=b},1016(e){"use strict";e.exports=o},8842(e){"use strict";e.exports=v},7141(A){"use strict";A.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 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:p,...g}=((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==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 A=m;m=!1,t(...e),m=A},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,A])=>[e,e===g.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 p.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(`
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==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: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==p||p.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)}}},T={};function D(e){var A=T[e];if(void 0!==A)return A.exports;var t=T[e]={exports:{}};return Q[e].call(t.exports,t,t.exports,D),t.exports}D.n=e=>{var A=e&&e.__esModule?()=>e.default:()=>e;return D.d(A,{a:A}),A},D.d=(e,A)=>{for(var t in A)D.o(A,t)&&!D.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},D.u=e=>"dist/"+e+".ohif-extension-cornerstone.umd.js",D.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),D.o=(e,A)=>Object.prototype.hasOwnProperty.call(e,A),D.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},D.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),b=[],D.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(D.O).every(e=>D.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},D.F={},D.E=e=>{Object.keys(D.F).map(A=>{D.F[A](e)})},D.p="/",D.b=document.baseURI||self.location.href,F={509:0},D.F.j=e=>{if(!D.o(F,e)||void 0===F[e]){F[e]=null;var A=document.createElement("link");D.nc&&A.setAttribute("nonce",D.nc),A.rel="prefetch",A.as="script",A.href=D.p+D.u(e),document.head.appendChild(A)}},D.O.j=e=>0===F[e],D.O(0,[509],()=>{[509].map(D.E)},5);var O={};return(()=>{"use strict";D.r(O),D.d(O,{AccordionGroup:()=>dE,CloneChildren:()=>dC,Colorbar:()=>cB,Colormap:()=>cw,CornerstoneViewportDownloadForm:()=>lU,DYNAMIC_VOLUME_LOADER_SCHEME:()=>us,DicomUpload:()=>nn,Enums:()=>V,ImageOverlayViewerTool:()=>ea,MeasumentsMenu:()=>d0,MeasurementOrAdditionalFindingSets:()=>dM,MeasurementsOrAdditionalFindings:()=>dH,OHIFCornerstoneViewport:()=>pt,PanelMeasurement:()=>dG,PanelSegmentation:()=>ds,PlanarFreehandROI:()=>eI,RectangleROI:()=>eU,SeriesMeasurementTrigger:()=>d8,SeriesMeasurements:()=>d5,StudyMeasurements:()=>dP,StudyMeasurementsActions:()=>dV,StudySummaryFromMetadata:()=>dN,Types:()=>T,VOLUME_LOADER_SCHEME:()=>ua,VolumeLighting:()=>cI,VolumeRenderingOptions:()=>cb,VolumeRenderingPresets:()=>cC,VolumeRenderingQuality:()=>cS,VolumeShade:()=>cU,VolumeShift:()=>cE,WindowLevel:()=>cy,WindowLevelActionMenu:()=>cF,WindowLevelActionMenuContent:()=>cQ,WindowLevelActionMenuWrapper:()=>cD,default:()=>po,dicomLoaderService:()=>u0,findNearbyToolData:()=>e3,getActiveViewportEnabledElement:()=>$,getEnabledElement:()=>X.kJ,getSOPInstanceAttributes:()=>eu,groupByDisplaySet:()=>d9,groupByNamedSets:()=>dx,groupByStudy:()=>dk,measurementMappingUtils:()=>Q,setEnabledElement:()=>X.ye,toolNames:()=>es,useActiveViewportSegmentationRepresentations:()=>dn.c,useLutPresentationStore:()=>At.I,useMeasurementTracking:()=>cG.R,useMeasurements:()=>dr.d,usePositionPresentationStore:()=>An.q,useSegmentationPresentationStore:()=>Ar.v,useSegmentations:()=>dK.j,useSelectedSegmentationsForViewportStore:()=>nf,useSynchronizersStore:()=>ng.U,utils:()=>dJ});var e,A,t,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F={};D.r(F),D.d(F,{rM:()=>L,yK:()=>N,Ay:()=>V});var Q={};D.r(Q),D.d(Q,{getDisplayUnit:()=>eh,getFirstAnnotationSelected:()=>ef,getHandlesFromPoints:()=>ep,getSOPInstanceAttributes:()=>eu,isAnnotationSelected:()=>eg,setAnnotationSelected:()=>em});var T={};D.r(T);var M=D(6326),x=D(6557),H=D(4713);let L="Cornerstone3DTools",N="0.1",V={CORNERSTONE_3D_TOOLS_SOURCE_NAME:L,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:N};var R=D(1002),_=D.n(R),k=D(8082),P=D(642),G=D.n(P),K=D(2302),j=D.n(K);let{registerVolumeLoader:W}=x.volumeLoader;var Y=D(7268),z=D(6023),J=D(7438),X=D(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=D(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=D(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]),p=n.worldToCanvas(d),g=`image-overlay-${o}`,m=A.getSvgNode(g),f={"data-id":g,width:p[0]-u[0],height:p[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(g);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");H.drawing.setNewAttributesIfValid(f,e),A.appendNode(e,g)}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,PlanarRotate:H.PlanarRotateTool.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:Y.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:Y.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=D(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 ep(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 eg(e){return H.annotation.selection.isAnnotationSelected(e)}function em(e,A){eg(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=>{},eS=e=>{},eE=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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(p,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: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,A),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,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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: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: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,A,t;let n,r;return e=y,A=w,t=g,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=>{},eT=e=>{},eD=e=>{},eO=e=>{};var eM=D(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=D(9863),eP=D.n(ek),eG=D(5257),eK=D.n(eG),ej=D(6446),eW=D.n(ej);let eY=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(!eY.has(e)){let{metadata:t}=A;eY.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(eY.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()(eW()(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)}),eY.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()(eW()(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=D(6404),At=D(6360),An=D(3500),Ar=D(619),Ao=D(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,Y.LabelmapSlicePropagationTool.isAnnotation=!1,Y.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.PlanarRotateTool),(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)(Y.LabelmapSlicePropagationTool),(0,H.addTool)(Y.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:p,viewportGridService:g,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,p);let{getPresentationId:y}=At.I.getState(),{getPresentationId:v}=Ar.v.getState(),{getPresentationId:C}=An.q.getState();g.addPresentationIdProvider("positionPresentationId",C),g.addPresentationIdProvider("lutPresentationId",y),g.addPresentationIdProvider("segmentationPresentationId",v),m.setStyle({type:AA.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let S=_().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])=>{p.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},W("cornerstoneStreamingImageVolume",k.cornerstoneStreamingImageVolumeLoader),W("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(S.get.bind(S),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:p,SplineROI:g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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,A,t;let n,r;return e=y,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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:p}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:p,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 p=t?` I: ${t}`:"",g=A.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eh(i)}`),n.primary.push(`W: ${u} ${eh(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,A,t;let n,r;return e=y,A=w,t=g,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: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.debug("SegmentBidirectional tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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:p}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:p,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 p=t?` I: ${t}`:"",g=A.isMultiFrame?` F: ${l}`:"";return n.primary.push(`L: ${c} ${eh(i)}`),n.primary.push(`W: ${u} ${eh(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,A,t;let n,r;return e=y,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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,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: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,A,t;let n,r;return e=y,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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,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: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,A,t;let n,r;return e=y,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(p,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: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,A),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,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error(`Tool ${d} not supported`);let{SOPInstanceUID:m,SeriesInstanceUID:f,frameNumber:h,StudyInstanceUID:w}=eu(p,A,i);return o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.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,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}`:"",p=A.isMultiFrame?` F: ${c}`:"",{SeriesNumber:g}=A,m=null;if(void 0!==g&&(m=`S: ${g}${d}${p}`),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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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,A,t;let n,r;return e=y,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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: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,A,t;let n,r;return e=B,A=w,t=g,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: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("Cobb Angle tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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:"\xb0",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: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,A,t;let n,r;return e=y,A=w,t=g,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: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("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p,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:"\xb0",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: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,A,t;let n,r;return e=y,A=w,t=g,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:p}})(e,A,0,r,n),matchingCriteria:[{valueType:R.MeasurementService.VALUE_TYPES.ANGLE}]},UltrasoundDirectional:{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.warn("Length tool: Missing metadata or data"),null;let{toolName:d,referencedImageId:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p);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:p,isHorizontal:g}=t;i.push({SeriesInstanceUID:a,SOPInstanceUID:n,SeriesNumber:l,frameNumber:s,xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g})}),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}`:"",p=A.isMultiFrame?` F: ${c}`:"",g=`S: ${s}${d}${p}`;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(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,A,t;let n,r;return e=B,A=w,t=g,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:p,FrameOfReferenceUID:g}=a;if(!el.includes(d))throw Error("Tool not supported");let{SOPInstanceUID:m,SeriesInstanceUID:f,StudyInstanceUID:h}=eu(p);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: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,A,t;let n,r;return e=B,A=w,t=g,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",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: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(),p={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(p),A.run("triggerCreateAnnotationMemo",{annotation:p,FrameOfReferenceUID:p.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:t})=>{if(e?.name&&e.name!==ex)return;A.run("cancelMeasurement");let n=H.annotation.state.getAnnotation(t);eL(t),n&&A.run("triggerCreateAnnotationMemo",{annotation:n,FrameOfReferenceUID:n.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===p&&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),p=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:`${p}`}).then(A=>{var t;t=Number.parseFloat(A),Z(u,d.getRenderingEngine(),{type:"User",scale:1/(t/p)}),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,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 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})}),p.subscribe(p.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 E=({detail:e})=>{R.errorHandler.getHTTPErrorHandler()(e.error)};x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,E),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_ERROR,E),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=D(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 Ap(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+""}D(9741),Object.create(null);var Ag=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Am={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"\xa9","&#169;":"\xa9","&reg;":"\xae","&#174;":"\xae","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},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(Ag,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,Ap(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 AS(){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 AE=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,AE(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,AE(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=Ap(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 AT(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){AS("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&&AS("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,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,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}}):(AS("i18n.languages were undefined or empty",A.languages),!0)}(e,a,c)});function m(){return a.getFixedT(t.lng||null,"fallback"===c.nsMode?p:p[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=p.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,g||u||(t.lng?AU(a,t.lng,p,function(){v.current&&w(m)}):AI(a,p,function(){v.current&&w(m)})),g&&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 S=(0,M.useRef)(!0);(0,M.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){t.lng?AU(a,t.lng,p,function(){return e()}):AI(a,p,function(){return e()})})}var AD=D(1459);let AO=({segmentationId:e,segmentationRepresentationType:A,allowExport:t,actions:n})=>{let{t:r}=AT("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,AD.useSystem)(),{t:n}=AT("SegmentationPanel"),{onSegmentationAdd:r,onSegmentationRemoveFromViewport:o,onSegmentationEdit:i,onSegmentationDelete:a,exportOptions:s,activeSegmentation:l,activeSegmentationId:c,segmentationRepresentationTypes:u,disableEditing:d}=(0,Au.useSegmentationTableContext)("CustomDropdownMenu"),p=!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);p=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:p,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,AD.useSystem)(),{segmentationService:r}=t.services,{t:o}=AT("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),p=Math.min(c,u),g=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)(p)," ",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,!g),r.addOrUpdateSegmentation({segmentationId:e,segmentIndex:A})}},g?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}=AT("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}}}},AW={"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 AY(e){return(AY="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 Az(e){var A=function(e,A){if("object"!=AY(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=AY(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==AY(A)?A:A+""}function AJ(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=Az(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function AX(e,A){if(!(e instanceof A))throw TypeError("Cannot call a class as a function")}function Aq(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,Az(n.key),n)}}function A$(e,A,t){return A&&Aq(e.prototype,A),t&&Aq(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function AZ(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function A0(e,A){if(A&&("object"==AY(A)||"function"==typeof A))return A;if(void 0!==A)throw TypeError("Derived constructors may only return object or undefined");return AZ(e)}function A1(e){return(A1=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A3(e,A){return(A3=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,A){return e.__proto__=A,e})(e,A)}function A4(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&&A3(e,A)}function A2(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 A6(e,A){if(e){if("string"==typeof e)return A2(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)?A2(e,A):void 0}}function A9(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)||A6(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 A8={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 A2(e)}(A)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(A)||A6(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.")}())}},A5=new(function(){function e(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};AX(this,e),this.init(A,t)}return A$(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||A8,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,AJ({},{prefix:"".concat(this.prefix,":").concat(A,":")},this.options))}}]),e}()),A7=function(){function e(){AX(this,e),this.observers={}}return A$(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 te(){var e,A,t=new Promise(function(t,n){e=t,A=n});return t.resolve=e,t.reject=A,t}function tA(e){return null==e?"":""+e}function tt(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 tn(e,A,t){var n=tt(e,A,Object);n.obj[n.k]=t}function tr(e,A){var t=tt(e,A),n=t.obj,r=t.k;if(n)return n[r]}function to(e,A,t){var n=tr(e,t);return void 0!==n?n:tr(A,t)}function ti(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ta={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function ts(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return ta[e]}):e}var tl=function(e){function A(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return AX(this,A),t=A0(this,A1(A).call(this)),A7.call(AZ(t)),t.data=e||{},t.options=n,void 0===t.options.keySeparator&&(t.options.keySeparator="."),t}return A4(A,e),A$(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(".")),tr(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),tn(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=tr(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=AJ({},a,t),tn(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)?AJ({},{},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}(A7),tc={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}},tu=function(e){function A(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return AX(this,A),r=A0(this,A1(A).call(this)),A7.call(AZ(r)),t=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=AZ(r),t.forEach(function(A){e[A]&&(n[A]=e[A])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=A5.create("translator"),r}return A4(A,e),A$(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"!==AY(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,p=c&&c.exactUsedKey||o,g=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(g)&&("string"!=typeof m||"[object Array]"!==g)){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]"===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,AJ({},A,{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,A));else{var S=!1,E=!1;if(!this.isValidLookup(u)&&void 0!==A.defaultValue){if(S=!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)||(E=!0,u=o);var U=A.defaultValue&&A.defaultValue!==u&&this.options.updateMissing;if(E||S||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 T=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 D=void 0!==A.count&&"string"!=typeof A.count;this.options.saveMissingPlurals&&D?b.forEach(function(e){t.pluralResolver.getPluralFormsOfKey(e,o).forEach(function(A){return T([e],A)})}):T(b,o)}}u=this.extendTranslation(u,e,A,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,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(AJ({},t,{interpolation:AJ({},this.options.interpolation,t.interpolation)}));var o=t.replace&&"string"!=typeof t.replace?t.replace:t;this.options.interpolation.defaultVariables&&(o=AJ({},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=tc.handle(a,e,A,this.options&&this.options.postProcessPassResolved?AJ({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,p=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!!!"),p.forEach(function(t){if(!i.isValidLookup(A)){r=t;var o,s,c=l,p=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(p,l,t,e,a):(u&&(o=i.pluralResolver.getSuffix(t,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(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}(A7);function td(e){return e.charAt(0).toUpperCase()+e.slice(1)}var tp=function(){function e(A){AX(this,e),this.options=A,this.whitelist=this.options.whitelist||!1,this.logger=A5.create("languageUtils")}return A$(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]=td(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]=td(t[1].toLowerCase())),A.indexOf(t[2].toLowerCase())>-1&&(t[2]=td(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}(),tg=[{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}],tm={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)}},tf=function(){function e(A){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};AX(this,e),this.languageUtils=A,this.options=n,this.logger=A5.create("pluralResolver"),this.rules=(t={},tg.forEach(function(e){e.lngs.forEach(function(A){t[A]={numbers:e.nr,plurals:tm[e.fc]}})}),t)}return A$(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}(),th=function(){function e(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};AX(this,e),this.logger=A5.create("interpolator"),this.options=A,this.format=A.interpolation&&A.interpolation.format||function(e){return e},this.init(A)}return A$(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:ts,this.escapeValue=void 0===A.escapeValue||A.escapeValue,this.useRawValueToEscape=void 0!==A.useRawValueToEscape&&A.useRawValueToEscape,this.prefix=A.prefix?ti(A.prefix):A.prefixEscaped||"{{",this.suffix=A.suffix?ti(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?ti(A.nestingPrefix):A.nestingPrefixEscaped||ti("$t("),this.nestingSuffix=A.nestingSuffix?ti(A.nestingSuffix):A.nestingSuffixEscaped||ti(")"),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 to(A,s,e);var n=e.split(a.formatSeparator),r=n.shift().trim(),o=n.join(a.formatSeparator).trim();return a.format(to(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=tA(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=tA(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=AJ({},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=AJ({},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=tA(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}(),tw=function(e){function A(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return AX(this,A),r=A0(this,A1(A).call(this)),A7.call(AZ(r)),r.backend=e,r.store=t,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=A5.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return A4(A,e),A$(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=A9(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=tt(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=A9(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,AJ({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],A,t,n))}}]),A}(A7);function tB(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 ty(){}var tv=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(AX(this,A),e=A0(this,A1(A).call(this)),A7.call(AZ(e)),e.options=tB(t),e.services={},e.logger=A5,e.modules={external:[]},n&&!e.isInitialized&&!t.isClone){if(!e.options.initImmediate)return e.init(t,n),A0(e,AZ(e));setTimeout(function(){e.init(t,n)},0)}return e}return A4(A,e),A$(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=AJ({},{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"===AY(e[1])&&(A=e[1]),"string"==typeof e[1]&&(A.defaultValue=e[1]),"string"==typeof e[2]&&(A.tDescription=e[2]),"object"===AY(e[2])||"object"===AY(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,tB(A)),this.format=this.options.interpolation.format,t||(t=ty),!this.options.isClone){this.modules.logger?A5.init(n(this.modules.logger),this.options):A5.init(null,this.options);var r=new tp(this.options);this.store=new tl(this.options.resources,this.options);var o=this.services;o.logger=A5,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new tf(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new th(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new tw(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 tu(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=te(),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]:ty;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=te();return e||(e=this.languages),A||(A=this.options.ns),t||(t=ty),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&&tc.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,A){var t=this,n=te();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"!==AY(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=AJ({},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=te();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=te();"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]:ty,r=AJ({},this.options,t,{isClone:!0}),o=new A(r);return["store","services","language"].forEach(function(A){o[A]=e[A]}),o.translator=new tu(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}(A7));let{TOOLBAR_SECTIONS:tC}=R.ToolbarService,tS=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],tE={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},tI={"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:tv.t("Buttons:Status"),tooltip:tv.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:tv.t("Buttons:Navigation"),tooltip:tv.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:tv.t("Buttons:Tracking Status"),tooltip:tv.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:tv.t("Buttons:Data Overlay"),tooltip:tv.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:tv.t("Buttons:Orientation"),tooltip:tv.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:tv.t("Buttons:Window Level"),tooltip:tv.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:tv.t("Buttons:Window Level"),tooltip:tv.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenu"}}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:tv.t("Buttons:Advanced Window Level"),tooltip:tv.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:tv.t("Buttons:Threshold"),tooltip:tv.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:tv.t("Buttons:Opacity"),tooltip:tv.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:tv.t("Buttons:Colorbar")}},{id:"Reset",uiType:"ohif.toolButton",props:{icon:"tool-reset",label:tv.t("Buttons:Reset View"),tooltip:tv.t("Buttons:Reset View"),commands:"resetViewport",evaluate:"evaluate.action"}},{id:"rotate-right",uiType:"ohif.toolButton",props:{icon:"tool-rotate-right",label:tv.t("Buttons:Rotate Right"),tooltip:tv.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:tv.t("Buttons:Flip Horizontal"),tooltip:tv.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:tv.t("Buttons:Image Slice Sync"),tooltip:tv.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:tv.t("Buttons:Reference Lines"),tooltip:tv.t("Buttons:Show Reference Lines"),commands:"toggleEnabledDisabledToolbar",listeners:{[R.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:tS("ReferenceLines"),[R.ViewportGridService.EVENTS.VIEWPORTS_READY]:tS("ReferenceLines")},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"ImageOverlayViewer",uiType:"ohif.toolButton",props:{icon:"toggle-dicom-overlay",label:tv.t("Buttons:Image Overlay"),tooltip:tv.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:tv.t("Buttons:Stack Scroll"),tooltip:tv.t("Buttons:Stack Scroll"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"invert",uiType:"ohif.toolButton",props:{icon:"tool-invert",label:tv.t("Buttons:Invert"),tooltip:tv.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:tv.t("Buttons:Probe"),tooltip:tv.t("Buttons:Probe"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"Cine",uiType:"ohif.toolButton",props:{icon:"tool-cine",label:tv.t("Buttons:Cine"),tooltip:tv.t("Buttons:Cine"),commands:"toggleCine",evaluate:["evaluate.cine",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["volume3d"]}]}},{id:"Angle",uiType:"ohif.toolButton",props:{icon:"tool-angle",label:tv.t("Buttons:Angle"),tooltip:tv.t("Buttons:Angle"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"CobbAngle",uiType:"ohif.toolButton",props:{icon:"icon-tool-cobb-angle",label:tv.t("Buttons:Cobb Angle"),tooltip:tv.t("Buttons:Cobb Angle"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"Magnify",uiType:"ohif.toolButton",props:{icon:"tool-magnify",label:tv.t("Buttons:Zoom-in"),tooltip:tv.t("Buttons:Zoom-in"),commands:tE,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"CalibrationLine",uiType:"ohif.toolButton",props:{icon:"tool-calibration",label:tv.t("Buttons:Calibration"),tooltip:tv.t("Buttons:Calibration Line"),commands:tE,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"TagBrowser",uiType:"ohif.toolButton",props:{icon:"dicom-tag-browser",label:tv.t("Buttons:Dicom Tag Browser"),tooltip:tv.t("Buttons:Dicom Tag Browser"),commands:"openDICOMTagViewer"}},{id:"AdvancedMagnify",uiType:"ohif.toolButton",props:{icon:"icon-tool-loupe",label:tv.t("Buttons:Magnify Probe"),tooltip:tv.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:tv.t("Buttons:Ultrasound Directional"),tooltip:tv.t("Buttons:Ultrasound Directional"),commands:tE,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.modality.supported",supportedModalities:["US"]}]}},{id:"WindowLevelRegion",uiType:"ohif.toolButton",props:{icon:"icon-tool-window-region",label:tv.t("Buttons:Window Level Region"),tooltip:tv.t("Buttons:Window Level Region"),commands:tE,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:tv.t("Buttons:Length"),tooltip:tv.t("Buttons:Length Tool"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:tv.t("Buttons:Bidirectional"),tooltip:tv.t("Buttons:Bidirectional Tool"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:tv.t("Buttons:Annotation"),tooltip:tv.t("Buttons:Arrow Annotate"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:tv.t("Buttons:Ellipse"),tooltip:tv.t("Buttons:Ellipse ROI"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROI",uiType:"ohif.toolButton",props:{icon:"tool-rectangle",label:tv.t("Buttons:Rectangle"),tooltip:tv.t("Buttons:Rectangle ROI"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"CircleROI",uiType:"ohif.toolButton",props:{icon:"tool-circle",label:tv.t("Buttons:Circle"),tooltip:tv.t("Buttons:Circle Tool"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"PlanarFreehandROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-freehand-roi",label:tv.t("Buttons:Freehand ROI"),tooltip:tv.t("Buttons:Freehand ROI"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"SplineROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-spline-roi",label:tv.t("Buttons:Spline ROI"),tooltip:tv.t("Buttons:Spline ROI"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"LivewireContour",uiType:"ohif.toolButton",props:{icon:"icon-tool-livewire",label:tv.t("Buttons:Livewire tool"),tooltip:tv.t("Buttons:Livewire tool"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:tv.t("Buttons:Window Level"),commands:tE,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["wholeSlide"]}]}},{id:"Pan",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-move",label:tv.t("Buttons:Pan"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-zoom",label:tv.t("Buttons:Zoom"),commands:tE,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-3d-rotate",label:tv.t("Buttons:3D Rotate"),commands:tE,evaluate:{name:"evaluate.cornerstoneTool",disabledText:tv.t("Buttons:Select a 3D viewport to enable this tool")}}},{id:"Capture",uiType:"ohif.toolButton",props:{icon:"tool-capture",label:tv.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:tv.t("Buttons:Crosshairs"),tooltip:tv.t("Buttons:Click to toggle on or off"),commands:{commandName:"toggleActiveDisabledToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool.toggleWithModifier",disabledText:tv.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:tv.t("Buttons:Segment Label Display"),tooltip:tv.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":{[tC.primary]:["MeasurementTools","Zoom","Pan","TrackballRotate","WindowLevel","Capture","Layout","Crosshairs","MoreTools"],[tC.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[tC.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[tC.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[tC.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"]}};var tU=D(7598),tb=D.n(tU);function tF(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 tQ(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 tT=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 tD(e,A){var t=function(e){var A=e.name;if(A&&-1!==A.lastIndexOf(".")&&!e.type){var t=A.split(".").pop().toLowerCase(),n=tT.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 tO=[".DS_Store","Thumbs.db"];function tM(e){return tF(this,void 0,void 0,function(){return tQ(this,function(A){var t;return[2,e.dataTransfer&&e.dataTransfer?function(e,A){return tF(this,void 0,void 0,function(){var t;return tQ(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(t=tH(e.items).filter(function(e){return"file"===e.kind}),"drop"!==A)return[2,t];return[4,Promise.all(t.map(tL))];case 1:return[2,tx(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,tx(tH(e.files).map(function(e){return tD(e)}))]}})})}(e.dataTransfer,e.type):(null!==(t=e).target&&t.target.files?tH(t.target.files):[]).map(function(e){return tD(e)})]})})}function tx(e){return e.filter(function(e){return -1===tO.indexOf(e.name)})}function tH(e){for(var A=[],t=0;t<e.length;t++){var n=e[t];A.push(n)}return A}function tL(e){if("function"!=typeof e.webkitGetAsEntry)return tN(e);var A=e.webkitGetAsEntry();return A&&A.isDirectory?tR(A):tN(e)}function tN(e){var A=e.getAsFile();return A?Promise.resolve(tD(A)):Promise.reject(e+" is not a File")}function tV(e){return tF(this,void 0,void 0,function(){return tQ(this,function(A){return[2,e.isDirectory?tR(e):function(e){return tF(this,void 0,void 0,function(){return tQ(this,function(A){return[2,new Promise(function(A,t){e.file(function(t){A(tD(t,e.fullPath))},function(e){t(e)})})]})})}(e)]})})}function tR(e){var A=e.createReader();return new Promise(function(e,t){var n=[];!function r(){var o=this;A.readEntries(function(A){return tF(o,void 0,void 0,function(){var o;return tQ(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(tV)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){t(e)})}()})}var t_=D(6309);function tk(e,A){return"application/x-moz-file"===e.type||(0,t_.A)(e,A)}function tP(e,A,t){if(tG(e.size)){if(tG(A)&&tG(t))return e.size>=A&&e.size<=t;else if(tG(A))return e.size>=A;else if(tG(t))return e.size<=t}return!0}function tG(e){return null!=e}function tK(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function tj(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 tW(e){e.preventDefault()}function tY(){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!tK(e)&&A&&A.apply(void 0,[e].concat(n)),tK(e)})}}function tz(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 tJ(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 tX(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?tJ(t,!0).forEach(function(A){tq(e,A,t[A])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):tJ(t).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}function tq(e,A,t){return A in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}function t$(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 tZ=(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?tM: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,U=void 0===I||I,b=i.noClick,F=void 0!==b&&b,Q=i.noKeyboard,T=void 0!==Q&&Q,D=i.noDrag,O=void 0!==D&&D,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)(t1,t0))||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 E&&E()))},300)};(0,M.useEffect)(function(){return window.addEventListener("focus",j,!1),function(){window.removeEventListener("focus",j,!1)}},[N,P,E]);var W=(0,M.useCallback)(function(e){L.current&&L.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),K())},[L,N]),Y=(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",tW,!1),document.addEventListener("drop",q,!1)),function(){U&&(document.removeEventListener("dragover",tW),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(tz(X.current),[e.target])),tj(e)&&Promise.resolve(u(e)).then(function(A){(!tK(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 tj(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:[]}),tj(e)&&B&&B(e))},[L,B,H]),eA=(0,M.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),X.current=[],tj(e)&&Promise.resolve(u(e)).then(function(A){if(!tK(e)||H){var t=[],n=[];A.forEach(function(e){tk(e,a)&&tP(e,m,p)?t.push(e):n.push(e)}),!h&&t.length>1&&n.push.apply(n,tz(t.splice(0))),_({acceptedFiles:t,rejectedFiles:n,type:"setFiles"}),v&&v(t,n,e),n.length>0&&S&&S(n,e),t.length>0&&C&&C(t,e)}}),_({type:"reset"})},[h,a,m,p,u,v,C,S,H]),et=function(e){return l?null:e},en=function(e){return T?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=t$(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return tX(tq({onKeyDown:en(tY(t,W)),onFocus:en(tY(n,Y)),onBlur:en(tY(r,z)),onClick:et(tY(o,J)),onDragEnter:er(tY(i,$)),onDragOver:er(tY(a,Z)),onDragLeave:er(tY(s,ee)),onDrop:er(tY(c,eA))},void 0===A?"ref":A,L),l||T?{}:{tabIndex:0},{},u)}},[L,W,Y,z,J,$,Z,ee,eA,T,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=t$(e,["refKey","onChange","onClick"]);return tX({},tq({accept:a,multiple:h,type:"file",style:{display:"none"},onChange:et(tY(t,eA)),onClick:et(tY(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:p,multiple:h}).files,n=A.accept,r=A.minSize,o=A.maxSize,(!!A.multiple||!(t.length>1))&&t.every(function(e){return tk(e,n)&&tP(e,r,o)}));return tX({},R,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:es,rootRef:L,inputRef:N,open:et(K)})}(t$(e,["children"])),r=n.open,o=t$(n,["open"]);return(0,M.useImperativeHandle)(A,function(){return{open:r}},[r]),M.createElement(M.Fragment,null,t(tX({},o,{open:r})))});tZ.displayName="Dropzone",tZ.propTypes={children:tb().func,accept:tb().oneOfType([tb().string,tb().arrayOf(tb().string)]),multiple:tb().bool,preventDropOnDocument:tb().bool,noClick:tb().bool,noKeyboard:tb().bool,noDrag:tb().bool,noDragEventsBubbling:tb().bool,minSize:tb().number,maxSize:tb().number,disabled:tb().bool,getFilesFromEvent:tb().func,onFileDialogCancel:tb().func,onDragEnter:tb().func,onDragLeave:tb().func,onDragOver:tb().func,onDrop:tb().func,onDropAccepted:tb().func,onDropRejected:tb().func};var t0={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function t1(e,A){switch(A.type){case"focus":return tX({},e,{isFocused:!0});case"blur":return tX({},e,{isFocused:!1});case"openDialog":return tX({},e,{isFileDialogActive:!0});case"closeDialog":return tX({},e,{isFileDialogActive:!1});case"setDraggedFiles":var t=A.isDragActive;return tX({},e,{draggedFiles:A.draggedFiles,isDragActive:t});case"setFiles":return tX({},e,{acceptedFiles:A.acceptedFiles,rejectedFiles:A.rejectedFiles});case"reset":return tX({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var t3=D(5530),t4=D.n(t3);let t2={PROGRESS:"event:DicomFileUploader:progress"},t6=((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 t9{constructor(e,A){this.message=void 0,this.status=void 0,this.message=A,this.status=e}}class t8 extends R.PubSubService{constructor(e,A){super(t2),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=t6.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=t6.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(t2.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(A,new t9(t6.Failed,"The request timed out."))},abort:()=>{this._reject(A,new t9(t6.Cancelled,"Cancelled"))},error:()=>{this._reject(A,new t9(t6.Failed,"The request failed."))}};j().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(A,new t9(t6.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(A,new t9(t6.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,t),this._dataSource.store.dicom(n,r).then(()=>{this._status=t6.Success,e()}).catch(e=>{this._reject(A,e)})}).catch(e=>{this._reject(A,e)})})),this._loadPromise}_isRejected(){return this._status===t6.Failed||this._status===t6.Cancelled}_reject(e,A){if(!this._isRejected()){if(A instanceof t9){this._status=A.status,e(A);return}if(this._status=t6.Failed,A.message)return void e(new t9(t6.Failed,A.message));e(new t9(t6.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 t5=(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===t6.Failed||o===t6.Cancelled||o===t6.Success,[o]);(0,M.useEffect)(()=>{let A=e.subscribe(t2.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 t6.Success:return M.createElement(Au.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case t6.InProgress:return M.createElement(Au.Icons.ByName,{name:"icon-transferring",className:"text-highlight"});case t6.Failed:return M.createElement(Au.Icons.ByName,{name:"icon-alert-small",className:"text-destructive"});case t6.Cancelled:return M.createElement(Au.Icons.ByName,{name:"icon-alert-outline",className:"text-highlight"});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()===t6.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})))))});t5.propTypes={dicomFileUploader:tb().instanceOf(t8).isRequired};let t7="text-ellipsis whitespace-nowrap overflow-hidden";function ne({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),[p,g]=(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===t6.Failed&&g(e=>e+1)}).finally(()=>{n(100),d(e=>e+1)}),e.subscribe(t2.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]),S=()=>M.createElement("div",{className:"ml-auto flex w-6 justify-center"},p>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:t7},`${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:t4()(t7,"text-right")},`${u} of ${e.length}`,"\xa0"),M.createElement("span",{className:t7}," 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"},p>0?`Completed with ${p} ${p>1?"errors":"error"}!`:"Completed!"),S()):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()}%`),S())))),M.createElement("div",{className:"ohif-scrollbar h-1 grow overflow-y-scroll px-2"},e.filter(e=>!m||e.getStatus()===t6.Failed).map(e=>M.createElement(t5,{key:e.getFileId(),dicomFileUploader:e})))))}function nA(){return(nA=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 nt({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 t8(A,e)))},[]);return M.createElement(M.Fragment,null,r.length?M.createElement("div",{className:t4()("h-[calc(100vh-300px)]",n)},M.createElement(ne,{dicomFileUploaderArr:Array.from(r),onComplete:A})):M.createElement("div",{className:t4()("h-[480px]",n)},M.createElement(tZ,{onDrop:e=>{i(e)},noClick:!0},({getRootProps:e})=>M.createElement("div",nA({},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(tZ,{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",nA({},A(),{style:{display:"none"}}))))),M.createElement(tZ,{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",nA({},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)")))))}ne.propTypes={dicomFileUploaderArr:tb().arrayOf(tb().instanceOf(t8)).isRequired,onComplete:tb().func.isRequired},nt.propTypes={dataSource:tb().object.isRequired,onComplete:tb().func.isRequired,onStarted:tb().func.isRequired};let nn=nt,nr=Object.assign(nn,{containerClassName:"max-w-3xl"}),no={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:nr,codingValues:{}},ni="image",na={"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[p,g]=(0,M.useState)(null),[m,f]=(0,M.useState)(!0),[h,w]=(0,M.useState)(ni),[B,y]=(0,M.useState)("jpg"),{t:v}=AT("CaptureViewportModal");return(0,M.useEffect)(()=>{if(p)return l(p),()=>{c()}},[c,l,p]),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:g},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||ni,B),e()}},v("Save Image")))))))}},ns={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var nl=D(6974),nc=D(933),nu=D(7155);function nd(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 np=e=>`VOI_SYNC_${e}`;var ng=D(2140),nm=D(6739);D(1978);let nf=(0,nm.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(A,t)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[A]:t}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var nh=function(e,A){return(nh=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 nw(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}nh(e,A),e.prototype=null===A?Object.create(A):(t.prototype=A.prototype,new t)}var nB=function(){return(nB=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 ny(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 nv(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 nC(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 nS=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}(),nE=function(e,A){return nS.fromClientRect(e,A.getBoundingClientRect())},nI=function(e){var A=e.body,t=e.documentElement;if(!A||!t)throw Error("Unable to get document size");return new nS(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)))},nU=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},nb=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},nF="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nQ="u"<typeof Uint8Array?[]:new Uint8Array(256),nT=0;nT<nF.length;nT++)nQ[nF.charCodeAt(nT)]=nT;for(var nD="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nO="u"<typeof Uint8Array?[]:new Uint8Array(256),nM=0;nM<nD.length;nM++)nO[nD.charCodeAt(nM)]=nM;for(var nx=2112,nH=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},nL=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=nx-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}(),nN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nV="u"<typeof Uint8Array?[]:new Uint8Array(256),nR=0;nR<nN.length;nR++)nV[nN.charCodeAt(nR)]=nR;var n_=[9001,65288],nk=(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=nO[e.charCodeAt(A)],n=nO[e.charCodeAt(A+1)],r=nO[e.charCodeAt(A+2)],o=nO[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=nH(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]?nH(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 nL(n[0],n[1],n[2],n[3],o,a)),nP=[30,36],nG=[1,2,3,5],nK=[10,8],nj=[27,26],nW=nG.concat(nK),nY=[38,39,40,34,35],nz=[15,13],nJ=function(e,A){void 0===A&&(A="strict");var t=[],n=[],r=[];return e.forEach(function(e,o){var i=nk.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===nW.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]},nX=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},nq=function(e,A){for(var t=e;t>=0;){var n=A[t];if(10!==n)return n;t--}return 0},n$=function(e,A,t,n,r){if(0===t[n])return"\xd7";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"\xd7";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"\xd7";if(-1!==nG.indexOf(s))return"!";if(-1!==nG.indexOf(c)||-1!==nK.indexOf(c))return"\xd7";if(8===nq(o,A))return"\xf7";if(11===nk.get(e[o])||(32===s||33===s)&&11===nk.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===nq(o,A)||nX(23,22,o,A)||nX([17,18],21,o,A)||nX(12,12,o,A))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!==nz.indexOf(s)||28===s&&36===c||20===c||-1!==nP.indexOf(c)&&25===s||-1!==nP.indexOf(s)&&25===c||27===s&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(s)&&26===c||-1!==nP.indexOf(s)&&-1!==nj.indexOf(c)||-1!==nj.indexOf(s)&&-1!==nP.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"\xd7";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=A[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=A[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!==nY.indexOf(s)&&-1!==[20,26].indexOf(c)||-1!==nY.indexOf(c)&&27===s||-1!==nP.indexOf(s)&&-1!==nP.indexOf(c)||24===s&&-1!==nP.indexOf(c)||-1!==nP.concat(25).indexOf(s)&&22===c&&-1===n_.indexOf(e[a])||-1!==nP.concat(25).indexOf(c)&&18===s)return"\xd7";if(41===s&&41===c){for(var p=t[o],g=1;p>0;)if(41===A[--p])g++;else break;if(g%2!=0)return"\xd7"}return 32===s&&33===c?"\xd7":"\xf7"},nZ=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=nJ(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]},n0=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 nb.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),n1=function(e,A){var t=nU(e),n=nZ(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="\xd7";l<a&&"\xd7"===(e=n$(t,o,r,++l,i)););if("\xd7"!==e||l===a){var A=new n0(t,e,s,l);return s=l,{value:A,done:!1}}return{done:!0,value:null}}}},n3=function(e){return e>=48&&e<=57},n4=function(e){return n3(e)||e>=65&&e<=70||e>=97&&e<=102},n2=function(e){return e>=97&&e<=122||e>=65&&e<=90},n6=function(e){return 10===e||9===e||32===e},n9=function(e){return n2(e)||e>=128||95===e},n8=function(e){return n9(e)||n3(e)||45===e},n5=function(e,A){return 92===e&&10!==A},n7=function(e,A,t){return 45===e?n9(A)||n5(A,t):!!(n9(e)||92===e&&n5(e,A))||!1},re=function(e,A,t){return 43===e||45===e?!!n3(A)||46===A&&n3(t):46===e?n3(A):n3(e)},rA=function(e){var A=0,t=1;(43===e[0]||45===e[A])&&(45===e[A]&&(t=-1),A++);for(var n=[];n3(e[A]);)n.push(e[A++]);var r=n.length?parseInt(nb.apply(void 0,n),10):0;46===e[A]&&A++;for(var o=[];n3(e[A]);)o.push(e[A++]);var i=o.length,a=i?parseInt(nb.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=[];n3(e[A]);)l.push(e[A++]);return t*(r+a*Math.pow(10,-i))*Math.pow(10,s*(l.length?parseInt(nb.apply(void 0,l),10):0))},rt={type:2},rn={type:3},rr={type:4},ro={type:13},ri={type:8},ra={type:21},rs={type:9},rl={type:10},rc={type:11},ru={type:12},rd={type:14},rp={type:23},rg={type:1},rm={type:25},rf={type:24},rh={type:26},rw={type:27},rB={type:28},ry={type:29},rv={type:31},rC={type:32},rS=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(nU(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==rC;)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(n8(A)||n5(t,n)){var r=n7(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(),ro;break;case 39:return this.consumeStringToken(39);case 40:return rt;case 41:return rn;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rd;break;case 43:case 46:if(re(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return rr;case 45:var i=this.peekCodePoint(0),a=this.peekCodePoint(1);if(re(e,i,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(n7(e,i,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),rf;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 rh;case 59:return rw;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rm;break;case 64:if(n7(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return rB;case 92:if(n5(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return ry;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ri;break;case 123:return rc;case 125:return ru;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(n4(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rs;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ra;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rl;break;case -1:return rC}return n6(e)?(this.consumeWhiteSpace(),rv):n3(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):n9(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:nb(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();n4(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(nb.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(nb.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(nb.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&n4(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),A=this.consumeCodePoint();for(var i=[];n4(A)&&i.length<6;)i.push(A),A=this.consumeCodePoint();var r=parseInt(nb.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(),rp)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:nb.apply(void 0,e)};if(n6(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:nb.apply(void 0,e)};return this.consumeBadUrlRemnants(),rp}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),rp;if(92===r)if(!n5(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rp;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;n6(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;n5(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=nb.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),rg;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()):n5(n,r)&&(A+=this.consumeStringSlice(t),A+=nb(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());n3(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===t&&n3(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;n3(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)&&n3(r)||n3(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;n3(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[rA(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],n=this.peekCodePoint(0);return n7(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(n4(e)){for(var A=nb(e);n4(this.peekCodePoint(0))&&A.length<6;)A+=nb(this.consumeCodePoint());n6(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(n8(A))e+=nb(A);else{if(!n5(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=nb(this.consumeEscapedCodePoint())}}},e}(),rE=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new rS;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||rM(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?rC:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rI=function(e){return 15===e.type},rU=function(e){return 17===e.type},rb=function(e){return 20===e.type},rF=function(e){return 0===e.type},rQ=function(e,A){return rb(e)&&e.value===A},rT=function(e){return 31!==e.type},rD=function(e){return 31!==e.type&&4!==e.type},rO=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},rM=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},rx=function(e){return 17===e.type||15===e.type},rH=function(e){return 16===e.type||rx(e)},rL=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},rN={type:17,number:0,flags:4},rV={type:16,number:50,flags:4},rR={type:16,number:100,flags:4},r_=function(e,A,t){var n=e[0],r=e[1];return[rk(n,A),rk(void 0!==r?r:n,t)]},rk=function(e,A){if(16===e.type)return e.number/100*A;if(rI(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},rP="grad",rG="turn",rK=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case rP:return Math.PI/200*A.number;case"rad":return A.number;case rG:return 2*Math.PI*A.number}throw Error("Unsupported angle type")},rj=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rP||"rad"===e.unit||e.unit===rG)},rW=function(e){switch(e.filter(rb).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[rN,rN];case"to top":case"bottom":return rY(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[rN,rR];case"to right":case"left":return rY(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[rR,rR];case"to bottom":case"top":return rY(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[rR,rN];case"to left":case"right":return rY(270)}return 0},rY=function(e){return Math.PI*e/180},rz=function(e,A){if(18===A.type){var t=r3[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 rq(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 rq(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 rq(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 rq(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===A.type){var a=r2[A.value.toUpperCase()];if(void 0!==a)return a}return r2.TRANSPARENT},rJ=function(e){return(255&e)==0},rX=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+")"},rq=function(e,A,t,n){return(e<<24|A<<16|t<<8|(0|Math.round(255*n)))>>>0},r$=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},rZ=function(e,A){var t=A.filter(rD);if(3===t.length){var n=t.map(r$),r=n[0],o=n[1],i=n[2];return rq(r,o,i,1)}if(4===t.length){var a=t.map(r$),r=a[0],o=a[1],i=a[2];return rq(r,o,i,a[3])}return 0};function r0(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 r1=function(e,A){var t=A.filter(rD),n=t[0],r=t[1],o=t[2],i=t[3],a=(17===n.type?rY(n.number):rK(e,n))/(2*Math.PI),s=rH(r)?r.number/100:0,l=rH(o)?o.number/100:0,c=void 0!==i&&rH(i)?rk(i,1):1;if(0===s)return rq(255*l,255*l,255*l,1);var u=l<=.5?l*(s+1):l+s-l*s,d=2*l-u;return rq(255*r0(d,u,a+1/3),255*r0(d,u,a),255*r0(d,u,a-1/3),c)},r3={hsl:r1,hsla:r1,rgb:rZ,rgba:rZ},r4=function(e,A){return rz(e,rE.create(A).parseComponentValue())},r2={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},r6={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rb(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},r9={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},r8=function(e,A){var t=rz(e,A[0]),n=A[1];return n&&rH(n)?{color:t,stop:n}:{color:t,stop:null}},r5=function(e,A){var t=e[0],n=e[e.length-1];null===t.stop&&(t.stop=rN),null===n.stop&&(n.stop=rR);for(var r=[],o=0,i=0;i<e.length;i++){var a=e[i].stop;if(null!==a){var s=rk(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),p=1;p<=u;p++)r[l+p-1]=d*p;l=null}}return e.map(function(e,t){return{color:e.color,stop:Math.max(Math.min(1,r[t]/A),0)}})},r7=function(e,A,t){var n=A/2,r=t/2,o=rk(e[0],A)-n;return(Math.atan2(r-rk(e[1],t),o)+2*Math.PI)%(2*Math.PI)},oe=function(e,A,t){var n="number"==typeof e?e:r7(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]},oA=function(e,A){return Math.sqrt(e*e+A*A)},ot=function(e,A,t,n,r){return[[0,0],[0,A],[e,0],[e,A]].reduce(function(e,A){var o=oA(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},on=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(oA(A,t),oA(A,t-r),oA(A-n,t),oA(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=ot(n,r,A,t,!0),l=s[0],c=s[1];o=oA(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(oA(A,t),oA(A,t-r),oA(A-n,t),oA(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=ot(n,r,A,t,!1),l=u[0],c=u[1];o=oA(l-A,(c-t)/a),i=a*o}}return Array.isArray(e.size)&&(o=rk(e.size[0],n),i=2===e.size.length?rk(e.size[1],r):o),[o,i]},or=function(e,A){var t=rY(180),n=[];return rO(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=rW(A);return}if(rj(o)){t=(rK(e,o)+rY(270))%rY(360);return}}var i=r8(e,A);n.push(i)}),{angle:t,stops:n,type:1}},oo="closest-side",oi="farthest-side",oa="closest-corner",os="farthest-corner",ol="circle",oc="ellipse",ou="cover",od="contain",op=function(e,A){var t=0,n=3,r=[],o=[];return rO(A).forEach(function(A,i){var a=!0;if(0===i?a=A.reduce(function(e,A){if(rb(A))switch(A.value){case"center":return o.push(rV),!1;case"top":case"left":return o.push(rN),!1;case"right":case"bottom":return o.push(rR),!1}else if(rH(A)||rx(A))return o.push(A),!1;return e},a):1===i&&(a=A.reduce(function(e,A){if(rb(A))switch(A.value){case ol:return t=0,!1;case oc:return t=1,!1;case od:case oo:return n=0,!1;case oi:return n=1,!1;case oa:return n=2,!1;case ou:case os:return n=3,!1}else if(rx(A)||rH(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)),a){var s=r8(e,A);r.push(s)}}),{size:n,shape:t,stops:r,position:o,type:2}},og=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=om[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)},om={"linear-gradient":function(e,A){var t=rY(180),n=[];return rO(A).forEach(function(A,r){if(0===r){var o=A[0];if(20===o.type&&"to"===o.value){t=rW(A);return}if(rj(o)){t=rK(e,o);return}}var i=r8(e,A);n.push(i)}),{angle:t,stops:n,type:1}},"-moz-linear-gradient":or,"-ms-linear-gradient":or,"-o-linear-gradient":or,"-webkit-linear-gradient":or,"radial-gradient":function(e,A){var t=0,n=3,r=[],o=[];return rO(A).forEach(function(A,i){var a=!0;if(0===i){var s=!1;a=A.reduce(function(e,A){if(s)if(rb(A))switch(A.value){case"center":o.push(rV);break;case"top":case"left":o.push(rN);break;case"right":case"bottom":o.push(rR)}else(rH(A)||rx(A))&&o.push(A);else if(rb(A))switch(A.value){case ol:return t=0,!1;case oc:return t=1,!1;case"at":return s=!0,!1;case oo:return n=0,!1;case ou:case oi:return n=1,!1;case od:case oa:return n=2,!1;case os:return n=3,!1}else if(rx(A)||rH(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)}if(a){var l=r8(e,A);r.push(l)}}),{size:n,shape:t,stops:r,position:o,type:2}},"-moz-radial-gradient":op,"-ms-radial-gradient":op,"-o-radial-gradient":op,"-webkit-radial-gradient":op,"-webkit-gradient":function(e,A){var t=rY(180),n=[],r=1;return rO(A).forEach(function(A,t){var o=A[0];if(0===t){if(rb(o)&&"linear"===o.value){r=1;return}else if(rb(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=rz(e,o.values[0]);n.push({stop:rN,color:i})}else if("to"===o.name){var i=rz(e,o.values[0]);n.push({stop:rR,color:i})}else if("color-stop"===o.name){var a=o.values.filter(rD);if(2===a.length){var i=rz(e,a[1]),s=a[0];rU(s)&&n.push({stop:{type:16,number:100*s.number,flags:s.flags},color:i})}}}}),1===r?{angle:(t+rY(180))%rY(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},of={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 rD(e)&&(20!==(A=e).type||"none"!==A.value)&&(18!==A.type||!!om[A.name])}).map(function(A){return og(e,A)})}},oh={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rb(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},ow={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return rO(A).map(function(e){return e.filter(rH)}).map(rL)}},oB={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return rO(A).map(function(e){return e.filter(rb).map(function(e){return e.value}).join(" ")}).map(oy)}},oy=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 ov={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return rO(A).map(function(e){return e.filter(oC)})}},oC=function(e){return rb(e)||rH(e)},oS=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},oE=oS("top"),oI=oS("right"),oU=oS("bottom"),ob=oS("left"),oF=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return rL(A.filter(rH))}}},oQ=oF("top-left"),oT=oF("top-right"),oD=oF("bottom-right"),oO=oF("bottom-left"),oM=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}}},ox=oM("top"),oH=oM("right"),oL=oM("bottom"),oN=oM("left"),oV=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return rI(A)?A.number:0}}},oR=oV("top"),o_=oV("right"),ok=oV("bottom"),oP=oV("left"),oG={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},oK={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return+("rtl"===A)}},oj={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(rb).reduce(function(e,A){return e|oW(A.value)},0)}},oW=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},oY={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}},oz={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=E||(E={})).NORMAL="normal",l.STRICT="strict";var oJ={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?E.STRICT:E.NORMAL}},oX={name:"line-height",initialValue:"normal",prefix:!1,type:4},oq=function(e,A){return rb(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:rH(e)?rk(e,A):A},o$={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:og(e,A)}},oZ={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return+("inside"!==A)}},o0={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}}},o1=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},o3=o1("top"),o4=o1("right"),o2=o1("bottom"),o6=o1("left"),o9={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(rb).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}})}},o8={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},o5=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},o7=o5("top"),ie=o5("right"),iA=o5("bottom"),it=o5("left"),ir={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}}},io={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}},ii={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&rQ(A[0],"none")?[]:rO(A).map(function(A){for(var t={color:r2.TRANSPARENT,offsetX:rN,offsetY:rN,blur:rN},n=0,r=0;r<A.length;r++){var o=A[r];rx(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:t.blur=o,n++):t.color=rz(e,o)}return t})}},ia={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}},is={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=il[A.name];if(void 0===t)throw Error('Attempting to parse an unsupported transform function "'+A.name+'"');return t(A.values)}return null}},il={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}},ic={type:16,number:50,flags:4},iu=[ic,ic],id={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,A){var t=A.filter(rH);return 2!==t.length?iu:[t[0],t[1]]}},ip={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 ig={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}}},im={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,A){if(20===A.type)return{auto:!0,order:0};if(rU(A))return{auto:!1,order:A.number};throw Error("Invalid z-index number parsed")}},ih=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")},iw={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,A){return rU(A)?A.number:1}},iB={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},iy={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,A){return A.filter(rb).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})}},iv={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+"'"})}},iC={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},iS={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,A){return rU(A)?A.number:rb(A)&&"bold"===A.value?700:400}},iE={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.filter(rb).map(function(e){return e.value})}},iI={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"}}},iU=function(e,A){return(e&A)!=0},ib={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}},iF={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(rT),o=0;o<r.length;o++){var i=r[o],a=r[o+1];if(20===i.type){var s=a&&rU(a)?a.number:1;n.push({counter:i.value,increment:s})}}return n}},iQ={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(0===A.length)return[];for(var t=[],n=A.filter(rT),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(rb(o)&&"none"!==o.value){var a=i&&rU(i)?i.number:0;t.push({counter:o.value,reset:a})}}return t}},iT={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,A){return A.filter(rI).map(function(A){return ih(e,A)})}},iD={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(rF);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}},iO=function(e,A,t){if(!e)return"";var n=e[Math.min(A,e.length-1)];return n?t?n.open:n.close:""},iM={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&rQ(A[0],"none")?[]:rO(A).map(function(A){for(var t={color:255,offsetX:rN,offsetY:rN,blur:rN,spread:rN,inset:!1},n=0,r=0;r<A.length;r++){var o=A[r];rQ(o,"inset")?t.inset=!0:rx(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:2===n?t.blur=o:t.spread=o,n++):t.color=rz(e,o)}return t})}},ix={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,A){var t=[];return A.filter(rb).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}},iH={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},iL={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return rI(A)?A.number:0}},iN=function(){function e(e,A){this.animationDuration=i_(e,iT,A.animationDuration),this.backgroundClip=i_(e,r6,A.backgroundClip),this.backgroundColor=i_(e,r9,A.backgroundColor),this.backgroundImage=i_(e,of,A.backgroundImage),this.backgroundOrigin=i_(e,oh,A.backgroundOrigin),this.backgroundPosition=i_(e,ow,A.backgroundPosition),this.backgroundRepeat=i_(e,oB,A.backgroundRepeat),this.backgroundSize=i_(e,ov,A.backgroundSize),this.borderTopColor=i_(e,oE,A.borderTopColor),this.borderRightColor=i_(e,oI,A.borderRightColor),this.borderBottomColor=i_(e,oU,A.borderBottomColor),this.borderLeftColor=i_(e,ob,A.borderLeftColor),this.borderTopLeftRadius=i_(e,oQ,A.borderTopLeftRadius),this.borderTopRightRadius=i_(e,oT,A.borderTopRightRadius),this.borderBottomRightRadius=i_(e,oD,A.borderBottomRightRadius),this.borderBottomLeftRadius=i_(e,oO,A.borderBottomLeftRadius),this.borderTopStyle=i_(e,ox,A.borderTopStyle),this.borderRightStyle=i_(e,oH,A.borderRightStyle),this.borderBottomStyle=i_(e,oL,A.borderBottomStyle),this.borderLeftStyle=i_(e,oN,A.borderLeftStyle),this.borderTopWidth=i_(e,oR,A.borderTopWidth),this.borderRightWidth=i_(e,o_,A.borderRightWidth),this.borderBottomWidth=i_(e,ok,A.borderBottomWidth),this.borderLeftWidth=i_(e,oP,A.borderLeftWidth),this.boxShadow=i_(e,iM,A.boxShadow),this.color=i_(e,oG,A.color),this.direction=i_(e,oK,A.direction),this.display=i_(e,oj,A.display),this.float=i_(e,oY,A.cssFloat),this.fontFamily=i_(e,iv,A.fontFamily),this.fontSize=i_(e,iC,A.fontSize),this.fontStyle=i_(e,iI,A.fontStyle),this.fontVariant=i_(e,iE,A.fontVariant),this.fontWeight=i_(e,iS,A.fontWeight),this.letterSpacing=i_(e,oz,A.letterSpacing),this.lineBreak=i_(e,oJ,A.lineBreak),this.lineHeight=i_(e,oX,A.lineHeight),this.listStyleImage=i_(e,o$,A.listStyleImage),this.listStylePosition=i_(e,oZ,A.listStylePosition),this.listStyleType=i_(e,o0,A.listStyleType),this.marginTop=i_(e,o3,A.marginTop),this.marginRight=i_(e,o4,A.marginRight),this.marginBottom=i_(e,o2,A.marginBottom),this.marginLeft=i_(e,o6,A.marginLeft),this.opacity=i_(e,iw,A.opacity);var t,n,r=i_(e,o9,A.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=i_(e,o8,A.overflowWrap),this.paddingTop=i_(e,o7,A.paddingTop),this.paddingRight=i_(e,ie,A.paddingRight),this.paddingBottom=i_(e,iA,A.paddingBottom),this.paddingLeft=i_(e,it,A.paddingLeft),this.paintOrder=i_(e,ix,A.paintOrder),this.position=i_(e,io,A.position),this.textAlign=i_(e,ir,A.textAlign),this.textDecorationColor=i_(e,iB,null!=(t=A.textDecorationColor)?t:A.color),this.textDecorationLine=i_(e,iy,null!=(n=A.textDecorationLine)?n:A.textDecoration),this.textShadow=i_(e,ii,A.textShadow),this.textTransform=i_(e,ia,A.textTransform),this.transform=i_(e,is,A.transform),this.transformOrigin=i_(e,id,A.transformOrigin),this.visibility=i_(e,ip,A.visibility),this.webkitTextStrokeColor=i_(e,iH,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=i_(e,iL,A.webkitTextStrokeWidth),this.wordBreak=i_(e,ig,A.wordBreak),this.zIndex=i_(e,im,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return rJ(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 iU(this.display,4)||iU(this.display,0x2000000)||iU(this.display,0x10000000)||iU(this.display,0x20000000)||iU(this.display,0x4000000)||iU(this.display,0x8000000)},e}(),iV=function(e,A){this.content=i_(e,ib,A.content),this.quotes=i_(e,iD,A.quotes)},iR=function(e,A){this.counterIncrement=i_(e,iF,A.counterIncrement),this.counterReset=i_(e,iQ,A.counterReset)},i_=function(e,A,t){var n=new rS,r=null!=t?t.toString():A.initialValue;n.write(r);var o=new rE(n.read());switch(A.type){case 2:var i=o.parseComponentValue();return A.parse(e,rb(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 rK(e,o.parseComponentValue());case"color":return rz(e,o.parseComponentValue());case"image":return og(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return rx(a)?a:rN;case"length-percentage":var s=o.parseComponentValue();return rH(s)?s:rN;case"time":return ih(e,o.parseComponentValue())}}},ik=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}},iP=function(e,A){var t=ik(e);return 1===t||A===t},iG=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,iP(A,3),this.styles=new iN(e,window.getComputedStyle(A,null)),aY(A)&&(this.styles.animationDuration.some(function(e){return e>0})&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=nE(this.context,A),iP(A,4)&&(this.flags|=16)},iK="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ij="u"<typeof Uint8Array?[]:new Uint8Array(256),iW=0;iW<iK.length;iW++)ij[iK.charCodeAt(iW)]=iW;for(var iY=2112,iz=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},iJ=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=iY-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}(),iX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iq="u"<typeof Uint8Array?[]:new Uint8Array(256),i$=0;i$<iX.length;i$++)iq[iX.charCodeAt(i$)]=i$;var iZ=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},i0=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},i1=(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=ij[e.charCodeAt(A)],n=ij[e.charCodeAt(A+1)],r=ij[e.charCodeAt(A+2)],o=ij[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),g=iz(p=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]?iz(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 iJ(d[0],d[1],d[2],d[3],g,f)),i3=function(e){return i1.get(e)},i4=function(e,A,t){var n=t-2,r=A[n],o=A[t-1],i=A[t];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=A[--n];if(14===r)return"\xd7"}if(15===o&&15===i){for(var a=0;15===r;)a++,r=A[--n];if(a%2==0)return"\xd7"}return"\xf7"},i2=function(e){var A=iZ(e),t=A.length,n=0,r=0,o=A.map(i3);return{next:function(){if(n>=t)return{done:!0,value:null};for(var e="\xd7";n<t&&"\xd7"===(e=i4(A,o,++n)););if("\xd7"!==e||n===t){var i=i0.apply(null,A.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},i6=function(e){for(var A,t=i2(e),n=[];!(A=t.next()).done;)A.value&&n.push(A.value.slice());return n},i9=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},i8=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?"&#128104;".repeat(10):"";var n=A.firstChild,r=nU(n.data).map(function(e){return nb(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},i5=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},i7=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},ae=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=aA(100,100,0,0,n);return t.fillStyle="red",t.fillRect(0,0,100,100),at(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",i7(n)?at(aA(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return t.drawImage(e,0,0),i7(t.getImageData(0,0,100,100).data)}).catch(function(){return!1})},aA=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},at=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))})},an={get SUPPORT_RANGE_BOUNDS(){var ar=i9(document);return Object.defineProperty(an,"SUPPORT_RANGE_BOUNDS",{value:ar}),ar},get SUPPORT_WORD_BREAKING(){var ao=an.SUPPORT_RANGE_BOUNDS&&i8(document);return Object.defineProperty(an,"SUPPORT_WORD_BREAKING",{value:ao}),ao},get SUPPORT_SVG_DRAWING(){var ai=i5(document);return Object.defineProperty(an,"SUPPORT_SVG_DRAWING",{value:ai}),ai},get SUPPORT_FOREIGNOBJECT_DRAWING(){var aa="function"==typeof Array.from&&"function"==typeof window.fetch?ae(document):Promise.resolve(!1);return Object.defineProperty(an,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:aa}),aa},get SUPPORT_CORS_IMAGES(){var as=void 0!==new Image().crossOrigin;return Object.defineProperty(an,"SUPPORT_CORS_IMAGES",{value:as}),as},get SUPPORT_RESPONSE_TYPE(){var al="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(an,"SUPPORT_RESPONSE_TYPE",{value:al}),al},get SUPPORT_CORS_XHR(){var ac="withCredentials"in new XMLHttpRequest;return Object.defineProperty(an,"SUPPORT_CORS_XHR",{value:ac}),ac},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var au=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(an,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:au}),au}},ad=function(e,A){this.text=e,this.bounds=A},ap=function(e,A,t,n){var r=ah(A,t),o=[],i=0;return r.forEach(function(A){if(t.textDecorationLine.length||A.trim().length>0)if(an.SUPPORT_RANGE_BOUNDS){var r=am(n,i,A.length).getClientRects();if(r.length>1){var a=af(A),s=0;a.forEach(function(A){o.push(new ad(A,nS.fromDOMRectList(e,am(n,s+i,A.length).getClientRects()))),s+=A.length})}else o.push(new ad(A,nS.fromDOMRectList(e,r)))}else{var l=n.splitText(A.length);o.push(new ad(A,ag(e,n))),n=l}else an.SUPPORT_RANGE_BOUNDS||(n=n.splitText(A.length));i+=A.length}),o},ag=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=nE(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return nS.EMPTY},am=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},af=function(e){return an.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):i6(e)},ah=function(e,A){return 0!==A.letterSpacing?af(e):an.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):aB(e,A)},aw=[32,160,4961,65792,65793,4153,4241],aB=function(e,A){for(var t,n=n1(e,{lineBreak:A.lineBreak,wordBreak:"break-word"===A.overflowWrap?"break-word":A.wordBreak}),r=[];!(t=n.next()).done;)!function(){if(t.value){var e=nU(t.value.slice()),A="";e.forEach(function(e){-1===aw.indexOf(e)?A+=nb(e):(A.length&&r.push(A),r.push(nb(e)),A="")}),A.length&&r.push(A)}}();return r},ay=function(e,A,t){this.text=av(A.data,t.textTransform),this.textBounds=ap(e,this.text,t,A)},av=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(aC,aS);case 2:return e.toUpperCase();default:return e}},aC=/(^|\s|:|-|\(|\))([a-z])/g,aS=function(e,A,t){return e.length>0?A+t.toUpperCase():e},aE=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 nw(A,e),A}(iG),aI=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 nw(A,e),A}(iG),aU=function(e){function A(A,t){var n=e.call(this,A,t)||this,r=new XMLSerializer,o=nE(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 nw(A,e),A}(iG),ab=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return nw(A,e),A}(iG),aF=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 nw(A,e),A}(iG),aQ=[{type:15,flags:0,unit:"px",number:3}],aT=[{type:16,flags:0,number:50}],aD=function(e){var A=e.type===ax?Array(e.value.length+1).join("•"):e.value;return 0===A.length?e.placeholder||"":A},aO="checkbox",aM="radio",ax="password",aH=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=aD(t),(r.type===aO||r.type===aM)&&(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 nS(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new nS(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case aO:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=aQ;break;case aM:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=aT}return r}return nw(A,e),A}(iG),aL=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 nw(A,e),A}(iG),aN=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return nw(A,e),A}(iG),aV=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=aP(A,t.contentWindow.document.documentElement);var r=t.contentWindow.document.documentElement?r4(A,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):r2.TRANSPARENT,o=t.contentWindow.document.body?r4(A,getComputedStyle(t.contentWindow.document.body).backgroundColor):r2.TRANSPARENT;n.backgroundColor=rJ(r)?rJ(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return nw(A,e),A}(iG),aR=["OL","UL","MENU"],a_=function(e,A,t,n){for(var r=A.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,aj(r)&&r.data.trim().length>0)t.textNodes.push(new ay(e,r,t.styles));else if(aW(r))if(a8(r)&&r.assignedNodes)r.assignedNodes().forEach(function(A){return a_(e,A,t,n)});else{var i=ak(e,r);i.styles.isVisible()&&(aG(r,i,n)?i.flags|=4:aK(i.styles)&&(i.flags|=2),-1!==aR.indexOf(r.tagName)&&(i.flags|=8),t.elements.push(i),r.slot,r.shadowRoot?a_(e,r.shadowRoot,i,n):a6(r)||a$(r)||a9(r)||a_(e,r,i,n))}},ak=function(e,A){return a3(A)?new aE(e,A):a0(A)?new aI(e,A):a$(A)?new aU(e,A):aJ(A)?new ab(e,A):aX(A)?new aF(e,A):aq(A)?new aH(e,A):a9(A)?new aL(e,A):a6(A)?new aN(e,A):a4(A)?new aV(e,A):new iG(e,A)},aP=function(e,A){var t=ak(e,A);return t.flags|=4,a_(e,A,t,t),t},aG=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||aZ(e)&&t.styles.isTransparent()},aK=function(e){return e.isPositioned()||e.isFloating()},aj=function(e){return e.nodeType===Node.TEXT_NODE},aW=function(e){return e.nodeType===Node.ELEMENT_NODE},aY=function(e){return aW(e)&&void 0!==e.style&&!az(e)},az=function(e){return"object"==typeof e.className},aJ=function(e){return"LI"===e.tagName},aX=function(e){return"OL"===e.tagName},aq=function(e){return"INPUT"===e.tagName},a$=function(e){return"svg"===e.tagName},aZ=function(e){return"BODY"===e.tagName},a0=function(e){return"CANVAS"===e.tagName},a1=function(e){return"VIDEO"===e.tagName},a3=function(e){return"IMG"===e.tagName},a4=function(e){return"IFRAME"===e.tagName},a2=function(e){return"STYLE"===e.tagName},a6=function(e){return"TEXTAREA"===e.tagName},a9=function(e){return"SELECT"===e.tagName},a8=function(e){return"SLOT"===e.tagName},a5=function(e){return e.tagName.indexOf("-")>0},a7=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}(),se={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"]},sA={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},st={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},sn={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},sr=function(e,A,t,n,r,o){return e<A||e>t?sp(e,r,o.length>0):n.integers.reduce(function(A,t,r){for(;e>=t;)e-=t,A+=n.values[r];return A},"")+o},so=function(e,A,t,n){var r="";do!t&&e--,r=n(e)+r,e/=A;while(e*A>=A);return r},si=function(e,A,t,n,r){var o=t-A+1;return(e<0?"-":"")+(so(Math.abs(e),o,n,function(e){return nb(Math.floor(e%o)+A)})+r)},sa=function(e,A,t){void 0===t&&(t=". ");var n=A.length;return so(Math.abs(e),n,!1,function(e){return A[Math.floor(e%n)]})+t},ss=function(e,A,t,n,r,o){if(e<-9999||e>9999)return sp(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&&iU(o,1)&&""!==a?a=A[l]+a:l>1||1===l&&0===s||1===l&&1===s&&iU(o,2)||1===l&&1===s&&iU(o,4)&&e>100||1===l&&s>1&&iU(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},sl="十百千萬",sc="拾佰仟萬",su="マイナス",sd="마이너스",sp=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=si(e,48,57,!0,n);return a.length<4?"0"+a:a;case 4:return sa(e,"〇一二三四五六七八九",r);case 6:return sr(e,1,3999,se,3,n).toLowerCase();case 7:return sr(e,1,3999,se,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 sr(e,1,9999,sA,3,n);case 35:return sr(e,1,9999,sA,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 sa(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return sa(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return ss(e,"零一二三四五六七八九",sl,"負",r,14);case 47:return ss(e,"零壹貳參肆伍陸柒捌玖",sc,"負",r,15);case 42:return ss(e,"零一二三四五六七八九",sl,"负",r,14);case 41:return ss(e,"零壹贰叁肆伍陆柒捌玖",sc,"负",r,15);case 26:return ss(e,"〇一二三四五六七八九","十百千万",su,r,0);case 25:return ss(e,"零壱弐参四伍六七八九","拾百千万",su,r,7);case 31:return ss(e,"영일이삼사오육칠팔구","십백천만",sd,o,7);case 33:return ss(e,"零一二三四五六七八九","十百千萬",sd,o,0);case 32:return ss(e,"零壹貳參四五六七八九","拾百千",sd,o,7);case 18:return si(e,2406,2415,!0,n);case 20:return sr(e,1,19999,sn,3,n);case 21:return si(e,2790,2799,!0,n);case 22:return si(e,2662,2671,!0,n);case 22:return sr(e,1,10999,st,3,n);case 23:return sa(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return sa(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return si(e,3302,3311,!0,n);case 28:return sa(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return sa(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)}},sg="data-html2canvas-ignore",sm=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new a7,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=sf(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=sB(n).then(function(){return ny(t,void 0,void 0,function(){var e,t;return nv(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(sE),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,sw(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(sC(document.doctype)+"<html></html>"),sS(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),s},e.prototype.createElementClone=function(e){if(iP(e,2),a0(e))return this.createCanvasClone(e);if(a1(e))return this.createVideoClone(e);if(a2(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return(a3(A)&&(a3(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),a5(A))?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return sv(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){aW(A)&&("SCRIPT"===A.tagName||A.hasAttribute(sg)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&aW(A)&&a2(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(aW(r)&&a8(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(aj(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&aW(e)&&(aY(e)||az(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&&aY(n)&&(this.clonedReferenceElement=n),aZ(n)&&sF(n);var a=this.counters.parse(new iR(this.context,r)),s=this.resolvePseudoContent(e,n,o,U.BEFORE);a5(e)&&(A=!0),a1(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||az(e))&&!a4(e)||A)&&sv(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(a6(e)||a9(e))&&(a6(n)||a9(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 iR(this.context,t));var a=new iV(this.context,t),s=i.createElement("html2canvaspseudoelement");sv(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(rb);n.length&&s.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===A.name){var o=A.values.filter(rD),l=o[0],c=o[1];if(l&&rb(l)){var u=r.counters.getCounterValue(l.value),d=c&&rb(c)?o0.parse(r.context,c.value):3;s.appendChild(i.createTextNode(sp(u,d,!1)))}}else if("counters"===A.name){var p=A.values.filter(rD),l=p[0],g=p[1],c=p[2];if(l&&rb(l)){var m=r.counters.getCounterValues(l.value),f=c&&rb(c)?o0.parse(r.context,c.value):3,h=g&&0===g.type?g.value:"",w=m.map(function(e){return sp(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(iO(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":s.appendChild(i.createTextNode(iO(a.quotes,--r.quoteDepth,!1)));break;default:s.appendChild(i.createTextNode(A.value))}}),s.className=sI+" "+sU;var l=n===U.BEFORE?" "+sI:" "+sU;return az(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 sf=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(sg,"true"),e.body.appendChild(t),t},sh=function(e){return new Promise(function(A){e.complete||!e.src?A():(e.onload=A,e.onerror=A)})},sw=function(e){return Promise.all([].slice.call(e.images,0).map(sh))},sB=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)}})},sy=["all","d","content"],sv=function(e,A){for(var t=e.length-1;t>=0;t--){var n=e.item(t);-1===sy.indexOf(n)&&A.style.setProperty(n,e.getPropertyValue(n))}return A},sC=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},sS=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},sE=function(e){var A=e[0],t=e[1],n=e[2];A.scrollLeft=t,A.scrollTop=n},sI="___html2canvas___pseudoelement_before",sU="___html2canvas___pseudoelement_after",sb='{\n content: "" !important;\n display: none !important;\n}',sF=function(e){sQ(e,"."+sI+":before"+sb+"\n ."+sU+":after"+sb)},sQ=function(e,A){var t=e.ownerDocument;if(t){var n=t.createElement("style");n.textContent=A,e.appendChild(n)}},sT=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}(),sD=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)||(sV(e)||sH(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 ny(this,void 0,void 0,function(){var A,t,n,r,o=this;return nv(this,function(i){switch(i.label){case 0:if(A=sT.isSameOrigin(e),t=!sL(e)&&!0===this._options.useCORS&&an.SUPPORT_CORS_IMAGES&&!A,n=!sL(e)&&!A&&!sV(e)&&"string"==typeof this._options.proxy&&an.SUPPORT_CORS_XHR&&!t,!A&&!1===this._options.allowTaint&&!sL(e)&&!sV(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,(sN(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=an.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}(),sO=/^data:image\/svg\+xml/i,sM=/^data:image\/.*;base64,/i,sx=/^data:image\/.*/i,sH=function(e){return an.SUPPORT_SVG_DRAWING||!sR(e)},sL=function(e){return sx.test(e)},sN=function(e){return sM.test(e)},sV=function(e){return"blob"===e.substr(0,4)},sR=function(e){return"svg"===e.substr(-3).toLowerCase()||sO.test(e)},s_=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}(),sk=function(e,A,t){return new s_(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},sP=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=sk(this.start,this.startControl,A),r=sk(this.startControl,this.endControl,A),o=sk(this.endControl,this.end,A),i=sk(n,r,A),a=sk(r,o,A),s=sk(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}(),sG=function(e){return 1===e.type},sK=function(e){var A=e.styles,t=e.bounds,n=r_(A.borderTopLeftRadius,t.width,t.height),r=n[0],o=n[1],i=r_(A.borderTopRightRadius,t.width,t.height),a=i[0],s=i[1],l=r_(A.borderBottomRightRadius,t.width,t.height),c=l[0],u=l[1],d=r_(A.borderBottomLeftRadius,t.width,t.height),p=d[0],g=d[1],m=[];m.push((r+a)/t.width),m.push((p+c)/t.width),m.push((o+g)/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,p/=f,g/=f);var h=t.width-a,w=t.height-u,B=t.width-c,y=t.height-g,v=A.borderTopWidth,C=A.borderRightWidth,S=A.borderBottomWidth,E=A.borderLeftWidth,I=rk(A.paddingTop,e.bounds.width),U=rk(A.paddingRight,e.bounds.width),F=rk(A.paddingBottom,e.bounds.width),Q=rk(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?sj(t.left+E/3,t.top+v/3,r-E/3,o-v/3,b.TOP_LEFT):new s_(t.left+E/3,t.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?sj(t.left+h,t.top+v/3,a-C/3,s-v/3,b.TOP_RIGHT):new s_(t.left+t.width-C/3,t.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?sj(t.left+B,t.top+w,c-C/3,u-S/3,b.BOTTOM_RIGHT):new s_(t.left+t.width-C/3,t.top+t.height-S/3),this.bottomLeftBorderDoubleOuterBox=p>0||g>0?sj(t.left+E/3,t.top+y,p-E/3,g-S/3,b.BOTTOM_LEFT):new s_(t.left+E/3,t.top+t.height-S/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?sj(t.left+2*E/3,t.top+2*v/3,r-2*E/3,o-2*v/3,b.TOP_LEFT):new s_(t.left+2*E/3,t.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?sj(t.left+h,t.top+2*v/3,a-2*C/3,s-2*v/3,b.TOP_RIGHT):new s_(t.left+t.width-2*C/3,t.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?sj(t.left+B,t.top+w,c-2*C/3,u-2*S/3,b.BOTTOM_RIGHT):new s_(t.left+t.width-2*C/3,t.top+t.height-2*S/3),this.bottomLeftBorderDoubleInnerBox=p>0||g>0?sj(t.left+2*E/3,t.top+y,p-2*E/3,g-2*S/3,b.BOTTOM_LEFT):new s_(t.left+2*E/3,t.top+t.height-2*S/3),this.topLeftBorderStroke=r>0||o>0?sj(t.left+E/2,t.top+v/2,r-E/2,o-v/2,b.TOP_LEFT):new s_(t.left+E/2,t.top+v/2),this.topRightBorderStroke=r>0||o>0?sj(t.left+h,t.top+v/2,a-C/2,s-v/2,b.TOP_RIGHT):new s_(t.left+t.width-C/2,t.top+v/2),this.bottomRightBorderStroke=c>0||u>0?sj(t.left+B,t.top+w,c-C/2,u-S/2,b.BOTTOM_RIGHT):new s_(t.left+t.width-C/2,t.top+t.height-S/2),this.bottomLeftBorderStroke=p>0||g>0?sj(t.left+E/2,t.top+y,p-E/2,g-S/2,b.BOTTOM_LEFT):new s_(t.left+E/2,t.top+t.height-S/2),this.topLeftBorderBox=r>0||o>0?sj(t.left,t.top,r,o,b.TOP_LEFT):new s_(t.left,t.top),this.topRightBorderBox=a>0||s>0?sj(t.left+h,t.top,a,s,b.TOP_RIGHT):new s_(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||u>0?sj(t.left+B,t.top+w,c,u,b.BOTTOM_RIGHT):new s_(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=p>0||g>0?sj(t.left,t.top+y,p,g,b.BOTTOM_LEFT):new s_(t.left,t.top+t.height),this.topLeftPaddingBox=r>0||o>0?sj(t.left+E,t.top+v,Math.max(0,r-E),Math.max(0,o-v),b.TOP_LEFT):new s_(t.left+E,t.top+v),this.topRightPaddingBox=a>0||s>0?sj(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 s_(t.left+t.width-C,t.top+v),this.bottomRightPaddingBox=c>0||u>0?sj(t.left+Math.min(B,t.width-E),t.top+Math.min(w,t.height-S),Math.max(0,c-C),Math.max(0,u-S),b.BOTTOM_RIGHT):new s_(t.left+t.width-C,t.top+t.height-S),this.bottomLeftPaddingBox=p>0||g>0?sj(t.left+E,t.top+Math.min(y,t.height-S),Math.max(0,p-E),Math.max(0,g-S),b.BOTTOM_LEFT):new s_(t.left+E,t.top+t.height-S),this.topLeftContentBox=r>0||o>0?sj(t.left+E+Q,t.top+v+I,Math.max(0,r-(E+Q)),Math.max(0,o-(v+I)),b.TOP_LEFT):new s_(t.left+E+Q,t.top+v+I),this.topRightContentBox=a>0||s>0?sj(t.left+Math.min(h,t.width+E+Q),t.top+v+I,h>t.width+E+Q?0:a-E+Q,s-(v+I),b.TOP_RIGHT):new s_(t.left+t.width-(C+U),t.top+v+I),this.bottomRightContentBox=c>0||u>0?sj(t.left+Math.min(B,t.width-(E+Q)),t.top+Math.min(w,t.height+v+I),Math.max(0,c-(C+U)),u-(S+F),b.BOTTOM_RIGHT):new s_(t.left+t.width-(C+U),t.top+t.height-(S+F)),this.bottomLeftContentBox=p>0||g>0?sj(t.left+E+Q,t.top+y,Math.max(0,p-(E+Q)),g-(S+F),b.BOTTOM_LEFT):new s_(t.left+E+Q,t.top+t.height-(S+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 sj=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 sP(new s_(e,l),new s_(e,l-a),new s_(s-i,A),new s_(s,A));case b.TOP_RIGHT:return new sP(new s_(e,A),new s_(e+i,A),new s_(s,l-a),new s_(s,l));case b.BOTTOM_RIGHT:return new sP(new s_(s,A),new s_(s,A+a),new s_(e+i,l),new s_(e,l));case b.BOTTOM_LEFT:default:return new sP(new s_(s,l),new s_(s-i,l),new s_(e,A+a),new s_(e,A))}},sW=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},sY=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},sz=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},sJ=function(e,A){this.path=e,this.target=A,this.type=1},sX=function(e){this.opacity=e,this.type=2,this.target=6},sq=function(e){return 1===e.type},s$=function(e,A){return e.length===A.length&&e.some(function(e,t){return e===A[t]})},sZ=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},s0=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new sK(this.container),this.container.styles.opacity<1&&this.effects.push(new sX(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 sz(t,n,r))}if(0!==this.container.styles.overflowX){var o=sW(this.curves),i=sY(this.curves);s$(o,i)?this.effects.push(new sJ(o,6)):(this.effects.push(new sJ(o,2)),this.effects.push(new sJ(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!sq(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=sW(t.curves),i=sY(t.curves);s$(o,i)||n.unshift(new sJ(i,6))}}else n.unshift.apply(n,r);t=t.parent}return n.filter(function(A){return iU(A.target,e)})},e}(),s1=function(e,A,t,n){e.container.elements.forEach(function(r){var o=iU(r.flags,4),i=iU(r.flags,2),a=new s0(r,e);iU(r.styles.display,2048)&&n.push(a);var s=iU(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?t:A,c=new sZ(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 p=0;l.positiveZIndex.some(function(e,A){if(u>=e.element.container.styles.zIndex.order)p=A+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);s1(a,c,o?c:t,s)}else r.styles.isInlineLevel()?A.inlineLevel.push(a):A.nonInlineLevel.push(a),s1(a,A,t,s);iU(r.flags,8)&&s3(r,s)})},s3=function(e,A){for(var t=e instanceof aF?e.start:1,n=e instanceof aF&&e.reversed,r=0;r<A.length;r++){var o=A[r];o.container instanceof ab&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=sp(t,o.container.styles.listStyleType,!0),t+=n?-1:1}},s4=function(e){var A=new s0(e,null),t=new sZ(A),n=[];return s1(A,t,t,n),s3(A.container,n),t},s2=function(e,A){switch(A){case 0:return s7(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return s7(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return s7(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return s7(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},s6=function(e,A){switch(A){case 0:return s7(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return s7(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return s7(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return s7(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},s9=function(e,A){switch(A){case 0:return s7(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return s7(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return s7(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return s7(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},s8=function(e,A){switch(A){case 0:return s5(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return s5(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return s5(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return s5(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},s5=function(e,A){var t=[];return sG(e)?t.push(e.subdivide(.5,!1)):t.push(e),sG(A)?t.push(A.subdivide(.5,!0)):t.push(A),t},s7=function(e,A,t,n){var r=[];return sG(e)?r.push(e.subdivide(.5,!1)):r.push(e),sG(t)?r.push(t.subdivide(.5,!0)):r.push(t),sG(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),sG(A)?r.push(A.subdivide(.5,!1).reverse()):r.push(A),r},le=function(e){var A=e.bounds,t=e.styles;return A.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},lA=function(e){var A=e.styles,t=e.bounds,n=rk(A.paddingLeft,t.width),r=rk(A.paddingRight,t.width),o=rk(A.paddingTop,t.width),i=rk(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))},lt=function(e,A,t){var n,r,o=(n=li(e.styles.backgroundOrigin,A),0===n?e.bounds:2===n?lA(e):le(e)),i=(r=li(e.styles.backgroundClip,A),0===r?e.bounds:2===r?lA(e):le(e)),a=lo(li(e.styles.backgroundSize,A),t,o),s=a[0],l=a[1],c=r_(li(e.styles.backgroundPosition,A),o.width-s,o.height-l);return[la(li(e.styles.backgroundRepeat,A),c,a,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),s,l]},ln=function(e){return rb(e)&&e.value===S.AUTO},lr=function(e){return"number"==typeof e},lo=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(rH(i)&&a&&rH(a))return[rk(i,t.width),rk(a,t.height)];var s=lr(o);if(rb(i)&&(i.value===S.CONTAIN||i.value===S.COVER))return lr(o)?t.width/t.height<o!=(i.value===S.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var l=lr(n),c=lr(r),u=l||c;if(ln(i)&&(!a||ln(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,p=0;return rH(i)?d=rk(i,t.width):rH(a)&&(p=rk(a,t.height)),ln(i)?d=p*o:(!a||ln(a))&&(p=d/o),[d,p]}var g=null,m=null;if(rH(i)?g=rk(i,t.width):a&&rH(a)&&(m=rk(a,t.height)),null!==g&&(!a||ln(a))&&(m=l&&c?g/n*r:t.height),null!==m&&ln(i)&&(g=l&&c?m/r*n:t.width),null!==g&&null!==m)return[g,m];throw Error("Unable to calculate background-size for element")},li=function(e,A){var t=e[A];return void 0===t?e[0]:t},la=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 s_(Math.round(n.left),Math.round(n.top+i)),new s_(Math.round(n.left+n.width),Math.round(n.top+i)),new s_(Math.round(n.left+n.width),Math.round(s+n.top+i)),new s_(Math.round(n.left),Math.round(s+n.top+i))];case 3:return[new s_(Math.round(n.left+o),Math.round(n.top)),new s_(Math.round(n.left+o+a),Math.round(n.top)),new s_(Math.round(n.left+o+a),Math.round(n.height+n.top)),new s_(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new s_(Math.round(n.left+o),Math.round(n.top+i)),new s_(Math.round(n.left+o+a),Math.round(n.top+i)),new s_(Math.round(n.left+o+a),Math.round(n.top+i+s)),new s_(Math.round(n.left+o),Math.round(n.top+i+s))];default:return[new s_(Math.round(r.left),Math.round(r.top)),new s_(Math.round(r.left+r.width),Math.round(r.top)),new s_(Math.round(r.left+r.width),Math.round(r.height+r.top)),new s_(Math.round(r.left),Math.round(r.height+r.top))]}},ls="Hidden Text",ll=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(ls)),t.appendChild(r),t.appendChild(n);var i=n.offsetTop-r.offsetTop+2;t.removeChild(r),t.appendChild(this._document.createTextNode(ls)),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}(),lc=function(e,A){this.context=e,this.options=A},lu=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 ll(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 nw(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)),sq(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 ny(this,void 0,void 0,function(){return nv(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 ny(this,void 0,void 0,function(){return nv(this,function(A){switch(A.label){case 0:if(iU(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):af(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=lf(e.fontFamily).join(", "),n=rI(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 ny(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c=this;return nv(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=rX(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=rX(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=rX(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=rX(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=lA(e),r=sY(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 ny(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B;return nv(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 aE))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 aI&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof aU))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 aV&&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 aH&&(c=Math.min(t.bounds.width,t.bounds.height),t.type===aO?t.checked&&(this.ctx.save(),this.path([new s_(t.bounds.left+.39363*c,t.bounds.top+.79*c),new s_(t.bounds.left+.16*c,t.bounds.top+.5549*c),new s_(t.bounds.left+.27347*c,t.bounds.top+.44071*c),new s_(t.bounds.left+.39694*c,t.bounds.top+.5649*c),new s_(t.bounds.left+.72983*c,t.bounds.top+.23*c),new s_(t.bounds.left+.84*c,t.bounds.top+.34085*c),new s_(t.bounds.left+.39363*c,t.bounds.top+.79*c)]),this.ctx.fillStyle=rX(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):t.type===aM&&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=rX(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),ld(t)&&t.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=rX(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lg(t.styles.textAlign),m=lA(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 s_(m.left,m.top),new s_(m.left+m.width,m.top),new s_(m.left+m.width,m.top+m.height),new s_(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new ad(t.value,h),r.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!iU(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=rX(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new nS(t.bounds.left,t.bounds.top+rk(t.styles.paddingTop,t.bounds.width),t.bounds.width,oq(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new ad(e.listValue,m),r.letterSpacing,oq(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 ny(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l,c,u,d,p,g,m;return nv(this,function(f){switch(f.label){case 0:return iU(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,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]}})})},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=sG(e)?e.start:e;0===t?A.ctx.moveTo(n.x,n.y):A.ctx.lineTo(n.x,n.y),sG(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 ny(this,void 0,void 0,function(){var A,t,n,r,o,i;return nv(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,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F,Q,T,D,O,M,x;return nv(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=lt(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=(p=lt(e,A,[null,null,null]))[0],s=p[1],l=p[2],c=p[3],u=p[4],m=(g=oe(t.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),r5(t.stops,m).forEach(function(e){return C.addColorStop(e.stop,rX(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=(S=lt(e,A,[null,null,null]))[0],E=S[1],I=S[2],c=S[3],u=S[4],s=rk((U=0===t.position.length?[rV]:t.position)[0],c),l=rk(U[U.length-1],u),F=(b=on(t,s,l,c,u))[0],Q=b[1],F>0&&Q>0&&(T=n.ctx.createRadialGradient(E+s,I+l,0,E+s,I+l,F),r5(t.stops,2*F).forEach(function(e){return T.addColorStop(e.stop,rX(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())),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 ny(this,void 0,void 0,function(){return nv(this,function(n){return this.path(s2(t,A)),this.ctx.fillStyle=rX(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,A,t,n){return ny(this,void 0,void 0,function(){var r,o;return nv(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=s6(n,t),this.path(r),this.ctx.fillStyle=rX(e),this.ctx.fill(),o=s9(n,t),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return ny(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l=this;return nv(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),t=!rJ((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=lp(li(A.backgroundClip,0),e.curves),!(t||A.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),rJ(A.backgroundColor)||(this.ctx.fillStyle=rX(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=sW(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=rX(A.color),l.ctx.shadowBlur=A.blur.number,l.ctx.fillStyle=A.inset?rX(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&&!rJ(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 ny(this,void 0,void 0,function(){var o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y;return nv(this,function(v){return this.ctx.save(),o=s8(n,t),i=s2(n,t),2===r&&(this.path(i),this.ctx.clip()),sG(i[0])?(a=i[0].start.x,s=i[0].start.y):(a=i[0].x,s=i[0].y),sG(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,p=A<3?2*A:A,3===r&&(d=A,p=A),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=A):this.ctx.lineWidth=2*A+1.1,this.ctx.strokeStyle=rX(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(sG(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new s_(B.end.x,B.end.y),new s_(y.start.x,y.start.y)]),this.ctx.stroke()),sG(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new s_(B.end.x,B.end.y),new s_(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return ny(this,void 0,void 0,function(){var A;return nv(this,function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=rX(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),A=s4(e),[4,this.renderStack(A)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(lc),ld=function(e){return e instanceof aN||e instanceof aL||e instanceof aH&&e.type!==aM&&e.type!==aO||!1},lp=function(e,A){switch(e){case 0:return sW(A);case 2:return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox];default:return sY(A)}},lg=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},lm=["-apple-system","system-ui"],lf=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===lm.indexOf(e)}):e},lh=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 nw(A,e),A.prototype.render=function(e){return ny(this,void 0,void 0,function(){var A;return nv(this,function(t){switch(t.label){case 0:return[4,lw(aA(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=rX(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}(lc),lw=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))})},lB=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,nC([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,nC([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,nC([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,nC([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),ly=function(){function e(A,t){var n;this.windowBounds=t,this.instanceName="#"+e.instanceCount++,this.logger=new lB({id:this.instanceName,enabled:A.logging}),this.cache=null!=(n=A.cache)?n:new sD(this,A)}return e.instanceCount=1,e}();"u">typeof window&&sT.setContext(window);var lv=function(e,A,t){var n=A.ownerDocument,r=n.documentElement?r4(e,getComputedStyle(n.documentElement).backgroundColor):r2.TRANSPARENT,o=n.body?r4(e,getComputedStyle(n.body).backgroundColor):r2.TRANSPARENT,i="string"==typeof t?r4(e,t):null===t?r2.TRANSPARENT:0xffffffff;return A===n.documentElement?rJ(r)?rJ(o)?i:o:r:i};let lC=function(e,A){var t,n;return void 0===A&&(A={}),t=e,n=A,ny(void 0,void 0,void 0,function(){var e,A,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F,Q,T,D,O,M,x,H,L,N,V;return nv(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!=(S=n.imageTimeout)?S:15e3,proxy:n.proxy,useCORS:null!=(E=n.useCORS)&&E},a=new ly(nB({logging:null==(I=n.logging)||I,cache:n.cache},r),i=new nS((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!=(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 sm(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(),g=(p=aZ(u)||"HTML"===u.tagName?nI(u.ownerDocument):nE(a,u)).width,m=p.height,f=p.left,h=p.top,w=lv(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(g),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 lh(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 "+g+"x"+m+" using computed rendering"),a.logger.debug("Starting DOM parsing"),v=aP(a,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=r2.TRANSPARENT),a.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new lu(a,B).render(v)];case 4:y=R.sent(),R.label=5;case 5:return(null==(V=n.removeContainer)||V)&&!sm.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:lS}=R.utils,lE="cornerstone-viewport-download-form",lI=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}],lU=({hide:e,activeViewportId:A})=>{let{servicesManager:t}=(0,AD.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:p}=(0,x.getEnabledElement)(u),g=r.getRenderingEngine(),m=H.ToolGroupManager.getToolGroupForViewport(d,p);(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()=>{g.disableElement(lE)},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=g.getViewport(lE);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=g.getViewport(lE);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),g.resize(),g.render()},100)},[a,o]);let w=async(e,A)=>{let t=document.querySelector(`div[data-viewport-uid="${lE}"]`);if(!t)return void console.debug("No viewport found for download");let n=`${e}.${A}`;lS((await lC(t)).toDataURL(`image/${A}`,1),{filename:n})},B=async()=>{let e=document.querySelector(`div[data-viewport-uid="${lE}"]`);if(!e)return void console.debug("No viewport found for copy");try{let A=await lC(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:lI,viewportId:lE,showAnnotations:o,onAnnotationsChange:i,dimensions:a,onDimensionsChange:s,onEnableViewport:e=>{if(!e)return;let{viewport:A}=(0,x.getEnabledElement)(u),t={viewportId:lE,element:e,type:A.type,defaultOptions:{background:A.defaultOptions.background,orientation:A.defaultOptions.orientation}};g.enableElement(t)},onDisableViewport:f,onDownload:w,onCopyToClipboard:B,warningState:l})};var lb=D(3359),lF=D.n(lb);async function lQ({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=lF()(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:lT}=R.utils,lD=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 lO(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,p,g;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,p=1-u-d,o=null!==(g=function(e){let A=e;for(let r=0;r<8;r++){var t,n;let r=((p*(t=A)+d)*t+u)*t-e;if(1e-6>Math.abs(r))return A;let o=(3*p*(n=A)+2*d)*n+u;if(1e-6>Math.abs(o))break;A-=r/o}return null}(i))?g:function(e){let A=0,t=1,n=e;for(;A<t;){var r;let o=((p*(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 lM=lO(0,0,1,1),lx=lO(.42,0,1,1),lH=lO(0,0,.58,1),lL=lO(.42,0,.58,1),lN=lO(.25,.1,.25,1);function lV(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 lR=lV(lM),l_=lV(lN),lk=lV(lx),lP=lV(lH),lG=lV(lL),lK=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),lj=new Map([[lK.EASE,l_],[lK.EASE_IN,lk],[lK.EASE_OUT,lP],[lK.EASE_IN_OUT,lG],[lK.LINEAR,lR]]);var lW=D(3545),lY=D.n(lW);async function lz(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||`${lY().t("Tools:Segmentation")} ${c.length+1}`,d=t.segmentationId||`${x.utilities.uuidv4()}`,p=o.getDisplaySetByUID(l),g={label:u,segmentationId:d,segments:t.createInitialSegment?{1:{label:`${lY().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===AA.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(p,g):i.createContourForDisplaySet(p,g));return await i.addSegmentationRepresentation(A,{segmentationId:d,type:n}),m}var lJ=D(1748);let{add:lX,intersect:lq,subtract:l$,copy:lZ}=H.utilities.contourSegmentation,{DefaultHistoryMemo:l0}=x.utilities.HistoryMemo,l1={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||nd(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;nd(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||np(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:l3}=H.utilities,l4=({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},l2=new Y.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"}),l6=!1,l9={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},l8={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},l5={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}]}},l7={id:"mpr",name:tv.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:l5,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:l5,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},ce={id:"fourUp",locked:!0,name:tv.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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l8]},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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},cA={id:"main3D",locked:!0,name:tv.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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},ct={id:"mprAnd3DVolumeViewport",locked:!0,name:tv.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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l8]},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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},cn={id:"only3D",locked:!0,name:tv.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:[l8]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},cr={id:"primary3D",locked:!0,name:tv.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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},co={id:"primaryAxial",locked:!0,name:tv.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:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l9,l8]},displaySets:[{id:"activeDisplaySet"}]}]}]},ci={id:"@ohif/frameView",description:tv.t("Hps:Frame view for the active series"),name:tv.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 ca=D(8228);let cs=({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 cl=D(9227);let cc=function({viewportId:e}){let{commandsManager:A,servicesManager:t}=(0,R.useSystem)(),{t:n}=AT(),[r,o]=(0,M.useState)([]),[i,a]=(0,M.useState)([]),{toggleColorbar:s}=(0,cl.eH)(e),{hangingProtocolService:l,toolbarService:c}=t.services,{backgroundDisplaySet:u,potentialOverlayDisplaySets:d,potentialForegroundDisplaySets:p,potentialBackgroundDisplaySets:g,overlayDisplaySets:m,foregroundDisplaySets:f}=(0,ca.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})},S=t=>{A.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:t})},E=!!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===p.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(cs,{displaySet:e})),d.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cs,{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]),S(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(cs,{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=p.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(cs,{displaySet:e})),p.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cs,{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=p.find(e=>e.displaySetInstanceUID===A))&&(S(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,p.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cs,{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=g.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,g.map(e=>M.createElement(Au.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},M.createElement(cs,{displaySet:e}))))))),f.length>0&&(E||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:()=>{E&&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 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,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{viewportDisplaySets:s}=(0,ca.N)(A),{IconContainer:l,className:c,containerProps:u}=(0,Au.useIconPresentation)(),{servicesManager:d}=(0,R.useSystem)(),{toolbarService:p}=d.services,{align:g,side:m}=p.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,cu({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:g,alignOffset:0,sideOffset:5},M.createElement(cc,{className:"w-full",viewportId:A,displaySets:s})))}function cp(){return(cp=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 cg=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(),[p]=(0,Au.useViewportGrid)(),g=A||p.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(g),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:g,displaySetInstanceUIDs:i,viewportOptions:{viewportType:x.Enums.ViewportType.ORTHOGRAPHIC,orientation:A},displaySetOptions:i.map(()=>({}))};l.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}else l.runCommand("setViewportOrientation",{viewportId:g,orientation:A});o?.()};if(!t.length)return null;let{align:v,side:C}=u.getAlignAndSide(Number(e)),S=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,cp({disabled:i,icon:"OrientationSwitch"},a,h),S):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i,onClick:()=>{}},S))),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 cm(){return(cm=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 cf(e){let{viewportId:A}=e,{viewportDisplaySets:t}=(0,ca.N)(A);return t.length?M.createElement(cg,cm({},e,{displaySets:t})):null}var ch=D(154);function cw({viewportId:e}={}){let{viewportDisplaySets:A}=(0,ch.e)(e),{t}=AT("WindowLevelActionMenu"),[n,r]=(0,M.useState)(A?.[0]?.displaySetInstanceUID),{colorbarProperties:o,setColormap:i}=(0,ch.e)(e,{displaySetInstanceUID:n}),{colormaps:a}=o,[s,l]=(0,M.useState)(!1),[c,u]=(0,M.useState)(null),[d,p]=(0,M.useState)(null),g=(0,M.useRef)(s);g.current=s;let m=(0,M.useRef)(c);m.current=c;let f=(0,M.useRef)(d);f.current=d,(0,M.useEffect)(()=>{p(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:()=>{p(e),h(e),u(null)},onMouseEnter:()=>{g.current&&(m.current||u(e),h(e))},onMouseLeave:()=>{g.current&&m.current&&h(m.current)}}))))))}function cB({viewportId:e}={}){let{hasColorbar:A,toggleColorbar:t}=(0,ch.e)(e),{t:n}=AT("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 cy({viewportId:e}={}){let{t:A}=AT("WindowLevelActionMenu"),{viewportDisplaySets:t}=(0,ch.e)(e),[n,r]=(0,M.useState)(t?.[0]?.displaySetInstanceUID),{windowLevelPresets:o,setWindowLevel:i}=(0,ch.e)(e,{displaySetInstanceUID:n}),[a,s]=(0,M.useState)(!1),[l,c]=(0,M.useState)(null),[u,d]=(0,M.useState)(null),p=(0,M.useRef)(a);p.current=a;let g=(0,M.useRef)(l);g.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:()=>{p.current&&(g.current||c(m.current||e),f(e,!0))},onMouseLeave:()=>{p.current&&g.current&&f(g.current,!0)}}))))))}function cv({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}=AT("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 cC({viewportId:e}={}){let{volumeRenderingPresets:A}=(0,ch.e)(e),{servicesManager:t}=(0,R.useSystem)(),{uiDialogService:n}=t.services,{t:r}=AT("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:cv,title:r("Rendering Presets"),isDraggable:!0,contentProps:{presets:A,viewportId:e}})}})}function cS({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}=AT("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 cE({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,p]=(0,M.useState)(!1),g=(0,M.useRef)(s),m=n.getCornerstoneViewport(e),{actor:f}=m.getActors()[0],h=f.getProperty().getScalarOpacity(0),{t:w}=AT("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-g.current;g.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:()=>p(!0),onMouseUp:()=>p(!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 cI({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}=AT("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 cU({viewportId:e,onClickShade:A=e=>{}}){let{t}=AT("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 cb({viewportId:e}={}){let{volumeRenderingQualityRange:A}=(0,ch.e)(e),[t,n]=(0,M.useState)(!1),{t:r}=AT("WindowLevelActionMenu");return M.createElement(Au.AllInOneMenu.ItemPanel,null,M.createElement(cS,{viewportId:e,volumeRenderingQualityRange:A}),M.createElement(cE,{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(cU,{viewportId:e,onClickShade:n})),M.createElement(cI,{viewportId:e,hasShade:t}))}function cF({viewportId:e,align:A,side:t,onVisibilityChange:n}){return M.createElement(cQ,{viewportId:e,align:A,side:t,onVisibilityChange:n})}function cQ({viewportId:e,align:A,side:t,onVisibilityChange:n}){let{t:r}=AT("WindowLevelActionMenu"),o=(0,M.useMemo)(()=>`${e}`,[e]),{is3DVolume:i,colorbarProperties:a,windowLevelPresets:s,volumeRenderingPresets:l,volumeRenderingQualityRange:c}=(0,ch.e)(e);return M.createElement(Au.AllInOneMenu.Menu,{key:o,isVisible:!0,align:A,side:t,backLabel:tv.t("WindowLevelActionMenu:Back to Display Options"),onVisibilityChange:n},M.createElement(Au.AllInOneMenu.ItemPanel,null,!i&&M.createElement(cB,{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(cw,{viewportId:e})),s?.length>0&&!i&&M.createElement(Au.AllInOneMenu.SubMenu,{key:"windowLevelPresets",itemLabel:r("Modality Window Presets"),itemIcon:"viewport-window-level"},M.createElement(cy,{viewportId:e})),l&&i&&M.createElement(cC,{viewportId:e}),c&&i&&M.createElement(Au.AllInOneMenu.SubMenu,{itemLabel:r("Rendering Options")},M.createElement(cb,{viewportId:e}))))}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 cD(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:p}=(0,ca.N)(d),{servicesManager:g}=(0,R.useSystem)(),{toolbarService:m}=g.services,{IconContainer:f,className:h,containerProps:w}=(0,Au.useIconPresentation)(),{hasColorbar:B,toggleColorbar:y}=(0,cl.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:S}=m.getAlignAndSide(t);if(0===p.map(e=>e.supportsWindowLevel).length)return null;let E=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,cT({disabled:i},c,w),E):M.createElement(Au.Button,{variant:"ghost",size:"icon",disabled:i},E))),M.createElement(Au.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:S,align:C,alignOffset:0,sideOffset:5},M.createElement(cF,{viewportId:d,align:C,side:S,onVisibilityChange:v})))}let cO="minmax",cM="manual",cx=function({viewportId:e,className:A}){let{servicesManager:t}=(0,R.useSystem)(),{displaySetService:n}=t.services,[r,o]=(0,M.useState)(cO),{viewportDisplaySets:i}=(0,ca.N)(e),[a,s]=(0,M.useState)(i.length>0?i[0].displaySetInstanceUID:void 0),{voiRange:l,setVOIRange:c,windowLevel:u,setWindowLevel:d}=(0,ch.e)(e,{displaySetInstanceUID:a});if((0,M.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 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:cO,className:"flex-1"},"Min/Max"),M.createElement(Au.TabsTrigger,{value:cM,className:"flex-1"},"Manual"))),M.createElement(Au.TabsContent,{value:cO},M.createElement(Au.Numeric.Container,{mode:"doubleRange",min:w,max:B,values:[g,p],step:1,className:"space-y-1",onChange:e=>{let[A,t]=e;(A!==g||t!==p)&&c({lower:A,upper:t})}},M.createElement(Au.Numeric.DoubleRange,{showNumberInputs:!0}))),M.createElement(Au.TabsContent,{value:cM},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 cH(){return(cH=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 cL(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:p,side:g}=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,cH({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:g,align:p,alignOffset:0,sideOffset:5},M.createElement(cx,{className:"w-full",viewportId:A})))}let cN=function({viewportId:e,className:A}){let{viewportDisplaySets:t,foregroundDisplaySets:n}=(0,ca.N)(e),[r,o]=(0,M.useState)(n.length>0?n[0].displaySetInstanceUID:void 0),{threshold:i,setThreshold:a,pixelValueRange:s}=(0,cl.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(cs,{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 cV(){return(cV=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 cR(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:p,side:g}=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,cV({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:g,align:p,alignOffset:0,sideOffset:5},M.createElement(cN,{className:"w-full",viewportId:A})))}let c_=function({viewportId:e,className:A}){let{backgroundDisplaySet:t,foregroundDisplaySets:n}=(0,cl.Ne)(e,{includeForeground:!0,includeBackground:!0}),{opacityLinear:r,setOpacityLinear:o}=(0,cl.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 ck(){return(ck=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 cP(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:p,side:g}=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,ck({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:g,align:p,alignOffset:0,sideOffset:5},M.createElement(c_,{className:"w-full",viewportId:A})))}var cG=D(9433);let cK=function({viewportId:e}){let{commandsManager:A}=(0,AD.useSystem)(),{t}=AT("Common"),n=t("LOAD"),{isTracked:r,isLocked:o}=(0,cG.R)({viewportId:e}),{backgroundDisplaySet:i}=(0,ca.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 cj(e,A,t){if(t<=0)return 0;let n=(e+A)%t;return n<0&&(n=t-1),n}let cW=function({viewportId:e}){let{servicesManager:A}=(0,AD.useSystem)(),{segmentationService:t,cornerstoneViewportService:n,measurementService:r}=A.services,{isTracked:o,trackedMeasurementUIDs:i}=(0,cG.R)({viewportId:e}),{viewportDisplaySets:a}=(0,ca.N)(e),[s,l]=(0,M.useState)(0),c=a.some(e=>e?.Modality==="SR"),u=n.getCornerstoneViewport(e),{segmentationsWithRepresentations:d}=(0,cl.Lt)({viewportId:e}),p=d.length>0&&d.some(e=>e?.representation?.type!==AA.SegmentationRepresentations.Surface)?"segment":c||o?"measurement":null,g=(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=cj(s,A,e.length);l(n);let r=e[n];u.setViewReference({referencedImageId:r.imageId});return}if(o&&i.length>0){let t=cj(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"===p?m(e):"measurement"===p&&g(e)},[p,m,g]);return p?M.createElement(Au.ViewportActionArrows,{onArrowsClick:f,className:"h-6"}):null},cY=function({viewportId:e}){let{isTracked:A}=(0,cG.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 text-highlight"}))),M.createElement(Au.TooltipContent,{side:"bottom"},M.createElement("div",null,"Tracking")))):null},{ViewportColorbar:cz}=H.utilities.voi.colorbar,cJ=e=>"top"===e||"bottom"===e,cX=(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:p,width:g}=(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 cz({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]),p&&g)?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)?g/2.5:"17px",minHeight:cJ(o)?"20px":1===s?p/3:p/4,height:"1px",...w}}):null}),cq=(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,ca.N)(e),{colorbarPosition:u,opacity:d}=(0,ch.A)(e,{location:A}),p=(0,M.useMemo)(()=>i.getCustomization("cornerstone.colorbar"),[i]),g=(0,M.useMemo)(()=>{let e=p?.colorbarTickPosition;return p?.colorbarTickPosition||e},[p]);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(cX,{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:t.length})})))});var c$=D(1016),cZ=D(8842);function c0(){return(c0=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 c1={[cZ.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[cZ.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[cZ.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[cZ.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},c3=function({viewportId:e,location:A,buttonSection:t}){let{onInteraction:n,toolbarButtons:r,isItemOpen:o,isItemLocked:i,openItem:a,closeItem:s,toggleLock:l}=(0,c$.useToolbar)({buttonSection:t}),c=(0,c$.useViewportMousePosition)(e),[u,d]=(0,M.useState)(!1),[p,g]=(0,M.useState)(!0),m=(0,M.useRef)(!0),{hasColorbar:f}=(0,cl.eH)(e),[h,w]=(0,M.useState)(!1);(0,M.useEffect)(()=>{if(m.current){m.current=!1;let e=setTimeout(()=>{g(!1)},3e3);return()=>clearTimeout(e)}},[]),(0,M.useEffect)(()=>{if(!p&&c.isInViewport){let e=c1[A];c.isWithinNormalizedBox(e)?d(!0):d(!1)}},[A,c,p]);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:t4()("flex gap-2",A===cZ.ButtonLocation.LeftMiddle||A===cZ.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,c0({key:r,id:r,location:A,onInteraction:A=>{n({...A,itemId:r,viewportId:e})}},c)),g=h||p||"Colorbar"===r||u;return M.createElement("div",{key:r,className:g?"opacity-100":"pointer-events-none opacity-0",style:{transition:"opacity 0.2s ease-in-out"}},d)})):null},c4=e=>({disabled:!0,disabledText:e??lY().t("Buttons:Not available on the current viewport")});function c2({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 c4(n);let s=r.includes(i.getToolOptions(a).mode);return{className:Au.utils.getToggledClassName(!s)}}let c6={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 c9{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(c6.TOOL_ACTIVATED,o),r&&this._broadcastEvent(c6.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=c6,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(c6.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(c6.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"}}c9.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new c9(e)};let{createSynchronizer:c8}=H.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:c5}=H.Enums.Events,{BlendModes:c7}=x.Enums;function ue(e,{servicesManager:A,...t}){return c8(e,c5,(e,n,r,o)=>uA(e,n,r,o,{servicesManager:A,options:t}),{eventSource:"eventTarget"})}let uA=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),p=l.getViewportInfo(u),g=l.getViewportInfo(c),m=ut(p),f=ut(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,eo.Ov)(d),{Surface:v,Labelmap:C}=H.Enums.SegmentationRepresentations;await s.addSegmentationRepresentation(c,{segmentationId:i,type:y?v:a&&a!==v?a:C,config:{blendMode:d?.getBlendMode?.()===1?c7.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function ut(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let un={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},ur="imageslice";class uo{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,[ur]:H.synchronizers.createImageSliceSynchronizer,hydrateseg:ue},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=un,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()===ur}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(A=>this.getSynchronizersOfType(A).includes(e))}}uo.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new uo(e)};var ui=D(6336);let ua="cornerstoneStreamingImageVolume",us="cornerstoneStreamingDynamicImageVolume",{DefaultHistoryMemo:ul}=x.utilities.HistoryMemo,{Labelmap:uc,Contour:uu,Surface:ud}=H.Enums.SegmentationRepresentations,{getLabelmapImageIds:up,helpers:{convertStackToVolumeLabelmap:ug},state:{addColorLUT:um,updateLabelmapSegmentationImageReferences:uf},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:uh}}=H.segmentation,uw={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 uB extends R.PubSubService{constructor({servicesManager:e}){super(uw),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=uw,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(uw.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)?ud:uc,u=n||c;if(u===uc){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,uc,A)}async createContourForDisplaySet(e,A){return this._createSegmentationForDisplaySet(e,uu,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:`${lY().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,A={type:uc}){let{type:t}=A,{segmentationId:n}=A,{labelMapImages:r}=e;if(t!==uc)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={},p=[];u.forEach((A,t)=>{if(0===t)return void p.push([0,0,0,0]);let{SegmentedPropertyCategoryCodeSequence:n,SegmentNumber:r,SegmentLabel:o,SegmentAlgorithmType:i,SegmentAlgorithmName:a,SegmentedPropertyTypeCodeSequence:s,rgba:l}=A;p.push(l);let c=Number(r),u=e.centroids?.get(t),g=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:[g.x,g.y,g.z],world:[m.x,m.y,m.z]},modifiedTime:e.SeriesDate,category:n?n.CodeMeaning:"",type:s?s.CodeMeaning:"",algorithmType:i,algorithmName:a}}});let g=um(p);this._segmentationIdToColorLUTIndexMap.set(n,g),this._broadcastEvent(uw.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e});let m={segmentationId:n,representation:{type:uc,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:uu}){let{type:t}=A,{segmentationId:n}=A;if(t!==uu)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:uu,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 A=0;A<l.length;A++){let{data:t,id:n,color:o,segmentIndex:i,geometryId:a,group:s}=l[A];p.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(uw.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let g=um(p);return this._segmentationIdToColorLUTIndexMap.set(n,g),c.config.segments=u,this._broadcastEvent(uw.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(lY().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=`${lY().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??uc;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}),ul.startGroupRecording(),H.segmentation.removeSegment(e,A,{recordHistory:!0}),ul.push(n),ul.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[uc];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=lK.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===uu?this._getSegmentCenter(e,A):void 0;if(c!==uu||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 p=this._getContourViewReferences(e,d,A);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,A,t,n=.9,r=!0,o=750,i=!1,a=lK.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=lK.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===uc?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(A,l===uc?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[uc]}}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:ud,isConverted:!1}:(await this.handleVolumeViewport(e,A,t),{representationTypeToUse:uc,isConverted:!1})}async handleStackViewportCase(e,A,t,n,r){return t?{representationTypeToUse:uc,isConverted:await this.convertStackToVolumeViewport(e)}:uf(n,r)?{representationTypeToUse:uc,isConverted:!1}:{representationTypeToUse:uc,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=up(A.segmentationId),o=x.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await ug(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:ui.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,A,t,n){let r=up(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 uh(t,n,uc),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:uc,segmentIndex:e}),c=null,u=A=>{null===c&&(c=A);let t=Math.min((A-c)/o,1),n=lj.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uc},{fillAlpha:n(t,l)}),t<1?requestAnimationFrame(u):H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uc},{},!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:uu}).outlineWidth,u=A=>{let t=(A-l)/o;if(t>=1)return void H.segmentation.config.style.resetToGlobalStyle();let n=lj.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uu},{outlineWidth:n(t,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,A){H.segmentation.segmentIndex.setActiveSegmentIndex(e,A)}_getVolumeIdForDisplaySet(e){let A=e.volumeLoaderSchema??ua;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[uu];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 uy(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`)}uB.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new uB({servicesManager:e})};class uv{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=uy(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=`${ua}:${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??ua,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)}}uv.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new uv(e)};let uC="OHIFCornerstoneRenderingEngine",uS="default",uE=({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},uI=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=>uE({data:n,displaySetUID:e,imageId:A,viewport:t})):uE({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=uS}=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=uy(t);return r||(r=uS),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 uU=((y=uU||{}).First="first",y.Last="last",y.Middle="middle",y);let ub={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},uF=new Set(["vtkVolume","vtkImageSlice"]);function uQ(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 uT={withNavigation:!0,withOrientation:!1},uD={withNavigation:!0,withOrientation:!0};class uO extends R.PubSubService{constructor(e){super(ub),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 uI(e);t.setElement(A),this.viewportsById.set(e,t)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,x.getRenderingEngine)(uC);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new x.RenderingEngine(uC)),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}=ng.U.getState(),{setSegmentationPresentation:p}=Ar.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 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(),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(A),i.setViewportId(e),this.viewportsById.set(e,i);let g=o.getViewport(e);this._setDisplaySets(g,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,uT))return e;for(let e of this.viewportsById.keys()){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,uT))return e}for(let{viewportId:e}of this.getViewportAlignmentData(A)){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,uD))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(nu.vec3.dot(n,r)):0)+(o?-Math.abs(nu.vec3.dot(n,o)):0):t&&(i=Math.abs(nu.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,o=r.imageIds[0],i=x.metaData.get(x.Enums.MetadataModules.WADO_WEB_CLIENT,o);x.utilities.genericViewportDisplaySetMetadataProvider.add(o,{imageIds:r.imageIds,kind:"wsi",options:{webClient:i}}),await e.setDisplaySets({displaySetId:o});let a=t.getViewReference();a&&e.setViewReference(a)}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 p=this._processExtraDisplaySetsForViewport(e),g=n?.positionPresentation?.viewReference?.referencedImageId;g&&(s=a.indexOf(g)),(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(p),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===uU.First?0:t===uU.Last?n:t===uU.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 p=c.map(({volumeInput:e})=>e),g=p.map(e=>e.volumeId),m=(e.getActors?.()??[]).filter(e=>uF.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),f=!1;if(p.length){let A;if(1===g.length&&m.length>=g.length&&uQ(m,g.length,g)&&(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&&g.length>m.length&&uQ(m,m.length,g)&&"function"==typeof e.addVolumes){let A=p.slice(m.length);A.length&&await e.addVolumes(A)}else await e.setVolumes(p)}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?ui.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,uD)?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?ui.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)}}uO.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new uO(e)};var uM=D(2464);let ux=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class uH extends R.PubSubService{constructor(e){super(uH.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,A,t={}){let{displaySetService:n}=this.servicesManager.services,r=(0,x.getRenderingEngine)(uC).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,uM.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(uH.EVENTS.STATE_CHANGED,{viewportId:e,changeType:ux.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(uH.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:A,changeType:ux.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)(uC).getViewport(e),o=r?.getActors();if(!r||!o||0===o.length)return;let i=(0,uM.V)(r,A);r.setProperties({colormap:t},i),n&&r.render()}}uH.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},uH.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new uH(e)};class uL extends R.PubSubService{constructor(){super(uL.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 uN(e){return(uN="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 uV(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 uR(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 u_(e){for(var A=new Uint8Array(e.length),t=0,n=e.length;t<n;t++)A[t]=e.charCodeAt(t);return A}function uk(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 uP(e){return"object"===uN(e)&&null!==e}function uG(e){return 0===Object.keys(e).length&&e.constructor===Object}uL.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},uL.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new uL};var uK=function(e){return e[0]},uj={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},uW=function(){},uY=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?(uW("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(uW("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(uW("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(uW("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,uW=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"===uN(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(){uW("upload started: ",e)},l.onloadend=function(){uW("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=u_("\r\n\r\n"),r=uk(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=u_(o),a=i.length,s=[],l=a;-1!==A&&-1!==(A=uk(t,i,l));){var c=uk(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"!==uN(A)||uG(A)||(o+=t._parseQueryParameters(A));var i={Accept:uj.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"!==uN(A)||uG(A)||(o+=t._parseQueryParameters(A));var i={Accept:uj.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"!==uN(n)||uG(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"!==uN(n)||uG(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"!==uN(n)||uG(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 uR(e)}(a=Object.values(uj))||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 uR(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 uR(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":uj.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]:{};uW("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");uW("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&&(uW("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");uW("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?(uW("search for instances of series ".concat(e.seriesInstanceUID)),A+="/series/".concat(e.seriesInstanceUID)):uW("search for instances of study ".concat(e.studyInstanceUID))):uW("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||uj.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");uW("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");uW("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===uj.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");uW("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(uK);var s=t._getCommonMediaType(n);if(s===uj.DICOM)return this._httpGetMultipartApplicationDicom(A,n,!1,a,o).then(uK);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===uj.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===uj.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=u_("\r\n--".concat(A,"\r\n").concat("Content-Type: ".concat(t),"\r\n\r\n")),r=u_("\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)&&!uP(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(uP(A)){if(!Object.values(A).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void uW("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&&uV(t.prototype,e),A&&uV(t,A),Object.defineProperty(t,"prototype",{writable:!1}),t}();let uz=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},uJ=e=>(Array.isArray(e)?e:[e]).some(e=>!e),uX=e=>e&&e.images&&e.images[0],uq=(e,A=R.DICOMWeb.getAuthorizationHeader())=>fetch(e,A).then(e=>e.arrayBuffer()),u$=e=>x.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),uZ=(e,A,t,n,r=R.DICOMWeb.getAuthorizationHeader(),o=R.errorHandler.getHTTPErrorHandler())=>new uY({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:A,seriesInstanceUID:t,sopInstanceUID:n}),u0=new class{getLocalData(e,A){let t=uX(e),n=e&&e.instance;if(!t&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=uz(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 uz(n[0])})(A,e.displaySetInstanceUID)),!uJ(r))return j().wadouri.loadFileRequest(r)}getDataByImageType(e){let A=uX(e);if(A){let e,t,n=uz(A),r=uq;switch(t=(e=/^\w+\:/).exec(n),0===e.lastIndex&&t&&t[0]&&t[0].replace(":","")||""){case"dicomfile":r=u$.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=uZ.bind(this,o,i,a,s);break;case"wadouri":if(uJ(n=n.substring(n.indexOf(":")+1)))return;r=uq.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 uZ(o,A,t,n,r);if(!uJ(i))return uq(i,{headers:r});if(!uJ(a?.url)){let e=a.url;return uq(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")}},u1=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,u3=(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})},u4=e=>H.SynchronizerManager.createSynchronizer(e,x.EVENTS.STACK_VIEWPORT_SCROLL,u3,{auxiliaryEvents:[{name:x.EVENTS.CAMERA_MODIFIED,source:"element"}]});var u2=D(2111),u6=D.n(u2);let{MetadataModules:u9}=x.Enums,{utils:u8}=_(),{denaturalizeDataset:u5}=u6().data.DicomMetaDictionary,{transferDenaturalizedDataset:u7,fixMultiValueKeys:de}=J.dicomWebUtils;function dA(e,A){return e.get(A)?u7(u5(de(e.get(A)))):(console.warn("Metadata not already found for",A,"in",e),this.super.getDICOMwebMetadata(A))}let dt=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=D(9692),dr=D(1303);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)}let da=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,di({},e,{className:o})))};function ds({children:e,segmentationRepresentationTypes:A}){let{commandsManager:t,servicesManager:n}=(0,AD.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=nf(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,p=A?.[0]?c[A[0]]:void 0,{activeToolOptions:g}=(0,AD.useActiveToolOptions)({buttonSectionId:p}),{segmentationsWithRepresentations:m,disabled:f}=(0,dn.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"),S=r.getCustomization("panelSegmentation.customDropdownMenuContent"),E=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=()=>p?M.createElement(Au.IconPresentationProvider,{size:"large",IconContainer:da},M.createElement("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]"},M.createElement(J.Toolbar,{buttonSection:p}))):null,Q=()=>M.createElement(Au.SegmentationTable.Segments,null,M.createElement(Au.SegmentationTable.SegmentStatistics.Header,null,M.createElement(E,null)),M.createElement(Au.SegmentationTable.SegmentStatistics.Body,null));return M.createElement(Au.Popover,{open:!!g,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(S,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(S,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()))))),g&&M.createElement(Au.PopoverContent,{side:"left",align:"start",className:"w-auto"},M.createElement(Au.ToolSettings,{options:g})))}var dl=D(2051),dc=D.n(dl),du=D(6285),dd=D.n(du);let dp=(0,x.getWebWorkerManager)();dp.registerWorker("histogram-worker",()=>new Worker(new URL(D.p+D.u(915),D.b),Object.assign({},{name:"histogram-worker"},{type:void 0})),{maxWorkerInstances:1,autoTerminateOnIdle:{enabled:!0,idleTimeThreshold:1e3}});let dg=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 dp.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 dp.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},dm=(e,A)=>{if(!e)return;let t=e.getProperty().getScalarOpacity(0),n=[];return t.getNodeValue(A,n),n[1]},df=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 dg(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:p,colormap:g}=A.displaySetOptions[r];return g&&(i=x.utilities.colormap.getColormap(g.name)??dd().getPresetByName(g.name)),{viewportId:A.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?p:o??p,histogram:d,colormap:i,step:c?.PT?.05:1,opacity:s,showOpacitySlider:1===r&&void 0!==s}}))).filter(Boolean)},{Events:dh}=x.Enums,dw=({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)?dm(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)?dm(t,0):void 0},[]),c=(0,M.useCallback)(()=>{df(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)(()=>dc()(u,100),[u]),p=(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]),g=(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(dh.VOI_MODIFIED,d,!0),x.eventTarget.addEventListener(dh.IMAGE_VOLUME_LOADING_COMPLETED,m);let e=setInterval(()=>{o&&c()},1e3);return()=>{document.removeEventListener(dh.VOI_MODIFIED,d,!0),x.eventTarget.removeEventListener(dh.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=>p(e.volumeId,A),opacity:e.opacity,onOpacityChange:t=>g(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")))};dw.propTypes={servicesManager:tb().object.isRequired,viewportId:tb().string.isRequired};let dB=({servicesManager:e})=>{let[A]=(0,Au.useViewportGrid)(),{activeViewportId:t}=A;return M.createElement(M.Fragment,null,t&&M.createElement(dw,{servicesManager:e,viewportId:t}))};dB.propTypes={servicesManager:tb().object.isRequired};var dy=["color"],dv=(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,dy);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 dC=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)},dS=[dU,db,dF];function dE(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(dC,{allChildren:u,groups:a,childType:dU,grouping:A,defaultValue:s,name:"grouping "+A.name},M.createElement(dI,{name:"DefaultAccordion"}))}function dI(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(dC,{allChildren:r,group:A,childType:dF,name:"AccordionGroup.Trigger"}),M.createElement(dC,{allChildren:r,group:A,childType:db,defaultTypes:dS,name:"AccordionGroup.Content"})))):null}function dU(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 db(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 dF(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(dv,{key:"chevronDown",className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}))):null}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 dT(e){let{title:A,items:t,group:n,customHeader:r}=e,{commandsManager:o}=(0,R.useSystem)();return M.createElement(Au.MeasurementTable,dQ({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"}))}dE.Content=db,dE.Trigger=dF,dE.Accordion=dU;let{filterNot:dD,filterAdditionalFindings:dO}=R.utils.MeasurementFilters,dM=[{title:"Measurements",filter:dD(dO)},{title:"Additional Findings",filter:dO}],dx=(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 dH(e){let{items:A,children:t,grouping:n={},customHeader:r,group:o,actions:i}=e;return M.createElement(dE,{grouping:{groupingFunction:dx,name:"measurementsOrAdditional",namedSets:dM,StudyInstanceUID:o?.StudyInstanceUID,...n},items:A,sourceChildren:t},M.createElement(dE.Accordion,{noWrapper:"true"},M.createElement(dT,{customHeader:r,allItems:A,actions:i})))}let{formatDate:dL}=R.utils;function dN(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:dL(n),description:r})}function dV({items:e,StudyInstanceUID:A,measurementFilter:t,actions:n}){let{commandsManager:r}=(0,R.useSystem)(),{t:o}=AT("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 dR=function(e){return M.createElement("div",null,M.createElement(dN,e),M.createElement(dV,e))},{MeasurementFilters:d_}=R.utils,dk=(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=d_.filterAnd(d_.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 dP(e){let{items:A,grouping:t={},children:n}=e,r=(0,R.useActiveViewportDisplaySets)(),o=r?.[0]?.StudyInstanceUID;return M.createElement(dE,{grouping:{name:"groupByStudy",groupingFunction:dk,activeStudyUID:o,...t},items:A,value:[o],sourceChildren:n},M.createElement(dE.Trigger,null,M.createElement(dR,null)),M.createElement(dH,{activeStudyUID:o}))}function dG(e){let{measurementFilter:A,emptyComponent:t,children:n}=e,r=(0,dr.d)({measurementFilter:A});return r.length?n?M.Children.map(n,e=>M.cloneElement(e,{items:r,filter:A})):M.createElement(dP,{items:r}):t?M.createElement(t,{items:r}):M.createElement("span",{className:"text-foreground"},"No Measurements")}var dK=D(8191),dj=x.Enums.OrientationAxis;function dW({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 lQ({segmentation:i,segmentationId:r,readableText:a});!n&&s&&e.addOrUpdateSegmentation({segmentationId:r,segments:s.segments})},1e3);return{unsubscribe:()=>{n=!0,r()}}}function dY({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 dz="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=nu.vec3.fromValues(t[0],t[1],t[2]),r=nu.vec3.fromValues(t[3],t[4],t[5]),o=nu.vec3.cross(nu.vec3.create(),n,r),i={[dj.AXIAL]:nu.vec3.fromValues(0,0,1),[dj.CORONAL]:nu.vec3.fromValues(0,1,0),[dj.SAGITTAL]:nu.vec3.fromValues(1,0,0)},a=0,s="";for(let[e,A]of Object.entries(i)){let t=Math.abs(nu.vec3.dot(o,A));t>a&&(a=t,s=e)}return s}(o,t.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:dW,setupSegmentationModifiedHandler:dY,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,p,g,m;let f=("SR"===o?l:!s?.disableConfirmationPrompts)?await (d=i,p=a,g=A,m=o,new Promise(function(e,A){let t=function(e){switch(e){case dz:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=p.getCustomization(t),r=A=>{d.hide(),e(A)};d.show({id:function(e){switch(e){case dz: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:t,viewportId:A});c(e)}catch(e){u(e)}},0);else if(o===dz)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:lD,createSegmentationForViewport:lz},{Enums:dX}=H,dq=e=>{let{element:A}=e.detail;H.utilities.contours.acceptAutogeneratedInterpolations(A,{})};var d$=D(1752),dZ=D.n(d$);function d0(e){let{group:A,classNames:t}=e,{t:n}=AT("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 d1(){return(d1=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 d3(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 d4(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:d3.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,d1({},e,{classNames:"justify-end flex-grow"})),M.createElement(dv,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"})))}function d2(e){let{index:A,item:t}=e;return M.createElement(d4,{count:A+1,text:t.toolName||t.label||t.title,colorHex:"#f00",isActive:t.isSelected,menu:d0,group:{items:[t],onClick:e.onClick}})}function d6(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(d2,{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 d9=(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 d8(e){let{group:A,isSelected:t,displaySet:n,menu:r}=e,{SeriesNumber:o=1,SeriesDescription:i}=n;return M.createElement(d4,{text:`Series #${o} ${i}`,count:A.items.length,isActive:t,group:A,menu:r,marginLeft:"0"})}function d5(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(dE,{grouping:{groupingFunction:d9,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(dE.Trigger,{asChild:!0},M.createElement(d8,{menu:d0})),M.createElement(d6,null))}function d7(){return(d7=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:pe}=x.utilities,pA=M.lazy(()=>Promise.resolve().then(D.bind(D,7332))),pt=e=>M.createElement(M.Suspense,{fallback:M.createElement("div",null,"Loading...")},M.createElement(pA,e)),pn={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},pr=[],po={id:u1,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}=dW({segmentationService:t,customizationService:n,commandsManager:A}),{unsubscribe:a}=dY({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}=nf.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});pr.push(...i);let a=(x.eventTarget.addEventListener(dX.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,dq),[()=>{x.eventTarget.removeEventListener(dX.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,dq)}]);pr.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]),pe.clear(),pe.add("volume",x.ProgressiveRetrieveImages.interleavedRetrieveStages);let s=(t?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},l=dZ()(pn,null!=s&&"object"==typeof s&&Object.keys(s).some(e=>e.startsWith("$"))?s:{$merge:s??{}});pe.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}=AT("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(ds,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes}))};return[{name:"activeViewportWindowLevel",component:()=>M.createElement(dB,{servicesManager:A})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:dG},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>M.createElement(ds,{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(ds,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:lY().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[AA.SegmentationRepresentations.Labelmap,AA.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:lY().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[AA.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{pr.forEach(e=>e()),pr.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(),ng.U.getState().clearSynchronizersStore(),J.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),Ar.v.getState().clearSegmentationPresentationStore(),nf.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),t.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:A}=e;A.registerService(uO.REGISTRATION),A.registerService(c9.REGISTRATION),A.registerService(uo.REGISTRATION),A.registerService(uB.REGISTRATION),A.registerService(uv.REGISTRATION),A.registerService(uH.REGISTRATION),A.registerService(uL.REGISTRATION);let{syncGroupService:t}=A.services;t.registerCustomSynchronizer("frameview",u4),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:c3},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:cq},{name:"ohif.trackingStatus",defaultComponent:cY},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let A=s.getDisplaySetsUIDsForViewport(e);return A?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:cK},{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:cW},{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:cd},{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:cf},{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:cD},{name:"ohif.voiManualControlMenu",defaultComponent:cL},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:cD},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:cR},{name:"ohif.opacityMenu",defaultComponent:cP},{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 c4(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))?c4(n):t?.length&&!o.some(e=>t.includes(e?.Modality))?c4(n||lY().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}:c4(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 c4(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})=>c2({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})=>c2({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}:c4(A):void 0}]},getHangingProtocolModule:function(){return[{name:l7.id,protocol:l7},{name:ct.id,protocol:ct},{name:ce.id,protocol:ce},{name:cA.id,protocol:cA},{name:co.id,protocol:co},{name:cn.id,protocol:cn},{name:cr.id,protocol:cr},{name:ci.id,protocol:ci}]},getViewportModule:({servicesManager:e,commandsManager:A})=>[{name:"cornerstone",component:t=>{let{toolbarService:n}=e.services;return M.createElement(pt,d7({},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:p,syncGroupService:g,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=l3.getBrushSizeForToolGroup(t),n="increase"===e?A+3:A-3;A&&(l3.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}))},S={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}=lD(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}=lD(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)}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=p.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)},cancelMeasurement:()=>{let e=h()?.viewport?.element;e&&(0,H.cancelActiveManipulations)(e)},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&&S.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:lY().t("SegmentationPanel:Segment Bidirectional"),message:lY().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,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);A.run("jumpToMeasurement",{uid:s?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:A}=y();nc.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=S.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:lY().t("Tools:Edit Measurement Label"),placeholder:n.label||lY().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 S._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await S._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";lT(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:lY().t("Tools:Edit Arrow Text"),placeholder:A?.data?.label||lY().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=S.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||S.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];S.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&&S.setToolActive({toolName:t,toolGroupId:e})}return}let t=o.getToolBindings(e,r);B(t)?S.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=>{S.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:lY().t("Tools:Download Image"),message:lY().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:t}=e.services;t&&t.show({content:lU,title:lY().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:A,cornerstoneViewportService:s},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:A})=>{S._rotateViewport({rotation:e,viewportId:A,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:A})=>{S._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}=p.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=g.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=l1[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=nu.vec3.length(nu.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={}})=>lz(e,{viewportId:A,options:t,segmentationType:AA.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:A,options:t={}})=>lz(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(lK).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:lY().t("Tools:Edit Segment Label"),placeholder:lY().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:lY().t("Tools:Edit Segmentation Label"),placeholder:lY().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:lY().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:()=>{l0.undo()},redo:()=>{l0.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let A=l4({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=l4({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})=>l4({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)}}),l2.enabled&&l2[`${e}Preview`](A.element)},acceptPreview:()=>{S._handlePreviewAction("accept")},rejectPreview:()=>{S._handlePreviewAction("reject")},cancelActiveOperation:()=>{try{S.rejectPreview()}catch(e){console.debug("Error rejecting active preview",e)}finally{S.cancelMeasurement()}},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=!l2.enabled;l2.enabled=A,l6||(await l2.initModel(),l6=!0);let t=o.getToolGroupIds();A?S.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:t}):t.forEach(e=>{H.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),l2.enabled&&l2.initViewport(e)},setBrushSize:({value:e})=>{let A=Number(e);o.getToolGroupIds()?.forEach(e=>{l3.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?.()}),S.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}={})=>{S.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:A})=>{S.flipViewportHorizontal({viewportId:A,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{S.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:A})=>{S.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=nu.mat4.identity(new Float32Array(16));nu.mat4.rotate(n,n,t,A.viewPlaneNormal);let o=nu.vec3.transformMat4(nu.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}=nf.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}=lJ.utilities;o(t.segmentationId,r.segmentIndex,{threshold:e}),s.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:A,resultSegmentInfo:t,logicalOperation:n})=>{switch(n){case nl.LogicalOperation.Union:lX(e,A,t);break;case nl.LogicalOperation.Intersect:lq(e,A,t);break;case nl.LogicalOperation.Subtract:l$(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)}})}lZ(e,A)},smoothContours:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let{smoothContours:r}=lJ.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}=lJ.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}=lJ.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}=lJ.utilities;o(A.segmentationId,t.segmentIndex,r.segmentationId,r.segmentIndex),s.getRenderingEngine().render()}},E={showCornerstoneContextMenu:{commandFn:S.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:S.getNearbyToolData},getNearbyAnnotation:{commandFn:S.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:S.toggleViewportColorbar},setMeasurementLabel:{commandFn:S.setMeasurementLabel},renameMeasurement:{commandFn:S.renameMeasurement},updateMeasurement:{commandFn:S.updateMeasurement},jumpToMeasurement:S.jumpToMeasurement,removeMeasurement:{commandFn:S.removeMeasurement},cancelMeasurement:{commandFn:S.cancelMeasurement},toggleLockMeasurement:{commandFn:S.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:S.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:S.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:S.setViewportWindowLevel},setWindowLevel:{commandFn:S.setWindowLevel},setWindowLevelPreset:{commandFn:S.setWindowLevelPreset},setToolActive:{commandFn:S.setToolActive},setToolActiveToolbar:{commandFn:S.setToolActiveToolbar},setToolEnabled:{commandFn:S.setToolEnabled},rotateViewportCW:{commandFn:S.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:S.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:S.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:S.changeActiveViewport},decrementActiveViewport:{commandFn:S.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:S.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:S.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:S.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:S.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:S.invertViewport},resetViewport:{commandFn:S.resetViewport},scaleUpViewport:{commandFn:S.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:S.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:S.scaleViewport,options:{direction:0}},nextImage:{commandFn:S.scroll,options:{direction:1}},previousImage:{commandFn:S.scroll,options:{direction:-1}},firstImage:{commandFn:S.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:S.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:S.jumpToImage},showDownloadViewportModal:{commandFn:S.showDownloadViewportModal},toggleCine:{commandFn:S.toggleCine},arrowTextCallback:{commandFn:S.arrowTextCallback},setViewportActive:{commandFn:S.setViewportActive},setViewportColormap:{commandFn:S.setViewportColormap},setViewportForToolConfiguration:{commandFn:S.setViewportForToolConfiguration},storePresentation:{commandFn:S.storePresentation},attachProtocolViewportDataListener:{commandFn:S.attachProtocolViewportDataListener},setViewportPreset:{commandFn:S.setViewportPreset},setVolumeRenderingQulaity:{commandFn:S.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:S.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:S.setVolumeLighting},resetCrosshairs:{commandFn:S.resetCrosshairs},toggleSynchronizer:{commandFn:S.toggleSynchronizer},updateVolumeData:{commandFn:S.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:S.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:S.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:S.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:S.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:S.createLabelmapForViewport},createContourForViewport:{commandFn:S.createContourForViewport},setActiveSegmentation:{commandFn:S.setActiveSegmentation},addSegment:{commandFn:S.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:S.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:S.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:S.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:S.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:S.downloadSegmentationCommand},storeSegmentation:{commandFn:S.storeSegmentationCommand},downloadRTSS:{commandFn:S.downloadRTSSCommand},setSegmentationStyle:{commandFn:S.setSegmentationStyleCommand},deleteSegment:{commandFn:S.deleteSegmentCommand},deleteSegmentation:{commandFn:S.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:S.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:S.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:S.editSegmentLabel},editSegmentationLabel:{commandFn:S.editSegmentationLabel},editSegmentColor:{commandFn:S.editSegmentColor},getRenderInactiveSegmentations:{commandFn:S.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:S.deleteActiveAnnotation},setDisplaySetsForViewports:S.setDisplaySetsForViewports,undo:S.undo,redo:S.redo,interpolateLabelmap:S.interpolateLabelmap,runSegmentBidirectional:S.runSegmentBidirectional,downloadCSVSegmentationReport:S.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:S.toggleSegmentPreviewEdit,toggleSegmentSelect:S.toggleSegmentSelect,acceptPreview:S.acceptPreview,rejectPreview:S.rejectPreview,cancelActiveOperation:S.cancelActiveOperation,toggleUseCenterSegmentIndex:S.toggleUseCenterSegmentIndex,toggleLabelmapAssist:S.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:S.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:S.clearMarkersForMarkerLabelmap,setBrushSize:S.setBrushSize,setThresholdRange:S.setThresholdRange,increaseBrushSize:S.increaseBrushSize,decreaseBrushSize:S.decreaseBrushSize,addNewSegment:S.addNewSegment,loadSegmentationDisplaySetsForViewport:S.loadSegmentationDisplaySetsForViewport,setViewportOrientation:S.setViewportOrientation,hydrateSecondaryDisplaySet:S.hydrateSecondaryDisplaySet,getVolumeIdForDisplaySet:S.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:S.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:S.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:S.endRecordingForAnnotationGroup,toggleSegmentLabel:S.toggleSegmentLabel,jumpToMeasurementViewport:S.jumpToMeasurementViewport,initializeSegmentLabelTool:S.initializeSegmentLabelTool,activateSelectedSegmentationOfType:S.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:S.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:S.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:S.removeSmallContours,applyLogicalContourOperation:S.applyLogicalContourOperation,copyContourSegment:S.copyContourSegment,smoothContours:S.smoothContours,removeContourHoles:S.removeContourHoles,decimateContours:S.decimateContours,convertContourHoles:S.convertContourHoles,setInterpolationToolConfiguration:S.setInterpolationToolConfiguration};return{actions:S,definitions:E,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,...AW,...tI,...no,...na,...ns,"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:u0}},{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:p,SOPClassUID:g}=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:u8.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:t.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:a||`${lY().t("Series")} ${c} - ${lY().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=dA.bind(e,w),x.utilities.genericMetadataProvider.addRaw(f.imageIds[0],{type:u9.WADO_WEB_CLIENT,metadata:e})}return[f]})(e,A)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:dt,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:u9.ECG,metadata:A})}return{Modality:A,displaySetInstanceUID:u8.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:dt,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(A,e)}}(e)]}}})(),O=D.O(O)})());
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==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: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==p||p.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 O(e){var A=D[e];if(void 0!==A)return A.exports;var t=D[e]={exports:{}};return T[e].call(t.exports,t,t.exports,O),t.exports}O.n=e=>{var A=e&&e.__esModule?()=>e.default:()=>e;return O.d(A,{a:A}),A},O.d=(e,A)=>{for(var t in A)O.o(A,t)&&!O.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},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,A)=>Object.prototype.hasOwnProperty.call(e,A),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,A,t,n)=>{if(A){n=n||0;for(var r=F.length;r>0&&F[r-1][2]>n;r--)F[r]=F[r-1];F[r]=[A,t,n];return}for(var o=1/0,r=0;r<F.length;r++){for(var[A,t,n]=F[r],i=!0,a=0;a<A.length;a++)(!1&n||o>=n)&&Object.keys(O.O).every(e=>O.O[e](A[a]))?A.splice(a--,1):(i=!1,n<o&&(o=n));if(i){F.splice(r--,1);var s=t();void 0!==s&&(e=s)}}return e},O.F={},O.E=e=>{Object.keys(O.F).map(A=>{O.F[A](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 A=document.createElement("link");O.nc&&A.setAttribute("nonce",O.nc),A.rel="prefetch",A.as="script",A.href=O.p+O.u(e),document.head.appendChild(A)}},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:()=>dI,CloneChildren:()=>dS,Colorbar:()=>cy,Colormap:()=>cB,CornerstoneViewportDownloadForm:()=>lb,DYNAMIC_VOLUME_LOADER_SCHEME:()=>ul,DicomUpload:()=>nr,Enums:()=>R,ImageOverlayViewerTool:()=>es,MeasumentsMenu:()=>d1,MeasurementOrAdditionalFindingSets:()=>dx,MeasurementsOrAdditionalFindings:()=>dL,OHIFCornerstoneViewport:()=>pn,PanelMeasurement:()=>dK,PanelSegmentation:()=>dl,PlanarFreehandROI:()=>eU,RectangleROI:()=>eb,SeriesMeasurementTrigger:()=>d5,SeriesMeasurements:()=>d7,StudyMeasurements:()=>dG,StudyMeasurementsActions:()=>dR,StudySummaryFromMetadata:()=>dV,Types:()=>T,VOLUME_LOADER_SCHEME:()=>us,VolumeLighting:()=>cU,VolumeRenderingOptions:()=>cF,VolumeRenderingPresets:()=>cS,VolumeRenderingQuality:()=>cE,VolumeShade:()=>cb,VolumeShift:()=>cI,WindowLevel:()=>cv,WindowLevelActionMenu:()=>cQ,WindowLevelActionMenuContent:()=>cT,WindowLevelActionMenuWrapper:()=>cO,default:()=>pi,dicomLoaderService:()=>u1,findNearbyToolData:()=>e4,getActiveViewportEnabledElement:()=>Z,getEnabledElement:()=>q.kJ,getSOPInstanceAttributes:()=>ed,groupByDisplaySet:()=>d8,groupByNamedSets:()=>dH,groupByStudy:()=>dP,measurementMappingUtils:()=>Q,setEnabledElement:()=>q.ye,toolNames:()=>el,useActiveViewportSegmentationRepresentations:()=>dr.c,useLutPresentationStore:()=>An.I,useMeasurementTracking:()=>cK.R,useMeasurements:()=>di.d,usePositionPresentationStore:()=>Ar.q,useSegmentationPresentationStore:()=>Ao.v,useSegmentations:()=>dj.j,useSelectedSegmentationsForViewportStore:()=>nh,useSynchronizersStore:()=>nm.U,utils:()=>dX});var e,A,t,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F={};O.r(F),O.d(F,{rM:()=>N,yK:()=>V,Ay:()=>R});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),H=O(4713),L=O(1223);let N="Cornerstone3DTools",V="0.1",R={CORNERSTONE_3D_TOOLS_SOURCE_NAME:N,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:V};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),J=O(6023),X=O(7438),q=O(6499);function $(e){let{element:A}=(0,q.kJ)(e)||{};return(0,x.getEnabledElement)(A)}function Z(e){let{activeViewportId:A}=e.getState();return $(A)}let{calibrateImageSpacing:ee}=H.utilities;class eA 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`]}}eA.toolName="CalibrationLine";var et=O(7141);let en=new Map,er=(e,A)=>{en.get(e)!==A&&en.set(e,A)},eo=(e,A)=>{if(!Array.isArray(A)&&"overlayPlaneModule"===e)return en.get(A)};x.metaData.addProvider(eo,1e4);var ei=O(3117);class ea 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}),ea.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,ei.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]),p=n.worldToCanvas(d),g=`image-overlay-${o}`,m=A.getSvgNode(g),f={"data-id":g,width:p[0]-u[0],height:p[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(g);else{let e=document.createElementNS("http://www.w3.org/2000/svg","image");H.drawing.setNewAttributesIfValid(f,e),A.appendNode(e,g)}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,et.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,et.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()}}ea.toolName="ImageOverlayViewer",ea.addOverlayPlaneModule=er;let es=ea,el={Pan:H.PanTool.toolName,ArrowAnnotate:H.ArrowAnnotateTool.toolName,WindowLevel:H.WindowLevelTool.toolName,StackScroll:H.StackScrollTool.toolName,Zoom:H.ZoomTool.toolName,PlanarRotate:H.PlanarRotateTool.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:eA.toolName,TrackballRotateTool:H.TrackballRotateTool.toolName,CircleScissors:H.CircleScissorsTool.toolName,RectangleScissors:H.RectangleScissorsTool.toolName,SphereScissors:H.SphereScissorsTool.toolName,ImageOverlayViewer:es.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:z.LabelmapSlicePropagationTool.toolName,MarkerLabelmap:z.MarkerLabelmapTool.toolName,RegionSegmentPlus:H.RegionSegmentPlusTool.toolName,LivewireContourSegmentation:H.LivewireContourSegmentationTool.toolName,SculptorTool:H.SculptorTool.toolName,SplineContourSegmentation:H.SplineContourSegmentationTool.toolName,LabelMapEditWithContourTool:H.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,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 ep=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 em(e){return H.annotation.selection.isAnnotationSelected(e)}function ef(e,A){em(e)!==A&&H.annotation.selection.setAnnotationSelected(e,A)}function eh(e){let[A]=H.annotation.selection.getAnnotationsSelected()||[];if(A)return H.annotation.state.getAnnotation(A)}let ew=e=>null==e?"":e,eB=e=>{},ey=(e,A,t)=>{if(Array.isArray(e)&&e.length>0){let n=e.map(e=>_.utils.roundNumber(e,2));return`${t.charAt(0).toUpperCase()+t.slice(1)}: ${n.join(", ")} ${ew(A)}`}let n=_.utils.roundNumber(e,2);return`${t.charAt(0).toUpperCase()+t.slice(1)}: ${n} ${ew(A)}`},ev=e=>{},eC=e=>{},eS=e=>{},eE=e=>{},eI=e=>{},eU={toAnnotation:e=>{},toMeasurement:(e,A,t,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,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=_.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e,o=ey(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}=ed(o,A,e),{SeriesNumber:c}=A.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,A),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,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}}},eb={toAnnotation:e=>{},toMeasurement:(e,A,t,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,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}=ed(o,A,e),{SeriesNumber:d}=A.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: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=_.utils.roundNumber(r||0,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e;if(Number.isFinite(t)){let e=ey(t,A,"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,A,t;let n,r;return e=y,A=w,t=g,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}}},eF=e=>{},eQ=e=>{},eT=e=>{},eD=e=>{},eO=e=>{},eM=e=>{};var ex=O(3154);let{rM:eH,yK:eL}=F,{removeAnnotation:eN}=H.annotation.state,eV=H.Enums.Events,{DefaultHistoryMemo:eR}=x.utilities.HistoryMemo,e_=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)})},ek=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 eP=O(9863),eG=O.n(eP),eK=O(5257),ej=O.n(eK),eW=O(6446),eY=O.n(eW);let ez=new Map,eJ=new Map;function eX({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t,viewportMatchDetails:n}){for(let t of(eJ.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;eJ.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?.()??[];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=ej()(eY()(eG()(...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(eJ);return eJ.clear(),u}let eq=new Map,e$=new Map;function eZ({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t}){for(let t of(e$.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(!eq.has(e)){let{metadata:t}=A;eq.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(eq.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)}),eq.clear();let o=new Map(e$);return e$.clear(),o}let e0=new Map,e1=new Map;function e3({data:{viewportId:e,volumeInputArray:A},displaySetsMatchDetails:t,viewportMatchDetails:n}){for(let t of(e1.set(e,A),A)){let{volumeId:e}=t,A=x.cache.getVolume(e);if(!A)return;if(!e0.has(e)){let{metadata:t}=A;e0.set(e,t.SeriesInstanceUID)}}let r=new Set;e1.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(e0.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=ej()(eY()(eG()(...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)}),e0.clear();let u=new Map(e1);return e1.clear(),u}let e4=(e,A)=>{if(!A?.detail)return;let{element:t,currentPoints:n}=A.detail;return e.runCommand("getNearbyAnnotation",{element:t,canvasCoordinates:n?.canvas},"CORNERSTONE")},e2=H.Enums.Events,e6=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=e4(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,q.ye)(t,r),r.addEventListener(e2.MOUSE_CLICK,n))}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:A}=e.detail;A.removeEventListener(e2.MOUSE_CLICK,n)}).bind(null))},e9=H.Enums.Events,e8=function({customizationService:e,commandsManager:A}){let t=t=>{let n;if(e4(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(e9.MOUSE_DOUBLE_CLICK,t)}).bind(null)),x.eventTarget.addEventListener(x.EVENTS.ELEMENT_DISABLED,(function(e){let{element:A}=e.detail;A.removeEventListener(e9.MOUSE_DOUBLE_CLICK,t)}).bind(null))},e5=[],e7={viewportsWaiting:0};function Ae(e){if("preRender"===e.detail.viewportStatus)return;let{TimingEnum:A}=_.Enums;_.log.timeEnd(A.DISPLAY_SETS_TO_FIRST_IMAGE),_.log.timeEnd(A.STUDY_TO_FIRST_IMAGE),_.log.timeEnd(A.SCRIPT_TO_VIEW),e7.viewportsWaiting-=1,e.detail.element.removeEventListener(x.EVENTS.IMAGE_RENDERED,Ae),e7.viewportsWaiting||_.log.timeEnd(A.DISPLAY_SETS_TO_ALL_IMAGES)}let AA=[{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 At=O(6404),An=O(6360),Ar=O(3500),Ao=O(619),Ai=O(2678);let{registerColormap:Aa}=x.utilities.colormap;async function As({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,z.LabelmapSlicePropagationTool.isAnnotation=!1,z.MarkerLabelmapTool.isAnnotation=!1,H.ReferenceLinesTool.isAnnotation=!1,H.AdvancedMagnifyTool.isAnnotation=!1,H.PlanarFreehandContourSegmentationTool.isAnnotation=!1,(0,H.init)({addons:{polySeg:J},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.PlanarRotateTool),(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)(eA),(0,H.addTool)(H.TrackballRotateTool),(0,H.addTool)(es),(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)(z.LabelmapSlicePropagationTool),(0,H.addTool)(z.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:p,viewportGridService:g,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:Ac,title:"OHIF Fell Back to CPU Rendering"}),!0})(100)&&t()})}(c,p);let{getPresentationId:y}=An.I.getState(),{getPresentationId:v}=Ao.v.getState(),{getPresentationId:C}=Ar.q.getState();g.addPresentationIdProvider("positionPresentationId",C),g.addPresentationIdProvider("lutPresentationId",y),g.addPresentationIdProvider("segmentationPresentationId",v),m.setStyle({type:At.SegmentationRepresentations.Contour},{fillAlpha:.5,fillAlphaInactive:.4,renderFill:!1,renderFillInactive:!1});let S=k().classes.MetadataProvider;x.volumeLoader.registerVolumeLoader("cornerstoneStreamingImageVolume",P.cornerstoneStreamingImageVolumeLoader),x.volumeLoader.registerVolumeLoader("cornerstoneStreamingDynamicImageVolume",P.cornerstoneStreamingDynamicImageVolumeLoader),Object.entries({interleaveCenter:eX,interleaveTopToBottom:e3,nth:eZ}).forEach(([e,A])=>{p.registerImageLoadStrategy(e,Al(A))}),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 A=t.getActiveDataSource()?.[0].getConfig()??{},n=s.getAuthorizationHeader(),r={Accept:_.utils.generateAcceptHeader(A.acceptHeader,A.requestTransferSyntaxUID,A.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(S.get.bind(S),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:p,SplineROI:g,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}=_.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:ep,toMeasurement:e=>((e,A,t,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,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}=ed(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=_.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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},Bidirectional:{toAnnotation:eB,toMeasurement:e=>((e,A,t,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,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}=ed(o,A,e),{SeriesNumber:c}=A.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,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=_.utils.roundNumber(r,2),u=_.utils.roundNumber(o,2),d=A.instances.find(e=>e.SOPInstanceUID===s);d&&(t=d.InstanceNumber);let p=t?` I: ${t}`:"",g=A.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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},SegmentBidirectional:{toAnnotation:eO,toMeasurement:e=>((e,A,t,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,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}=ed(o,A,e),{SeriesNumber:c}=A.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,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=_.utils.roundNumber(r,2),u=_.utils.roundNumber(o,2),d=A.instances.find(e=>e.SOPInstanceUID===s);d&&(t=d.InstanceNumber);let p=t?` I: ${t}`:"",g=A.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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2},{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},EllipticalROI:{toAnnotation:ev,toMeasurement:e=>((e,A,t,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,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}=ed(o,A,e),{SeriesNumber:u}=A.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,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=_.utils.roundNumber(r,2);return n.primary.push(`${u} ${ew(a)}`),e.forEach(e=>{let{unit:A,max:t,SeriesNumber:r}=e,o=ey(t,A,"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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.ELLIPSE}]},CircleROI:{toAnnotation:eC,toMeasurement:e=>((e,A,t,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,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}=ed(o,A,e),{SeriesNumber:u}=A.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,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=_.utils.roundNumber(r||0,2);n.primary.push(`${e} ${ew(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=ey(t,r,"perimeter");n.primary.push(e)}}else{let e=ey(o,A,"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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.CIRCLE}]},RectangleROI:{toAnnotation:eb.toAnnotation,toMeasurement:e=>eb.toMeasurement(e,A,t,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},PlanarFreehandROI:{toAnnotation:eU.toAnnotation,toMeasurement:e=>eU.toMeasurement(e,A,t,r,n),matchingCriteria:[{valueType:_.MeasurementService.VALUE_TYPES.POLYLINE}]},SplineROI:{toAnnotation:eF,toMeasurement:e=>((e,A,t,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,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=_.utils.roundNumber(n||0,2);return t.primary.push(`${s} ${ew(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}=ed(o,A,e),{SeriesNumber:c}=A.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,A),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,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:_.MeasurementService.VALUE_TYPES.POLYLINE}]},LivewireContour:{toAnnotation:eQ,toMeasurement:e=>((e,A,t,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,A,i);return o=m?A.getDisplaySetForSOPInstanceUID(m,f):A.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,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}=ed(r.referencedImageId,t,e),u=A.instances.find(e=>e.SOPInstanceUID===l);u&&(n=u.InstanceNumber);let d=n?` I: ${n}`:"",p=A.isMultiFrame?` F: ${c}`:"",{SeriesNumber:g}=A,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,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:_.MeasurementService.VALUE_TYPES.POLYLINE}]},ArrowAnnotate:{toAnnotation:eS,toMeasurement:e=>((e,A,t,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,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}=ed(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: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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.POINT,points:1}]},Probe:{toAnnotation:eT,toMeasurement:e=>((e,A,t,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,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}=ed(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=_.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,A,t;let n,r;return e=B,A=w,t=g,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:_.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=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,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}=ed(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"\xb0",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=_.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,A,t;let n,r;return e=y,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.ANGLE}]},Angle:{toAnnotation:eI,toMeasurement:e=>((e,A,t,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,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}=ed(o,A,e),{SeriesNumber:c}=A.getDisplaySetsForSeries(s)[0],{angle:u}=n;i.push({SeriesInstanceUID:s,SOPInstanceUID:a,SeriesNumber:c,frameNumber:l,unit:"\xb0",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=_.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,A,t;let n,r;return e=y,A=w,t=g,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:p}})(e,A,0,r,n),matchingCriteria:[{valueType:_.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=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?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}=ed(o),{SeriesNumber:l}=A.getDisplaySetForSOPInstanceUID(n,a,s),{xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g}=t;i.push({SeriesInstanceUID:a,SOPInstanceUID:n,SeriesNumber:l,frameNumber:s,xValues:c,yValues:u,units:d,isUnitless:p,isHorizontal:g})}),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}`:"",p=A.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]),A=Math.abs(o[1]-o[0]);n.primary.push(`${_.utils.roundNumber(e)} ${i[0]}`),n.primary.push(`${_.utils.roundNumber(A)} ${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,A,t;let n,r;return e=B,A=w,t=g,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(_.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(_.utils.roundNumber(e,2)),n.push("Length"+o[1]),r.push(_.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:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]},UltrasoundPleuraBLine:{toAnnotation:eM,toMeasurement:e=>((e,A,t,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?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}=ed(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: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,A,t;let n,r;return e=B,A=w,t=g,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:_.MeasurementService.VALUE_TYPES.POLYLINE,points:2}]}}),y=e.createSource(eH,eL);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: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!==eH)continue;let r=H.annotation.state.getAnnotation(e);eN(e),A.run("triggerCreateAnnotationMemo",{annotation:r,FrameOfReferenceUID:r.metadata.FrameOfReferenceUID,options:{deleting:!0}})}t&&eR.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!==eH||!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=Z(o)?.viewport.element;(0,ex.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,ex.triggerAnnotationRenderForViewportIds)(d)}),n.subscribe(l,({source:e,measurement:t,data:n,dataSource:r})=>{let o;if(e.name!==eH)return;let{referenceSeriesUID:i,referenceStudyUID:a,SOPInstanceUID:s,metadata:l}=t,c=_.DicomMetadataStore.getInstance(a,i,s),u=1;t?.metadata?.referencedImageId?(o=t.metadata.referencedImageId,u=ed(t.metadata.referencedImageId).frameNumber):c&&(o=r.getImageIdsForInstance({instance:c}));let d=H.annotation.state.getAnnotationManager(),p={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(p),A.run("triggerCreateAnnotationMemo",{annotation:p,FrameOfReferenceUID:p.metadata.FrameOfReferenceUID,options:{newAnnotation:!0}})}),n.subscribe(i,({source:e,measurement:t})=>{if(e?.name&&e.name!==eH)return;A.run("cancelMeasurement");let n=H.annotation.state.getAnnotation(t);eN(t),n&&A.run("triggerCreateAnnotationMemo",{annotation:n,FrameOfReferenceUID:n.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===p&&i===el.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}=Z(s),p=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,X.callInputDialog)({uiDialogService:a,title:"Calibration",placeholder:"Actual Physical distance (mm)",defaultValue:`${p}`}).then(A=>{var t;t=Number.parseFloat(A),ee(u,d.getRenderingEngine(),{type:"User",scale:1/(t/p)}),e(!0)}):A("UIDialogService is not initiated")})})(A,e).then(()=>{console.log("Calibration applied.")},()=>!0).finally(()=>{eN(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=eV.ANNOTATION_ADDED,p=eV.ANNOTATION_COMPLETED,g=eV.ANNOTATION_MODIFIED,m=eV.ANNOTATION_REMOVED,f=eV.ANNOTATION_SELECTION_CHANGE;return x.eventTarget.addEventListener(d,c),x.eventTarget.addEventListener(p,c),x.eventTarget.addEventListener(g,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}),e_(e),ek(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})}),p.subscribe(p.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,e=>{let{lutPresentationStore:A}=An.I.getState(),{segmentationPresentationStore:t}=Ao.v.getState(),{positionPresentationStore:n}=Ar.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)}}),e6({cornerstoneViewportService:d,customizationService:l,commandsManager:A}),e8({customizationService:l,commandsManager:A});let E=({detail:e})=>{_.errorHandler.getHTTPErrorHandler()(e.error)};x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_FAILED,E),x.eventTarget.addEventListener(x.EVENTS.IMAGE_LOAD_ERROR,E),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(!e5.length){let{TimingEnum:e}=_.Enums;e5.push(e.DISPLAY_SETS_TO_ALL_IMAGES,e.DISPLAY_SETS_TO_FIRST_IMAGE,e.STUDY_TO_FIRST_IMAGE)}e5.find(e=>_.log.timingKeys[e])&&(e7.viewportsWaiting+=1,e.addEventListener(x.EVENTS.IMAGE_RENDERED,Ae))}({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)),AA.forEach(Aa),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 Al=e=>A=>{let t=Ai.imageRetrieveMetadataProvider.clone();Ai.imageRetrieveMetadataProvider.clear();try{return e(A)}finally{setTimeout(()=>{Ai.imageRetrieveMetadataProvider.restore(t)},10)}};function Ac(){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 Au={"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 Ad=O(55);function Ap(e){return(Ap="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"!=Ap(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=Ap(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==Ap(A)?A:A+""}O(9741),Object.create(null);var Am=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Af={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"\xa9","&#169;":"\xa9","&reg;":"\xae","&#174;":"\xae","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Ah=function(e){return Af[e]},Aw={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(Am,Ah)}},AB=(0,D.createContext)(),Ay=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 Av(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 AC(){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 AS={};function AE(){for(var e=arguments.length,A=Array(e),t=0;t<e;t++)A[t]=arguments[t];"string"==typeof A[0]&&AS[A[0]]||("string"==typeof A[0]&&(AS[A[0]]=new Date),AC.apply(void 0,A))}var AI=function(e,A){return function(){e.isInitialized?A():e.on("initialized",function t(){setTimeout(function(){e.off("initialized",t)},0),A()})}};function AU(e,A,t){e.loadNamespaces(A,AI(e,t))}function Ab(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,AI(e,n))}function AF(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 AQ(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?AF(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)):AF(Object(t)).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}var AT=function(e,A){var t=(0,D.useRef)();return(0,D.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,D.useContext)(AB)||{},o=r.i18n,i=r.defaultNS,a=n||o||C;if(a&&!a.reportNamespaces&&(a.reportNamespaces=new Ay),!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"===Ap(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=AQ(AQ(AQ({},Aw),a.options.react),t),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,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?p:p[0],d)}var f=function(e){if(Array.isArray(e))return e}(A=(0,D.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 Av(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)?Av(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=p.join();t.lng&&(B="".concat(t.lng).concat(B));var y=AT(B),v=(0,D.useRef)(!0);(0,D.useEffect)(function(){var e=c.bindI18n,A=c.bindI18nStore;function n(){v.current&&w(m)}return v.current=!0,g||u||(t.lng?Ab(a,t.lng,p,function(){v.current&&w(m)}):AU(a,p,function(){v.current&&w(m)})),g&&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 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){t.lng?Ab(a,t.lng,p,function(){return e()}):AU(a,p,function(){return e()})})}var AO=O(1459);let AM=({segmentationId:e,segmentationRepresentationType:A,allowExport:t,actions:n})=>{let{t:r}=AD("SegmentationPanel");return D.createElement(Ad.DropdownMenuSub,null,D.createElement(Ad.DropdownMenuSubTrigger,{className:"pl-1"},D.createElement(Ad.Icons.Export,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},r("Export"))),D.createElement(Ad.DropdownMenuPortal,null,D.createElement(Ad.DropdownMenuSubContent,null,A===At.SegmentationRepresentations.Labelmap&&D.createElement(Ad.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.downloadCSVSegmentationReport(e)},disabled:!t},r("CSV Report")),A===At.SegmentationRepresentations.Labelmap&&D.createElement(Ad.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.storeSegmentation(e,"SEG")},disabled:!t},r("DICOM SEG")),D.createElement(Ad.DropdownMenuItem,{onClick:A=>{A.preventDefault(),n.storeSegmentation(e,"RTSTRUCT")},disabled:!t},r("DICOM RTSS")))))},Ax=()=>{let e,A,{commandsManager:t}=(0,AO.useSystem)(),{t:n}=AD("SegmentationPanel"),{onSegmentationAdd:r,onSegmentationRemoveFromViewport:o,onSegmentationEdit:i,onSegmentationDelete:a,exportOptions:s,activeSegmentation:l,activeSegmentationId:c,segmentationRepresentationTypes:u,disableEditing:d}=(0,Ad.useSegmentationTableContext)("CustomDropdownMenu"),p=!1;try{A=(e=(0,Ad.useSegmentationExpanded)().segmentation).segmentationId}catch(t){e=l,A=c}if(!e||!A)return null;if(s){let e=s.find(e=>e.segmentationId===A);p=e?.isExportable||!1}return D.createElement(Ad.DropdownMenuContent,{align:"start"},!d&&D.createElement(Ad.DropdownMenuItem,{onClick:()=>r({segmentationId:A,segmentationRepresentationType:u?.[0]})},D.createElement(Ad.Icons.Add,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Create New Segmentation"))),D.createElement(Ad.DropdownMenuSeparator,null),D.createElement(Ad.DropdownMenuLabel,null,n("Manage Current Segmentation")),D.createElement(Ad.DropdownMenuItem,{onClick:()=>o(A)},D.createElement(Ad.Icons.Series,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Remove from Viewport"))),D.createElement(Ad.DropdownMenuItem,{onClick:()=>i(A)},D.createElement(Ad.Icons.Rename,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Rename"))),D.createElement(AM,{segmentationId:A,segmentationRepresentationType:u?.[0],allowExport:p,actions:{storeSegmentation:async(e,A="SEG")=>{t.run({commandName:"storeSegmentation",commandOptions:{segmentationId:e,modality:A},context:"CORNERSTONE"})},downloadCSVSegmentationReport:e=>{t.run("downloadCSVSegmentationReport",{segmentationId:e})}}}),D.createElement(Ad.DropdownMenuSeparator,null),D.createElement(Ad.DropdownMenuItem,{onClick:()=>a(A)},D.createElement(Ad.Icons.Delete,{className:"text-red-600"}),D.createElement("span",{className:"pl-2 text-red-600"},n("Delete"))))},AH=({segmentationId:e,segmentIndex:A})=>{let{servicesManager:t,commandsManager:n}=(0,AO.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 D.createElement("div",{className:"-mt-2 space-y-2"},D.createElement("div",{className:"flex"},D.createElement(Ad.Tooltip,null,D.createElement(Ad.TooltipTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"sm",className:"text-primary flex items-center gap-2",onClick:()=>{n.run("runSegmentBidirectional",{segmentationId:e,segmentIndex:A})}},D.createElement(Ad.Icons.ToolBidirectionalSegment,{className:"h-5 w-5"}),D.createElement("span",null,o("Compute Largest Bidirectional")))),D.createElement(Ad.TooltipContent,{side:"bottom"},o("Add bidirectional measurement")))),D.createElement(Ad.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=H.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,et.roundNumber)(d)," ",l),D.createElement("div",null,"W: ",(0,et.roundNumber)(p)," ",l)),D.createElement("div",{className:"flex gap-2"},D.createElement(Ad.Tooltip,null,D.createElement(Ad.TooltipTrigger,{asChild:!0},D.createElement(Ad.Button,{size:"icon",variant:"ghost",className:"h-6 w-6 transition-opacity",onClick:t=>{t.stopPropagation(),H.annotation.visibility.setAnnotationVisibility(a.annotationUID,!g),r.addOrUpdateSegmentation({segmentationId:e,segmentIndex:A})}},g?D.createElement(Ad.Icons.Hide,{className:"h-6 w-6"}):D.createElement(Ad.Icons.Show,{className:"h-6 w-6"}))),D.createElement(Ad.TooltipContent,{side:"bottom"},o("Toggle visibility"))),D.createElement(Ad.Tooltip,null,D.createElement(Ad.TooltipTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"icon",onClick:()=>{a.annotationUID&&n.run("jumpToMeasurement",{uid:a.annotationUID})}},D.createElement(Ad.Icons.JumpToSlice,null))),D.createElement(Ad.TooltipContent,{side:"bottom"},o("Jump to measurement"))))),D.createElement(Ad.Separator,{className:"bg-input"}))};function AL(){let{commandsManager:e}=(0,_.useSystem)(),{t:A}=AD("SegmentationPanel"),[t,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(Ad.Switch,{checked:t,onCheckedChange:A=>{n(A),e.run("toggleSegmentPreviewEdit",{toggle:A})}}),D.createElement("span",{className:"text-foreground text-base"},A("Preview edits before creating"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(Ad.Switch,{checked:s,onCheckedChange:A=>{l(A),e.run("toggleUseCenterSegmentIndex",{toggle:A})}}),D.createElement("span",{className:"text-foreground text-base"},A("Use center as segment index"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(Ad.Switch,{checked:i,onCheckedChange:A=>{a(A),e.run("toggleSegmentSelect",{toggle:A})}}),D.createElement("span",{className:"text-foreground text-base"},A("Hover on segment border to activate"))),D.createElement("div",{className:"flex items-center gap-2"},D.createElement(Ad.Switch,{checked:r,onCheckedChange:A=>{o(A),e.run("toggleSegmentLabel",{enabled:A})}}),D.createElement("span",{className:"text-foreground text-base"},A("Show segment name on hover"))))}let AN={"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}}]},AV={"cornerstone.overlayViewportTools":{active:[{toolName:el.WindowLevel,bindings:[{mouseButton:H.Enums.MouseBindings.Primary}]},{toolName:el.Pan,bindings:[{mouseButton:H.Enums.MouseBindings.Auxiliary}]},{toolName:el.Zoom,bindings:[{mouseButton:H.Enums.MouseBindings.Secondary},{numTouchPoints:2}]},{toolName:el.StackScroll,bindings:[{mouseButton:H.Enums.MouseBindings.Wheel},{numTouchPoints:3}]}],enabled:[{toolName:el.PlanarFreehandContourSegmentation,configuration:{displayOnePointAsCrosshairs:!0}}]}},AR={cornerstoneViewportClickCommands:{doubleClick:["toggleOneUp"],button1:["closeContextMenu"],button3:[{commandName:"showCornerstoneContextMenu",commandOptions:{requireNearbyToolData:!0,menuId:"measurementsContextMenu"}}]}},A_={"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:Ak}=x.CONSTANTS,AP={"cornerstone.3dVolumeRendering":{volumeRenderingPresets:Ak,volumeRenderingQualityRange:{min:1,max:4,step:1}}},AG="bottom",AK={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}}},Aj={"cornerstone.colorbar":{colorbarTickPosition:"bottom"===(e=AG)?"top":"top"===e?"bottom":"left"===e?"right":"right"===e?"left":AK[e]?.position||"top",colormaps:AA,colorbarContainerPosition:AG,colorbarInitialColormap:"Grayscale",positionStyles:{left:{width:"15px"},right:{width:"15px"},bottom:{height:"15px"}},positionTickStyles:AK,containerStyles:{cursor:"initial"},tickStyles:{font:"12px Arial",color:"#fff",maxNumTicks:6,tickSize:5,tickWidth:1}}},AW={"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"}]}};function Az(e){return(Az="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 AJ(e){var A=function(e,A){if("object"!=Az(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,A||"default");if("object"!=Az(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===A?String:Number)(e)}(e,"string");return"symbol"==Az(A)?A:A+""}function AX(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=AJ(n))in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}function Aq(e,A){if(!(e instanceof A))throw TypeError("Cannot call a class as a function")}function A$(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,AJ(n.key),n)}}function AZ(e,A,t){return A&&A$(e.prototype,A),t&&A$(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function A0(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function A1(e,A){if(A&&("object"==Az(A)||"function"==typeof A))return A;if(void 0!==A)throw TypeError("Derived constructors may only return object or undefined");return A0(e)}function A3(e){return(A3=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A4(e,A){return(A4=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,A){return e.__proto__=A,e})(e,A)}function A2(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&&A4(e,A)}function A6(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 A9(e,A){if(e){if("string"==typeof e)return A6(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)?A6(e,A):void 0}}function A8(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)||A9(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 A5={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 A6(e)}(A)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(A)||A9(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.")}())}},A7=new(function(){function e(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Aq(this,e),this.init(A,t)}return AZ(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||A5,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,AX({},{prefix:"".concat(this.prefix,":").concat(A,":")},this.options))}}]),e}()),te=function(){function e(){Aq(this,e),this.observers={}}return AZ(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 tA(){var e,A,t=new Promise(function(t,n){e=t,A=n});return t.resolve=e,t.reject=A,t}function tt(e){return null==e?"":""+e}function tn(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 tr(e,A,t){var n=tn(e,A,Object);n.obj[n.k]=t}function to(e,A){var t=tn(e,A),n=t.obj,r=t.k;if(n)return n[r]}function ti(e,A,t){var n=to(e,t);return void 0!==n?n:to(A,t)}function ta(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var ts={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function tl(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return ts[e]}):e}var tc=function(e){function A(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return Aq(this,A),t=A1(this,A3(A).call(this)),te.call(A0(t)),t.data=e||{},t.options=n,void 0===t.options.keySeparator&&(t.options.keySeparator="."),t}return A2(A,e),AZ(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(".")),to(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),tr(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=to(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=AX({},a,t),tr(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)?AX({},{},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}(te),tu={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}},td=function(e){function A(e){var t,n,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Aq(this,A),r=A1(this,A3(A).call(this)),te.call(A0(r)),t=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n=A0(r),t.forEach(function(A){e[A]&&(n[A]=e[A])}),r.options=o,void 0===r.options.keySeparator&&(r.options.keySeparator="."),r.logger=A7.create("translator"),r}return A2(A,e),AZ(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"!==Az(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,p=c&&c.exactUsedKey||o,g=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(g)&&("string"!=typeof m||"[object Array]"!==g)){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]"===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,AX({},A,{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,A));else{var S=!1,E=!1;if(!this.isValidLookup(u)&&void 0!==A.defaultValue){if(S=!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)||(E=!0,u=o);var U=A.defaultValue&&A.defaultValue!==u&&this.options.updateMissing;if(E||S||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 T=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 D=void 0!==A.count&&"string"!=typeof A.count;this.options.saveMissingPlurals&&D?b.forEach(function(e){t.pluralResolver.getPluralFormsOfKey(e,o).forEach(function(A){return T([e],A)})}):T(b,o)}}u=this.extendTranslation(u,e,A,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,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(AX({},t,{interpolation:AX({},this.options.interpolation,t.interpolation)}));var o=t.replace&&"string"!=typeof t.replace?t.replace:t;this.options.interpolation.defaultVariables&&(o=AX({},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=tu.handle(a,e,A,this.options&&this.options.postProcessPassResolved?AX({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,p=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!!!"),p.forEach(function(t){if(!i.isValidLookup(A)){r=t;var o,s,c=l,p=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(p,l,t,e,a):(u&&(o=i.pluralResolver.getSuffix(t,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(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}(te);function tp(e){return e.charAt(0).toUpperCase()+e.slice(1)}var tg=function(){function e(A){Aq(this,e),this.options=A,this.whitelist=this.options.whitelist||!1,this.logger=A7.create("languageUtils")}return AZ(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]=tp(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]=tp(t[1].toLowerCase())),A.indexOf(t[2].toLowerCase())>-1&&(t[2]=tp(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}(),tm=[{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}],tf={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)}},th=function(){function e(A){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Aq(this,e),this.languageUtils=A,this.options=n,this.logger=A7.create("pluralResolver"),this.rules=(t={},tm.forEach(function(e){e.lngs.forEach(function(A){t[A]={numbers:e.nr,plurals:tf[e.fc]}})}),t)}return AZ(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}(),tw=function(){function e(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Aq(this,e),this.logger=A7.create("interpolator"),this.options=A,this.format=A.interpolation&&A.interpolation.format||function(e){return e},this.init(A)}return AZ(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:tl,this.escapeValue=void 0===A.escapeValue||A.escapeValue,this.useRawValueToEscape=void 0!==A.useRawValueToEscape&&A.useRawValueToEscape,this.prefix=A.prefix?ta(A.prefix):A.prefixEscaped||"{{",this.suffix=A.suffix?ta(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?ta(A.nestingPrefix):A.nestingPrefixEscaped||ta("$t("),this.nestingSuffix=A.nestingSuffix?ta(A.nestingSuffix):A.nestingSuffixEscaped||ta(")"),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 ti(A,s,e);var n=e.split(a.formatSeparator),r=n.shift().trim(),o=n.join(a.formatSeparator).trim();return a.format(ti(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=tt(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=tt(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=AX({},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=AX({},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=tt(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}(),tB=function(e){function A(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Aq(this,A),r=A1(this,A3(A).call(this)),te.call(A0(r)),r.backend=e,r.store=t,r.services=n,r.languageUtils=n.languageUtils,r.options=o,r.logger=A7.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,o.backend,o),r}return A2(A,e),AZ(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=A8(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=tn(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=A8(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,AX({},o,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],A,t,n))}}]),A}(te);function ty(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 tv(){}var tC=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(Aq(this,A),e=A1(this,A3(A).call(this)),te.call(A0(e)),e.options=ty(t),e.services={},e.logger=A7,e.modules={external:[]},n&&!e.isInitialized&&!t.isClone){if(!e.options.initImmediate)return e.init(t,n),A1(e,A0(e));setTimeout(function(){e.init(t,n)},0)}return e}return A2(A,e),AZ(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=AX({},{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"===Az(e[1])&&(A=e[1]),"string"==typeof e[1]&&(A.defaultValue=e[1]),"string"==typeof e[2]&&(A.tDescription=e[2]),"object"===Az(e[2])||"object"===Az(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,ty(A)),this.format=this.options.interpolation.format,t||(t=tv),!this.options.isClone){this.modules.logger?A7.init(n(this.modules.logger),this.options):A7.init(null,this.options);var r=new tg(this.options);this.store=new tc(this.options.resources,this.options);var o=this.services;o.logger=A7,o.resourceStore=this.store,o.languageUtils=r,o.pluralResolver=new th(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o.interpolator=new tw(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new tB(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 td(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=tA(),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]:tv;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=tA();return e||(e=this.languages),A||(A=this.options.ns),t||(t=tv),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&&tu.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,A){var t=this,n=tA();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"!==Az(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=AX({},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=tA();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=tA();"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]:tv,r=AX({},this.options,t,{isClone:!0}),o=new A(r);return["store","services","language"].forEach(function(A){o[A]=e[A]}),o.translator=new td(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}(te));let{TOOLBAR_SECTIONS:tS}=_.ToolbarService,tE=e=>[{commandName:"setViewportForToolConfiguration",commandOptions:{toolName:e}}],tI={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:["default","mpr","SRToolGroup","volume3d"]}},tU={"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:tC.t("Buttons:Status"),tooltip:tC.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:tC.t("Buttons:Navigation"),tooltip:tC.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:tC.t("Buttons:Tracking Status"),tooltip:tC.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:tC.t("Buttons:Data Overlay"),tooltip:tC.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:tC.t("Buttons:Orientation"),tooltip:tC.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:tC.t("Buttons:Window Level"),tooltip:tC.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:tC.t("Buttons:Window Level"),tooltip:tC.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenu"}}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:tC.t("Buttons:Advanced Window Level"),tooltip:tC.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:tC.t("Buttons:Threshold"),tooltip:tC.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:tC.t("Buttons:Opacity"),tooltip:tC.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:tC.t("Buttons:Colorbar")}},{id:"Reset",uiType:"ohif.toolButton",props:{icon:"tool-reset",label:tC.t("Buttons:Reset View"),tooltip:tC.t("Buttons:Reset View"),commands:"resetViewport",evaluate:"evaluate.action"}},{id:"rotate-right",uiType:"ohif.toolButton",props:{icon:"tool-rotate-right",label:tC.t("Buttons:Rotate Right"),tooltip:tC.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:tC.t("Buttons:Flip Horizontal"),tooltip:tC.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:tC.t("Buttons:Image Slice Sync"),tooltip:tC.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:tC.t("Buttons:Reference Lines"),tooltip:tC.t("Buttons:Show Reference Lines"),commands:"toggleEnabledDisabledToolbar",listeners:{[_.ViewportGridService.EVENTS.ACTIVE_VIEWPORT_ID_CHANGED]:tE("ReferenceLines"),[_.ViewportGridService.EVENTS.VIEWPORTS_READY]:tE("ReferenceLines")},evaluate:["evaluate.cornerstoneTool.toggle",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"ImageOverlayViewer",uiType:"ohif.toolButton",props:{icon:"toggle-dicom-overlay",label:tC.t("Buttons:Image Overlay"),tooltip:tC.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:tC.t("Buttons:Stack Scroll"),tooltip:tC.t("Buttons:Stack Scroll"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"invert",uiType:"ohif.toolButton",props:{icon:"tool-invert",label:tC.t("Buttons:Invert"),tooltip:tC.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:tC.t("Buttons:Probe"),tooltip:tC.t("Buttons:Probe"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"Cine",uiType:"ohif.toolButton",props:{icon:"tool-cine",label:tC.t("Buttons:Cine"),tooltip:tC.t("Buttons:Cine"),commands:"toggleCine",evaluate:["evaluate.cine",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["volume3d"]}]}},{id:"Angle",uiType:"ohif.toolButton",props:{icon:"tool-angle",label:tC.t("Buttons:Angle"),tooltip:tC.t("Buttons:Angle"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"CobbAngle",uiType:"ohif.toolButton",props:{icon:"icon-tool-cobb-angle",label:tC.t("Buttons:Cobb Angle"),tooltip:tC.t("Buttons:Cobb Angle"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"Magnify",uiType:"ohif.toolButton",props:{icon:"tool-magnify",label:tC.t("Buttons:Zoom-in"),tooltip:tC.t("Buttons:Zoom-in"),commands:tI,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"CalibrationLine",uiType:"ohif.toolButton",props:{icon:"tool-calibration",label:tC.t("Buttons:Calibration"),tooltip:tC.t("Buttons:Calibration Line"),commands:tI,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"TagBrowser",uiType:"ohif.toolButton",props:{icon:"dicom-tag-browser",label:tC.t("Buttons:Dicom Tag Browser"),tooltip:tC.t("Buttons:Dicom Tag Browser"),commands:"openDICOMTagViewer"}},{id:"AdvancedMagnify",uiType:"ohif.toolButton",props:{icon:"icon-tool-loupe",label:tC.t("Buttons:Magnify Probe"),tooltip:tC.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:tC.t("Buttons:Ultrasound Directional"),tooltip:tC.t("Buttons:Ultrasound Directional"),commands:tI,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.modality.supported",supportedModalities:["US"]}]}},{id:"WindowLevelRegion",uiType:"ohif.toolButton",props:{icon:"icon-tool-window-region",label:tC.t("Buttons:Window Level Region"),tooltip:tC.t("Buttons:Window Level Region"),commands:tI,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["video"]}]}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:tC.t("Buttons:Length"),tooltip:tC.t("Buttons:Length Tool"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:tC.t("Buttons:Bidirectional"),tooltip:tC.t("Buttons:Bidirectional Tool"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:tC.t("Buttons:Annotation"),tooltip:tC.t("Buttons:Arrow Annotate"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:tC.t("Buttons:Ellipse"),tooltip:tC.t("Buttons:Ellipse ROI"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROI",uiType:"ohif.toolButton",props:{icon:"tool-rectangle",label:tC.t("Buttons:Rectangle"),tooltip:tC.t("Buttons:Rectangle ROI"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"CircleROI",uiType:"ohif.toolButton",props:{icon:"tool-circle",label:tC.t("Buttons:Circle"),tooltip:tC.t("Buttons:Circle Tool"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"PlanarFreehandROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-freehand-roi",label:tC.t("Buttons:Freehand ROI"),tooltip:tC.t("Buttons:Freehand ROI"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"SplineROI",uiType:"ohif.toolButton",props:{icon:"icon-tool-spline-roi",label:tC.t("Buttons:Spline ROI"),tooltip:tC.t("Buttons:Spline ROI"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"LivewireContour",uiType:"ohif.toolButton",props:{icon:"icon-tool-livewire",label:tC.t("Buttons:Livewire tool"),tooltip:tC.t("Buttons:Livewire tool"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:tC.t("Buttons:Window Level"),commands:tI,evaluate:["evaluate.cornerstoneTool",{name:"evaluate.viewport.supported",unsupportedViewportTypes:["wholeSlide"]}]}},{id:"Pan",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-move",label:tC.t("Buttons:Pan"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-zoom",label:tC.t("Buttons:Zoom"),commands:tI,evaluate:"evaluate.cornerstoneTool"}},{id:"TrackballRotate",uiType:"ohif.toolButton",props:{type:"tool",icon:"tool-3d-rotate",label:tC.t("Buttons:3D Rotate"),commands:tI,evaluate:{name:"evaluate.cornerstoneTool",disabledText:tC.t("Buttons:Select a 3D viewport to enable this tool")}}},{id:"Capture",uiType:"ohif.toolButton",props:{icon:"tool-capture",label:tC.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:tC.t("Buttons:Crosshairs"),tooltip:tC.t("Buttons:Click to toggle on or off"),commands:{commandName:"toggleActiveDisabledToolbar",commandOptions:{toolGroupIds:["mpr"]}},evaluate:{name:"evaluate.cornerstoneTool.toggleWithModifier",disabledText:tC.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:tC.t("Buttons:Segment Label Display"),tooltip:tC.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":{[tS.primary]:["MeasurementTools","Zoom","Pan","TrackballRotate","WindowLevel","Capture","Layout","Crosshairs","MoreTools"],[tS.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[tS.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[tS.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[tS.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"]}};var tb=O(7598),tF=O.n(tb);function tQ(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 tT(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 tD=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 tO(e,A){var t=function(e){var A=e.name;if(A&&-1!==A.lastIndexOf(".")&&!e.type){var t=A.split(".").pop().toLowerCase(),n=tD.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 tM=[".DS_Store","Thumbs.db"];function tx(e){return tQ(this,void 0,void 0,function(){return tT(this,function(A){var t;return[2,e.dataTransfer&&e.dataTransfer?function(e,A){return tQ(this,void 0,void 0,function(){var t;return tT(this,function(n){switch(n.label){case 0:if(!e.items)return[3,2];if(t=tL(e.items).filter(function(e){return"file"===e.kind}),"drop"!==A)return[2,t];return[4,Promise.all(t.map(tN))];case 1:return[2,tH(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,tH(tL(e.files).map(function(e){return tO(e)}))]}})})}(e.dataTransfer,e.type):(null!==(t=e).target&&t.target.files?tL(t.target.files):[]).map(function(e){return tO(e)})]})})}function tH(e){return e.filter(function(e){return -1===tM.indexOf(e.name)})}function tL(e){for(var A=[],t=0;t<e.length;t++){var n=e[t];A.push(n)}return A}function tN(e){if("function"!=typeof e.webkitGetAsEntry)return tV(e);var A=e.webkitGetAsEntry();return A&&A.isDirectory?t_(A):tV(e)}function tV(e){var A=e.getAsFile();return A?Promise.resolve(tO(A)):Promise.reject(e+" is not a File")}function tR(e){return tQ(this,void 0,void 0,function(){return tT(this,function(A){return[2,e.isDirectory?t_(e):function(e){return tQ(this,void 0,void 0,function(){return tT(this,function(A){return[2,new Promise(function(A,t){e.file(function(t){A(tO(t,e.fullPath))},function(e){t(e)})})]})})}(e)]})})}function t_(e){var A=e.createReader();return new Promise(function(e,t){var n=[];!function r(){var o=this;A.readEntries(function(A){return tQ(o,void 0,void 0,function(){var o;return tT(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(tR)),n.push(o),r(),i.label=6;case 6:return[2]}})})},function(e){t(e)})}()})}var tk=O(6309);function tP(e,A){return"application/x-moz-file"===e.type||(0,tk.A)(e,A)}function tG(e,A,t){if(tK(e.size)){if(tK(A)&&tK(t))return e.size>=A&&e.size<=t;else if(tK(A))return e.size>=A;else if(tK(t))return e.size<=t}return!0}function tK(e){return null!=e}function tj(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function tW(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 tY(e){e.preventDefault()}function tz(){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!tj(e)&&A&&A.apply(void 0,[e].concat(n)),tj(e)})}}function tJ(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 tX(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 tq(e){for(var A=1;A<arguments.length;A++){var t=null!=arguments[A]?arguments[A]:{};A%2?tX(t,!0).forEach(function(A){t$(e,A,t[A])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):tX(t).forEach(function(A){Object.defineProperty(e,A,Object.getOwnPropertyDescriptor(t,A))})}return e}function t$(e,A,t){return A in e?Object.defineProperty(e,A,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[A]=t,e}function tZ(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 t0=(0,D.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?tx: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,U=void 0===I||I,b=i.noClick,F=void 0!==b&&b,Q=i.noKeyboard,T=void 0!==Q&&Q,O=i.noDrag,M=void 0!==O&&O,x=i.noDragEventsBubbling,H=void 0!==x&&x,L=(0,D.useRef)(null),N=(0,D.useRef)(null),V=function(e){if(Array.isArray(e))return e}(e=(0,D.useReducer)(t3,t1))||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,D.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 E&&E()))},300)};(0,D.useEffect)(function(){return window.addEventListener("focus",j,!1),function(){window.removeEventListener("focus",j,!1)}},[N,P,E]);var W=(0,D.useCallback)(function(e){L.current&&L.current.isEqualNode(e.target)&&(32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),K())},[L,N]),Y=(0,D.useCallback)(function(){_({type:"focus"})},[]),z=(0,D.useCallback)(function(){_({type:"blur"})},[]),J=(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())},[N,F]),X=(0,D.useRef)([]),q=function(e){L.current&&L.current.contains(e.target)||(e.preventDefault(),X.current=[])};(0,D.useEffect)(function(){return U&&(document.addEventListener("dragover",tY,!1),document.addEventListener("drop",q,!1)),function(){U&&(document.removeEventListener("dragover",tY),document.removeEventListener("drop",q))}},[L,U]);var $=(0,D.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),-1===X.current.indexOf(e.target)&&(X.current=[].concat(tJ(X.current),[e.target])),tW(e)&&Promise.resolve(u(e)).then(function(A){(!tj(e)||H)&&(_({draggedFiles:A,isDragActive:!0,type:"setDraggedFiles"}),w&&w(e))})},[u,w,H]),Z=(0,D.useCallback)(function(e){if(e.preventDefault(),e.persist(),eo(e),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return tW(e)&&y&&y(e),!1},[y,H]),ee=(0,D.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:[]}),tW(e)&&B&&B(e))},[L,B,H]),eA=(0,D.useCallback)(function(e){e.preventDefault(),e.persist(),eo(e),X.current=[],tW(e)&&Promise.resolve(u(e)).then(function(A){if(!tj(e)||H){var t=[],n=[];A.forEach(function(e){tP(e,a)&&tG(e,m,p)?t.push(e):n.push(e)}),!h&&t.length>1&&n.push.apply(n,tJ(t.splice(0))),_({acceptedFiles:t,rejectedFiles:n,type:"setFiles"}),v&&v(t,n,e),n.length>0&&S&&S(n,e),t.length>0&&C&&C(t,e)}}),_({type:"reset"})},[h,a,m,p,u,v,C,S,H]),et=function(e){return l?null:e},en=function(e){return T?null:et(e)},er=function(e){return M?null:et(e)},eo=function(e){H&&e.stopPropagation()},ei=(0,D.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=tZ(e,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return tq(t$({onKeyDown:en(tz(t,W)),onFocus:en(tz(n,Y)),onBlur:en(tz(r,z)),onClick:et(tz(o,J)),onDragEnter:er(tz(i,$)),onDragOver:er(tz(a,Z)),onDragLeave:er(tz(s,ee)),onDrop:er(tz(c,eA))},void 0===A?"ref":A,L),l||T?{}:{tabIndex:0},{},u)}},[L,W,Y,z,J,$,Z,ee,eA,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]:{},A=e.refKey,t=e.onChange,n=e.onClick,r=tZ(e,["refKey","onChange","onClick"]);return tq({},t$({accept:a,multiple:h,type:"file",style:{display:"none"},onChange:et(tz(t,eA)),onClick:et(tz(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:p,multiple:h}).files,n=A.accept,r=A.minSize,o=A.maxSize,(!!A.multiple||!(t.length>1))&&t.every(function(e){return tP(e,n)&&tG(e,r,o)}));return tq({},R,{isDragAccept:ec,isDragReject:el>0&&!ec,isFocused:k&&!l,getRootProps:ei,getInputProps:es,rootRef:L,inputRef:N,open:et(K)})}(tZ(e,["children"])),r=n.open,o=tZ(n,["open"]);return(0,D.useImperativeHandle)(A,function(){return{open:r}},[r]),D.createElement(D.Fragment,null,t(tq({},o,{open:r})))});t0.displayName="Dropzone",t0.propTypes={children:tF().func,accept:tF().oneOfType([tF().string,tF().arrayOf(tF().string)]),multiple:tF().bool,preventDropOnDocument:tF().bool,noClick:tF().bool,noKeyboard:tF().bool,noDrag:tF().bool,noDragEventsBubbling:tF().bool,minSize:tF().number,maxSize:tF().number,disabled:tF().bool,getFilesFromEvent:tF().func,onFileDialogCancel:tF().func,onDragEnter:tF().func,onDragLeave:tF().func,onDragOver:tF().func,onDrop:tF().func,onDropAccepted:tF().func,onDropRejected:tF().func};var t1={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function t3(e,A){switch(A.type){case"focus":return tq({},e,{isFocused:!0});case"blur":return tq({},e,{isFocused:!1});case"openDialog":return tq({},e,{isFileDialogActive:!0});case"closeDialog":return tq({},e,{isFileDialogActive:!1});case"setDraggedFiles":var t=A.isDragActive;return tq({},e,{draggedFiles:A.draggedFiles,isDragActive:t});case"setFiles":return tq({},e,{acceptedFiles:A.acceptedFiles,rejectedFiles:A.rejectedFiles});case"reset":return tq({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]});default:return e}}var t4=O(5530),t2=O.n(t4);let t6={PROGRESS:"event:DicomFileUploader:progress"},t9=((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 t8{constructor(e,A){this.message=void 0,this.status=void 0,this.message=A,this.status=e}}class t5 extends _.PubSubService{constructor(e,A){super(t6),this._file=void 0,this._fileId=void 0,this._dataSource=void 0,this._loadPromise=void 0,this._abortController=new AbortController,this._status=t9.NotStarted,this._percentComplete=0,this._file=e,this._fileId=W().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=t9.InProgress,this._percentComplete=Math.round(100*e.loaded/e.total),this._broadcastEvent(t6.PROGRESS,{fileId:this._fileId,percentComplete:this._percentComplete}))},timeout:()=>{this._reject(A,new t8(t9.Failed,"The request timed out."))},abort:()=>{this._reject(A,new t8(t9.Cancelled,"Cancelled"))},error:()=>{this._reject(A,new t8(t9.Failed,"The request failed."))}};W().wadouri.loadFileRequest(this._fileId).then(n=>{if(this._abortController.signal.aborted)return void this._reject(A,new t8(t9.Cancelled,"Cancelled"));if(!this._checkDicomFile(n))return void this._reject(A,new t8(t9.Failed,"Not a valid DICOM file."));let r=new XMLHttpRequest;return this._addRequestCallbacks(r,t),this._dataSource.store.dicom(n,r).then(()=>{this._status=t9.Success,e()}).catch(e=>{this._reject(A,e)})}).catch(e=>{this._reject(A,e)})})),this._loadPromise}_isRejected(){return this._status===t9.Failed||this._status===t9.Cancelled}_reject(e,A){if(!this._isRejected()){if(A instanceof t8){this._status=A.status,e(A);return}if(this._status=t9.Failed,A.message)return void e(new t8(t9.Failed,A.message));e(new t8(t9.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 t7=(0,D.memo)(({dicomFileUploader:e})=>{let[A,t]=(0,D.useState)(e.getPercentComplete()),[n,r]=(0,D.useState)(""),[o,i]=(0,D.useState)(e.getStatus()),a=(0,D.useCallback)(()=>o===t9.Failed||o===t9.Cancelled||o===t9.Success,[o]);(0,D.useEffect)(()=>{let A=e.subscribe(t6.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,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 t9.Success:return D.createElement(Ad.Icons.ByName,{name:"status-tracked",className:"text-highlight"});case t9.InProgress:return D.createElement(Ad.Icons.ByName,{name:"icon-transferring",className:"text-highlight"});case t9.Failed:return D.createElement(Ad.Icons.ByName,{name:"icon-alert-small",className:"text-destructive"});case t9.Cancelled:return D.createElement(Ad.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()===t9.InProgress&&D.createElement("div",{className:"w-10 text-right"},A,"%"),D.createElement("div",{className:"ml-auto flex cursor-pointer"},D.createElement(Ad.Icons.Close,{className:"text-primary self-center",onClick:s})))))});t7.propTypes={dicomFileUploader:tF().instanceOf(t5).isRequired};let ne="text-ellipsis whitespace-nowrap overflow-hidden";function nA({dicomFileUploaderArr:e,onComplete:A}){let{servicesManager:t}=(0,_.useSystem)(),n=t.services.customizationService.getCustomization("ui.progressLoadingBar"),[r]=(0,D.useState)(e.reduce((e,A)=>e+A.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,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,D.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===t9.Failed&&g(e=>e+1)}).finally(()=>{n(100),d(e=>e+1)}),e.subscribe(t6.PROGRESS,e=>{n(e.percentComplete)})});return()=>{t.forEach(e=>e.unsubscribe())}},[]);let w=(0,D.useCallback)(async()=>{for(let A of e)new Promise((e,t)=>{setTimeout(()=>{A.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 A=u.toString().length+e.length.toString().length;return{width:`${A+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(Ad.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:ne},`${e.length} ${e.length>1?"files":"file"} completed.`),D.createElement(Ad.Button,{disabled:!1,className:"ml-auto",onClick:A},"Close")):D.createElement(D.Fragment,null,D.createElement("div",{className:"flex flex-wrap"},D.createElement("span",{style:C(),className:t2()(ne,"text-right")},`${u} of ${e.length}`,"\xa0"),D.createElement("span",{className:ne}," 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()===t9.Failed).map(e=>D.createElement(t7,{key:e.getFileId(),dicomFileUploader:e})))))}function nt(){return(nt=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 nn({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,D.useState)([]),i=(0,D.useCallback)(async A=>{t(),o(A.map(A=>new t5(A,e)))},[]);return D.createElement(D.Fragment,null,r.length?D.createElement("div",{className:t2()("h-[calc(100vh-300px)]",n)},D.createElement(nA,{dicomFileUploaderArr:Array.from(r),onComplete:A})):D.createElement("div",{className:t2()("h-[480px]",n)},D.createElement(t0,{onDrop:e=>{i(e)},noClick:!0},({getRootProps:e})=>D.createElement("div",nt({},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(t0,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:A})=>D.createElement("div",e(),D.createElement(Ad.Button,{variant:"default",size:"lg",disabled:!1,onClick:()=>{}},"Add files",D.createElement("input",nt({},A(),{style:{display:"none"}}))))),D.createElement(t0,{onDrop:i,noDrag:!0},({getRootProps:e,getInputProps:A})=>D.createElement("div",e(),D.createElement(Ad.Button,{variant:"secondary",size:"lg",disabled:!1,onClick:()=>{}},"Add folder",D.createElement("input",nt({},A(),{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)")))))}nA.propTypes={dicomFileUploaderArr:tF().arrayOf(tF().instanceOf(t5)).isRequired,onComplete:tF().func.isRequired},nn.propTypes={dataSource:tF().object.isRequired,onComplete:tF().func.isRequired,onStarted:tF().func.isRequired};let nr=nn,no=Object.assign(nr,{containerClassName:"max-w-3xl"}),ni={cinePlayer:Ad.CinePlayer,autoCineModalities:["OT","US"],"panelMeasurement.disableEditing":!1,onBeforeSRAddMeasurement:({measurement:e,StudyInstanceUID:A,SeriesInstanceUID:t})=>e,onBeforeDicomStore:({dicomDict:e,measurementData:A,naturalizedReport:t})=>e,dicomUploadComponent:no,codingValues:{}},na="image",ns={"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[p,g]=(0,D.useState)(null),[m,f]=(0,D.useState)(!0),[h,w]=(0,D.useState)(na),[B,y]=(0,D.useState)("jpg"),{t:v}=AD("CaptureViewportModal");return(0,D.useEffect)(()=>{if(p)return l(p),()=>{c()}},[c,l,p]),D.createElement(Ad.ImageModal,null,D.createElement(Ad.ImageModal.Body,null,D.createElement(Ad.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(Ad.ImageModal.ImageOptions,null,D.createElement("div",{className:"flex items-end space-x-2"},D.createElement(Ad.ImageModal.Filename,{value:h,onChange:e=>w(e.target.value)},v("File name")),D.createElement(Ad.ImageModal.Filetype,{selected:B,onSelect:y,options:t})),D.createElement(Ad.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")),D.createElement(Ad.ImageModal.SwitchOption,{defaultChecked:r,checked:r,onCheckedChange:o},v("Include annotations")),a.enabled&&D.createElement(Ad.ImageModal.SwitchOption,{defaultChecked:m,checked:m,onCheckedChange:f},v("Include warning message")),D.createElement(Ad.FooterAction,{className:"mt-2"},D.createElement(Ad.FooterAction.Right,null,D.createElement(Ad.FooterAction.Secondary,{onClick:e},v("Common:Cancel")),D.createElement(Ad.FooterAction.Secondary,{onClick:async()=>{try{await d(),Ad.toast.success(v("Image copied to clipboard")),e()}catch(e){Ad.toast.error(v("Failed to copy image to clipboard")),console.error("Failed to copy to clipboard:",e)}}},v("Copy to Clipboard")),D.createElement(Ad.FooterAction.Primary,{onClick:()=>{u(h||na,B),e()}},v("Save Image")))))))}},nl={"viewportDownload.warningMessage":{enabled:!0,value:"Not For Diagnostic Use"}};var nc=O(6974),nu=O(933),nd=O(7155);function np(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 ng=e=>`VOI_SYNC_${e}`;var nm=O(2140),nf=O(6739);O(1978);let nh=(0,nf.vt)()(e=>({selectedSegmentationsForViewport:{},type:"selectedSegmentationsForViewportId",setSelectedSegmentationsForViewport:(A,t)=>e(e=>({selectedSegmentationsForViewport:{...e.selectedSegmentationsForViewport,[A]:t}}),!1,"setSelectedSegmentationsForViewport"),clearSelectedSegmentationsForViewportStore:()=>e({selectedSegmentationsForViewport:{}},!1,"clearSelectedSegmentationsForViewportStore")}));var nw=function(e,A){return(nw=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 nB(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}nw(e,A),e.prototype=null===A?Object.create(A):(t.prototype=A.prototype,new t)}var ny=function(){return(ny=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 nv(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 nC(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 nS(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 nE=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}(),nI=function(e,A){return nE.fromClientRect(e,A.getBoundingClientRect())},nU=function(e){var A=e.body,t=e.documentElement;if(!A||!t)throw Error("Unable to get document size");return new nE(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)))},nb=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},nF=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},nQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nT="u"<typeof Uint8Array?[]:new Uint8Array(256),nD=0;nD<nQ.length;nD++)nT[nQ.charCodeAt(nD)]=nD;for(var nO="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nM="u"<typeof Uint8Array?[]:new Uint8Array(256),nx=0;nx<nO.length;nx++)nM[nO.charCodeAt(nx)]=nx;for(var nH=2112,nL=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},nN=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=nH-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}(),nV="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nR="u"<typeof Uint8Array?[]:new Uint8Array(256),n_=0;n_<nV.length;n_++)nR[nV.charCodeAt(n_)]=n_;var nk=[9001,65288],nP=(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=nM[e.charCodeAt(A)],n=nM[e.charCodeAt(A+1)],r=nM[e.charCodeAt(A+2)],o=nM[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=nL(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]?nL(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 nN(n[0],n[1],n[2],n[3],o,a)),nG=[30,36],nK=[1,2,3,5],nj=[10,8],nW=[27,26],nY=nK.concat(nj),nz=[38,39,40,34,35],nJ=[15,13],nX=function(e,A){void 0===A&&(A="strict");var t=[],n=[],r=[];return e.forEach(function(e,o){var i=nP.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===nY.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]},nq=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},n$=function(e,A){for(var t=e;t>=0;){var n=A[t];if(10!==n)return n;t--}return 0},nZ=function(e,A,t,n,r){if(0===t[n])return"\xd7";var o=n-1;if(Array.isArray(r)&&!0===r[o])return"\xd7";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"\xd7";if(-1!==nK.indexOf(s))return"!";if(-1!==nK.indexOf(c)||-1!==nj.indexOf(c))return"\xd7";if(8===n$(o,A))return"\xf7";if(11===nP.get(e[o])||(32===s||33===s)&&11===nP.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===n$(o,A)||nq(23,22,o,A)||nq([17,18],21,o,A)||nq(12,12,o,A))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!==nJ.indexOf(s)||28===s&&36===c||20===c||-1!==nG.indexOf(c)&&25===s||-1!==nG.indexOf(s)&&25===c||27===s&&-1!==[37,32,33].indexOf(c)||-1!==[37,32,33].indexOf(s)&&26===c||-1!==nG.indexOf(s)&&-1!==nW.indexOf(c)||-1!==nW.indexOf(s)&&-1!==nG.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"\xd7";if(-1!==[25,28,24,17,18].indexOf(c))for(var u=o;u>=0;){var d=A[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=A[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!==nz.indexOf(s)&&-1!==[20,26].indexOf(c)||-1!==nz.indexOf(c)&&27===s||-1!==nG.indexOf(s)&&-1!==nG.indexOf(c)||24===s&&-1!==nG.indexOf(c)||-1!==nG.concat(25).indexOf(s)&&22===c&&-1===nk.indexOf(e[a])||-1!==nG.concat(25).indexOf(c)&&18===s)return"\xd7";if(41===s&&41===c){for(var p=t[o],g=1;p>0;)if(41===A[--p])g++;else break;if(g%2!=0)return"\xd7"}return 32===s&&33===c?"\xd7":"\xf7"},n0=function(e,A){A||(A={lineBreak:"normal",wordBreak:"normal"});var t=nX(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]},n1=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 nF.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),n3=function(e,A){var t=nb(e),n=n0(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="\xd7";l<a&&"\xd7"===(e=nZ(t,o,r,++l,i)););if("\xd7"!==e||l===a){var A=new n1(t,e,s,l);return s=l,{value:A,done:!1}}return{done:!0,value:null}}}},n4=function(e){return e>=48&&e<=57},n2=function(e){return n4(e)||e>=65&&e<=70||e>=97&&e<=102},n6=function(e){return e>=97&&e<=122||e>=65&&e<=90},n9=function(e){return 10===e||9===e||32===e},n8=function(e){return n6(e)||e>=128||95===e},n5=function(e){return n8(e)||n4(e)||45===e},n7=function(e,A){return 92===e&&10!==A},re=function(e,A,t){return 45===e?n8(A)||n7(A,t):!!(n8(e)||92===e&&n7(e,A))||!1},rA=function(e,A,t){return 43===e||45===e?!!n4(A)||46===A&&n4(t):46===e?n4(A):n4(e)},rt=function(e){var A=0,t=1;(43===e[0]||45===e[A])&&(45===e[A]&&(t=-1),A++);for(var n=[];n4(e[A]);)n.push(e[A++]);var r=n.length?parseInt(nF.apply(void 0,n),10):0;46===e[A]&&A++;for(var o=[];n4(e[A]);)o.push(e[A++]);var i=o.length,a=i?parseInt(nF.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=[];n4(e[A]);)l.push(e[A++]);return t*(r+a*Math.pow(10,-i))*Math.pow(10,s*(l.length?parseInt(nF.apply(void 0,l),10):0))},rn={type:2},rr={type:3},ro={type:4},ri={type:13},ra={type:8},rs={type:21},rl={type:9},rc={type:10},ru={type:11},rd={type:12},rp={type:14},rg={type:23},rm={type:1},rf={type:25},rh={type:24},rw={type:26},rB={type:27},ry={type:28},rv={type:29},rC={type:31},rS={type:32},rE=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(nb(e))},e.prototype.read=function(){for(var e=[],A=this.consumeToken();A!==rS;)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(n5(A)||n7(t,n)){var r=re(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(),ri;break;case 39:return this.consumeStringToken(39);case 40:return rn;case 41:return rr;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rp;break;case 43:case 46:if(rA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return ro;case 45:var i=this.peekCodePoint(0),a=this.peekCodePoint(1);if(rA(e,i,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(re(e,i,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===i&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),rh;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 rw;case 59:return rB;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),rf;break;case 64:if(re(this.peekCodePoint(0),this.peekCodePoint(1),this.peekCodePoint(2))){var o=this.consumeName();return{type:7,value:o}}break;case 91:return ry;case 92:if(n7(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return rv;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ra;break;case 123:return ru;case 125:return rd;case 117:case 85:var l=this.peekCodePoint(0),c=this.peekCodePoint(1);return 43===l&&(n2(c)||63===c)&&(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rl;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rs;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rc;break;case -1:return rS}return n9(e)?(this.consumeWhiteSpace(),rC):n4(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):n8(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:nF(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();n2(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(nF.apply(void 0,e.map(function(e){return 63===e?48:e})),16),r=parseInt(nF.apply(void 0,e.map(function(e){return 63===e?70:e})),16);return{type:30,start:n,end:r}}var o=parseInt(nF.apply(void 0,e),16);if(!(45===this.peekCodePoint(0)&&n2(this.peekCodePoint(1))))return{type:30,start:o,end:o};this.consumeCodePoint(),A=this.consumeCodePoint();for(var i=[];n2(A)&&i.length<6;)i.push(A),A=this.consumeCodePoint();var r=parseInt(nF.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(),rg)}for(;;){var n,r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:nF.apply(void 0,e)};if(n9(r)){if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))return this.consumeCodePoint(),{type:22,value:nF.apply(void 0,e)};return this.consumeBadUrlRemnants(),rg}if(34===r||39===r||40===r||(n=r)>=0&&n<=8||11===n||n>=14&&n<=31||127===n)return this.consumeBadUrlRemnants(),rg;if(92===r)if(!n7(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),rg;else e.push(this.consumeEscapedCodePoint());else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;n9(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;n7(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var A="";e>0;){var t=Math.min(5e4,e);A+=nF.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),rm;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()):n7(n,r)&&(A+=this.consumeStringSlice(t),A+=nF(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());n4(this.peekCodePoint(0));)e.push(this.consumeCodePoint());t=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===t&&n4(n))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;n4(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)&&n4(r)||n4(n)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),A=8;n4(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[rt(e),A]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),A=e[0],t=e[1],n=this.peekCodePoint(0);return re(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(n2(e)){for(var A=nF(e);n2(this.peekCodePoint(0))&&A.length<6;)A+=nF(this.consumeCodePoint());n9(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(n5(A))e+=nF(A);else{if(!n7(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),e;e+=nF(this.consumeEscapedCodePoint())}}},e}(),rI=function(){function e(e){this._tokens=e}return e.create=function(A){var t=new rE;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||rx(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?rS:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),rU=function(e){return 15===e.type},rb=function(e){return 17===e.type},rF=function(e){return 20===e.type},rQ=function(e){return 0===e.type},rT=function(e,A){return rF(e)&&e.value===A},rD=function(e){return 31!==e.type},rO=function(e){return 31!==e.type&&4!==e.type},rM=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},rx=function(e,A){return 11===A&&12===e.type||28===A&&29===e.type||2===A&&3===e.type},rH=function(e){return 17===e.type||15===e.type},rL=function(e){return 16===e.type||rH(e)},rN=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},rV={type:17,number:0,flags:4},rR={type:16,number:50,flags:4},r_={type:16,number:100,flags:4},rk=function(e,A,t){var n=e[0],r=e[1];return[rP(n,A),rP(void 0!==r?r:n,t)]},rP=function(e,A){if(16===e.type)return e.number/100*A;if(rU(e))switch(e.unit){case"rem":case"em":return 16*e.number}return e.number},rG="grad",rK="turn",rj=function(e,A){if(15===A.type)switch(A.unit){case"deg":return Math.PI*A.number/180;case rG:return Math.PI/200*A.number;case"rad":return A.number;case rK:return 2*Math.PI*A.number}throw Error("Unsupported angle type")},rW=function(e){return 15===e.type&&("deg"===e.unit||e.unit===rG||"rad"===e.unit||e.unit===rK)},rY=function(e){switch(e.filter(rF).map(function(e){return e.value}).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[rV,rV];case"to top":case"bottom":return rz(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[rV,r_];case"to right":case"left":return rz(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[r_,r_];case"to bottom":case"top":return rz(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[r_,rV];case"to left":case"right":return rz(270)}return 0},rz=function(e){return Math.PI*e/180},rJ=function(e,A){if(18===A.type){var t=r4[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 r$(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 r$(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 r$(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 r$(parseInt(n,16),parseInt(r,16),parseInt(o,16),parseInt(i,16)/255)}}if(20===A.type){var a=r6[A.value.toUpperCase()];if(void 0!==a)return a}return r6.TRANSPARENT},rX=function(e){return(255&e)==0},rq=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+")"},r$=function(e,A,t,n){return(e<<24|A<<16|t<<8|(0|Math.round(255*n)))>>>0},rZ=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},r0=function(e,A){var t=A.filter(rO);if(3===t.length){var n=t.map(rZ),r=n[0],o=n[1],i=n[2];return r$(r,o,i,1)}if(4===t.length){var a=t.map(rZ),r=a[0],o=a[1],i=a[2];return r$(r,o,i,a[3])}return 0};function r1(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 r3=function(e,A){var t=A.filter(rO),n=t[0],r=t[1],o=t[2],i=t[3],a=(17===n.type?rz(n.number):rj(e,n))/(2*Math.PI),s=rL(r)?r.number/100:0,l=rL(o)?o.number/100:0,c=void 0!==i&&rL(i)?rP(i,1):1;if(0===s)return r$(255*l,255*l,255*l,1);var u=l<=.5?l*(s+1):l+s-l*s,d=2*l-u;return r$(255*r1(d,u,a+1/3),255*r1(d,u,a),255*r1(d,u,a-1/3),c)},r4={hsl:r3,hsla:r3,rgb:r0,rgba:r0},r2=function(e,A){return rJ(e,rI.create(A).parseComponentValue())},r6={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},r9={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rF(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},r8={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},r5=function(e,A){var t=rJ(e,A[0]),n=A[1];return n&&rL(n)?{color:t,stop:n}:{color:t,stop:null}},r7=function(e,A){var t=e[0],n=e[e.length-1];null===t.stop&&(t.stop=rV),null===n.stop&&(n.stop=r_);for(var r=[],o=0,i=0;i<e.length;i++){var a=e[i].stop;if(null!==a){var s=rP(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),p=1;p<=u;p++)r[l+p-1]=d*p;l=null}}return e.map(function(e,t){return{color:e.color,stop:Math.max(Math.min(1,r[t]/A),0)}})},oe=function(e,A,t){var n=A/2,r=t/2,o=rP(e[0],A)-n;return(Math.atan2(r-rP(e[1],t),o)+2*Math.PI)%(2*Math.PI)},oA=function(e,A,t){var n="number"==typeof e?e:oe(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]},ot=function(e,A){return Math.sqrt(e*e+A*A)},on=function(e,A,t,n,r){return[[0,0],[0,A],[e,0],[e,A]].reduce(function(e,A){var o=ot(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},or=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(ot(A,t),ot(A,t-r),ot(A-n,t),ot(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=on(n,r,A,t,!0),l=s[0],c=s[1];o=ot(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(ot(A,t),ot(A,t-r),ot(A-n,t),ot(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=on(n,r,A,t,!1),l=u[0],c=u[1];o=ot(l-A,(c-t)/a),i=a*o}}return Array.isArray(e.size)&&(o=rP(e.size[0],n),i=2===e.size.length?rP(e.size[1],r):o),[o,i]},oo=function(e,A){var t=rz(180),n=[];return rM(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=rY(A);return}if(rW(o)){t=(rj(e,o)+rz(270))%rz(360);return}}var i=r5(e,A);n.push(i)}),{angle:t,stops:n,type:1}},oi="closest-side",oa="farthest-side",os="closest-corner",ol="farthest-corner",oc="circle",ou="ellipse",od="cover",op="contain",og=function(e,A){var t=0,n=3,r=[],o=[];return rM(A).forEach(function(A,i){var a=!0;if(0===i?a=A.reduce(function(e,A){if(rF(A))switch(A.value){case"center":return o.push(rR),!1;case"top":case"left":return o.push(rV),!1;case"right":case"bottom":return o.push(r_),!1}else if(rL(A)||rH(A))return o.push(A),!1;return e},a):1===i&&(a=A.reduce(function(e,A){if(rF(A))switch(A.value){case oc:return t=0,!1;case ou:return t=1,!1;case op:case oi:return n=0,!1;case oa:return n=1,!1;case os:return n=2,!1;case od:case ol:return n=3,!1}else if(rH(A)||rL(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)),a){var s=r5(e,A);r.push(s)}}),{size:n,shape:t,stops:r,position:o,type:2}},om=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=of[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)},of={"linear-gradient":function(e,A){var t=rz(180),n=[];return rM(A).forEach(function(A,r){if(0===r){var o=A[0];if(20===o.type&&"to"===o.value){t=rY(A);return}if(rW(o)){t=rj(e,o);return}}var i=r5(e,A);n.push(i)}),{angle:t,stops:n,type:1}},"-moz-linear-gradient":oo,"-ms-linear-gradient":oo,"-o-linear-gradient":oo,"-webkit-linear-gradient":oo,"radial-gradient":function(e,A){var t=0,n=3,r=[],o=[];return rM(A).forEach(function(A,i){var a=!0;if(0===i){var s=!1;a=A.reduce(function(e,A){if(s)if(rF(A))switch(A.value){case"center":o.push(rR);break;case"top":case"left":o.push(rV);break;case"right":case"bottom":o.push(r_)}else(rL(A)||rH(A))&&o.push(A);else if(rF(A))switch(A.value){case oc:return t=0,!1;case ou:return t=1,!1;case"at":return s=!0,!1;case oi:return n=0,!1;case od:case oa:return n=1,!1;case op:case os:return n=2,!1;case ol:return n=3,!1}else if(rH(A)||rL(A))return Array.isArray(n)||(n=[]),n.push(A),!1;return e},a)}if(a){var l=r5(e,A);r.push(l)}}),{size:n,shape:t,stops:r,position:o,type:2}},"-moz-radial-gradient":og,"-ms-radial-gradient":og,"-o-radial-gradient":og,"-webkit-radial-gradient":og,"-webkit-gradient":function(e,A){var t=rz(180),n=[],r=1;return rM(A).forEach(function(A,t){var o=A[0];if(0===t){if(rF(o)&&"linear"===o.value){r=1;return}else if(rF(o)&&"radial"===o.value){r=2;return}}if(18===o.type){if("from"===o.name){var i=rJ(e,o.values[0]);n.push({stop:rV,color:i})}else if("to"===o.name){var i=rJ(e,o.values[0]);n.push({stop:r_,color:i})}else if("color-stop"===o.name){var a=o.values.filter(rO);if(2===a.length){var i=rJ(e,a[1]),s=a[0];rb(s)&&n.push({stop:{type:16,number:100*s.number,flags:s.flags},color:i})}}}}),1===r?{angle:(t+rz(180))%rz(360),stops:n,type:r}:{size:3,shape:0,stops:n,position:[],type:r}}},oh={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 rO(e)&&(20!==(A=e).type||"none"!==A.value)&&(18!==A.type||!!of[A.name])}).map(function(A){return om(e,A)})}},ow={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,A){return A.map(function(e){if(rF(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0})}},oB={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,A){return rM(A).map(function(e){return e.filter(rL)}).map(rN)}},oy={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,A){return rM(A).map(function(e){return e.filter(rF).map(function(e){return e.value}).join(" ")}).map(ov)}},ov=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 oC={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,A){return rM(A).map(function(e){return e.filter(oS)})}},oS=function(e){return rF(e)||rL(e)},oE=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},oI=oE("top"),oU=oE("right"),ob=oE("bottom"),oF=oE("left"),oQ=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,A){return rN(A.filter(rL))}}},oT=oQ("top-left"),oD=oQ("top-right"),oO=oQ("bottom-right"),oM=oQ("bottom-left"),ox=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}}},oH=ox("top"),oL=ox("right"),oN=ox("bottom"),oV=ox("left"),oR=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return rU(A)?A.number:0}}},o_=oR("top"),ok=oR("right"),oP=oR("bottom"),oG=oR("left"),oK={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},oj={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,A){return+("rtl"===A)}},oW={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,A){return A.filter(rF).reduce(function(e,A){return e|oY(A.value)},0)}},oY=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},oz={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}},oJ={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=E||(E={})).NORMAL="normal",l.STRICT="strict";var oX={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"strict"===A?E.STRICT:E.NORMAL}},oq={name:"line-height",initialValue:"normal",prefix:!1,type:4},o$=function(e,A){return rF(e)&&"normal"===e.value?1.2*A:17===e.type?A*e.number:rL(e)?rP(e,A):A},oZ={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,A){return 20===A.type&&"none"===A.value?null:om(e,A)}},o0={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,A){return+("inside"!==A)}},o1={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}}},o3=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},o4=o3("top"),o2=o3("right"),o6=o3("bottom"),o9=o3("left"),o8={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,A){return A.filter(rF).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}})}},o5={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,A){return"break-word"===A?"break-word":"normal"}},o7=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},ie=o7("top"),iA=o7("right"),it=o7("bottom"),ir=o7("left"),io={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}}},ii={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}},ia={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&rT(A[0],"none")?[]:rM(A).map(function(A){for(var t={color:r6.TRANSPARENT,offsetX:rV,offsetY:rV,blur:rV},n=0,r=0;r<A.length;r++){var o=A[r];rH(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:t.blur=o,n++):t.color=rJ(e,o)}return t})}},is={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}},il={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=ic[A.name];if(void 0===t)throw Error('Attempting to parse an unsupported transform function "'+A.name+'"');return t(A.values)}return null}},ic={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}},iu={type:16,number:50,flags:4},id=[iu,iu],ip={name:"transform-origin",initialValue:"50% 50%",prefix:!0,type:1,parse:function(e,A){var t=A.filter(rL);return 2!==t.length?id:[t[0],t[1]]}},ig={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 im={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}}},ih={name:"z-index",initialValue:"auto",prefix:!1,type:0,parse:function(e,A){if(20===A.type)return{auto:!0,order:0};if(rb(A))return{auto:!1,order:A.number};throw Error("Invalid z-index number parsed")}},iw=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")},iB={name:"opacity",initialValue:"1",type:0,prefix:!1,parse:function(e,A){return rb(A)?A.number:1}},iy={name:"text-decoration-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},iv={name:"text-decoration-line",initialValue:"none",prefix:!1,type:1,parse:function(e,A){return A.filter(rF).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})}},iC={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+"'"})}},iS={name:"font-size",initialValue:"0",prefix:!1,type:3,format:"length"},iE={name:"font-weight",initialValue:"normal",type:0,prefix:!1,parse:function(e,A){return rb(A)?A.number:rF(A)&&"bold"===A.value?700:400}},iI={name:"font-variant",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return A.filter(rF).map(function(e){return e.value})}},iU={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"}}},ib=function(e,A){return(e&A)!=0},iF={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}},iQ={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(rD),o=0;o<r.length;o++){var i=r[o],a=r[o+1];if(20===i.type){var s=a&&rb(a)?a.number:1;n.push({counter:i.value,increment:s})}}return n}},iT={name:"counter-reset",initialValue:"none",prefix:!0,type:1,parse:function(e,A){if(0===A.length)return[];for(var t=[],n=A.filter(rD),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(rF(o)&&"none"!==o.value){var a=i&&rb(i)?i.number:0;t.push({counter:o.value,reset:a})}}return t}},iD={name:"duration",initialValue:"0s",prefix:!1,type:1,parse:function(e,A){return A.filter(rU).map(function(A){return iw(e,A)})}},iO={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(rQ);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}},iM=function(e,A,t){if(!e)return"";var n=e[Math.min(A,e.length-1)];return n?t?n.open:n.close:""},ix={name:"box-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,A){return 1===A.length&&rT(A[0],"none")?[]:rM(A).map(function(A){for(var t={color:255,offsetX:rV,offsetY:rV,blur:rV,spread:rV,inset:!1},n=0,r=0;r<A.length;r++){var o=A[r];rT(o,"inset")?t.inset=!0:rH(o)?(0===n?t.offsetX=o:1===n?t.offsetY=o:2===n?t.blur=o:t.spread=o,n++):t.color=rJ(e,o)}return t})}},iH={name:"paint-order",initialValue:"normal",prefix:!1,type:1,parse:function(e,A){var t=[];return A.filter(rF).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}},iL={name:"-webkit-text-stroke-color",initialValue:"currentcolor",prefix:!1,type:3,format:"color"},iN={name:"-webkit-text-stroke-width",initialValue:"0",type:0,prefix:!1,parse:function(e,A){return rU(A)?A.number:0}},iV=function(){function e(e,A){this.animationDuration=ik(e,iD,A.animationDuration),this.backgroundClip=ik(e,r9,A.backgroundClip),this.backgroundColor=ik(e,r8,A.backgroundColor),this.backgroundImage=ik(e,oh,A.backgroundImage),this.backgroundOrigin=ik(e,ow,A.backgroundOrigin),this.backgroundPosition=ik(e,oB,A.backgroundPosition),this.backgroundRepeat=ik(e,oy,A.backgroundRepeat),this.backgroundSize=ik(e,oC,A.backgroundSize),this.borderTopColor=ik(e,oI,A.borderTopColor),this.borderRightColor=ik(e,oU,A.borderRightColor),this.borderBottomColor=ik(e,ob,A.borderBottomColor),this.borderLeftColor=ik(e,oF,A.borderLeftColor),this.borderTopLeftRadius=ik(e,oT,A.borderTopLeftRadius),this.borderTopRightRadius=ik(e,oD,A.borderTopRightRadius),this.borderBottomRightRadius=ik(e,oO,A.borderBottomRightRadius),this.borderBottomLeftRadius=ik(e,oM,A.borderBottomLeftRadius),this.borderTopStyle=ik(e,oH,A.borderTopStyle),this.borderRightStyle=ik(e,oL,A.borderRightStyle),this.borderBottomStyle=ik(e,oN,A.borderBottomStyle),this.borderLeftStyle=ik(e,oV,A.borderLeftStyle),this.borderTopWidth=ik(e,o_,A.borderTopWidth),this.borderRightWidth=ik(e,ok,A.borderRightWidth),this.borderBottomWidth=ik(e,oP,A.borderBottomWidth),this.borderLeftWidth=ik(e,oG,A.borderLeftWidth),this.boxShadow=ik(e,ix,A.boxShadow),this.color=ik(e,oK,A.color),this.direction=ik(e,oj,A.direction),this.display=ik(e,oW,A.display),this.float=ik(e,oz,A.cssFloat),this.fontFamily=ik(e,iC,A.fontFamily),this.fontSize=ik(e,iS,A.fontSize),this.fontStyle=ik(e,iU,A.fontStyle),this.fontVariant=ik(e,iI,A.fontVariant),this.fontWeight=ik(e,iE,A.fontWeight),this.letterSpacing=ik(e,oJ,A.letterSpacing),this.lineBreak=ik(e,oX,A.lineBreak),this.lineHeight=ik(e,oq,A.lineHeight),this.listStyleImage=ik(e,oZ,A.listStyleImage),this.listStylePosition=ik(e,o0,A.listStylePosition),this.listStyleType=ik(e,o1,A.listStyleType),this.marginTop=ik(e,o4,A.marginTop),this.marginRight=ik(e,o2,A.marginRight),this.marginBottom=ik(e,o6,A.marginBottom),this.marginLeft=ik(e,o9,A.marginLeft),this.opacity=ik(e,iB,A.opacity);var t,n,r=ik(e,o8,A.overflow);this.overflowX=r[0],this.overflowY=r[+(r.length>1)],this.overflowWrap=ik(e,o5,A.overflowWrap),this.paddingTop=ik(e,ie,A.paddingTop),this.paddingRight=ik(e,iA,A.paddingRight),this.paddingBottom=ik(e,it,A.paddingBottom),this.paddingLeft=ik(e,ir,A.paddingLeft),this.paintOrder=ik(e,iH,A.paintOrder),this.position=ik(e,ii,A.position),this.textAlign=ik(e,io,A.textAlign),this.textDecorationColor=ik(e,iy,null!=(t=A.textDecorationColor)?t:A.color),this.textDecorationLine=ik(e,iv,null!=(n=A.textDecorationLine)?n:A.textDecoration),this.textShadow=ik(e,ia,A.textShadow),this.textTransform=ik(e,is,A.textTransform),this.transform=ik(e,il,A.transform),this.transformOrigin=ik(e,ip,A.transformOrigin),this.visibility=ik(e,ig,A.visibility),this.webkitTextStrokeColor=ik(e,iL,A.webkitTextStrokeColor),this.webkitTextStrokeWidth=ik(e,iN,A.webkitTextStrokeWidth),this.wordBreak=ik(e,im,A.wordBreak),this.zIndex=ik(e,ih,A.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return rX(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 ib(this.display,4)||ib(this.display,0x2000000)||ib(this.display,0x10000000)||ib(this.display,0x20000000)||ib(this.display,0x4000000)||ib(this.display,0x8000000)},e}(),iR=function(e,A){this.content=ik(e,iF,A.content),this.quotes=ik(e,iO,A.quotes)},i_=function(e,A){this.counterIncrement=ik(e,iQ,A.counterIncrement),this.counterReset=ik(e,iT,A.counterReset)},ik=function(e,A,t){var n=new rE,r=null!=t?t.toString():A.initialValue;n.write(r);var o=new rI(n.read());switch(A.type){case 2:var i=o.parseComponentValue();return A.parse(e,rF(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 rj(e,o.parseComponentValue());case"color":return rJ(e,o.parseComponentValue());case"image":return om(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return rH(a)?a:rV;case"length-percentage":var s=o.parseComponentValue();return rL(s)?s:rV;case"time":return iw(e,o.parseComponentValue())}}},iP=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}},iG=function(e,A){var t=iP(e);return 1===t||A===t},iK=function(e,A){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,iG(A,3),this.styles=new iV(e,window.getComputedStyle(A,null)),az(A)&&(this.styles.animationDuration.some(function(e){return e>0})&&(A.style.animationDuration="0s"),null!==this.styles.transform&&(A.style.transform="none")),this.bounds=nI(this.context,A),iG(A,4)&&(this.flags|=16)},ij="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iW="u"<typeof Uint8Array?[]:new Uint8Array(256),iY=0;iY<ij.length;iY++)iW[ij.charCodeAt(iY)]=iY;for(var iz=2112,iJ=function(e,A,t){return e.slice?e.slice(A,t):new Uint16Array(Array.prototype.slice.call(e,A,t))},iX=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=iz-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}(),iq="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i$="u"<typeof Uint8Array?[]:new Uint8Array(256),iZ=0;iZ<iq.length;iZ++)i$[iq.charCodeAt(iZ)]=iZ;var i0=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},i1=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},i3=(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=iW[e.charCodeAt(A)],n=iW[e.charCodeAt(A+1)],r=iW[e.charCodeAt(A+2)],o=iW[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),g=iJ(p=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]?iJ(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 iX(d[0],d[1],d[2],d[3],g,f)),i4=function(e){return i3.get(e)},i2=function(e,A,t){var n=t-2,r=A[n],o=A[t-1],i=A[t];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=A[--n];if(14===r)return"\xd7"}if(15===o&&15===i){for(var a=0;15===r;)a++,r=A[--n];if(a%2==0)return"\xd7"}return"\xf7"},i6=function(e){var A=i0(e),t=A.length,n=0,r=0,o=A.map(i4);return{next:function(){if(n>=t)return{done:!0,value:null};for(var e="\xd7";n<t&&"\xd7"===(e=i2(A,o,++n)););if("\xd7"!==e||n===t){var i=i1.apply(null,A.slice(r,n));return r=n,{value:i,done:!1}}return{done:!0,value:null}}}},i9=function(e){for(var A,t=i6(e),n=[];!(A=t.next()).done;)A.value&&n.push(A.value.slice());return n},i8=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},i5=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?"&#128104;".repeat(10):"";var n=A.firstChild,r=nb(n.data).map(function(e){return nF(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},i7=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},ae=function(e){return 0===e[0]&&255===e[1]&&0===e[2]&&255===e[3]},aA=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=at(100,100,0,0,n);return t.fillStyle="red",t.fillRect(0,0,100,100),an(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",ae(n)?an(at(100,100,0,0,o)):Promise.reject(!1)}).then(function(e){return t.drawImage(e,0,0),ae(t.getImageData(0,0,100,100).data)}).catch(function(){return!1})},at=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},an=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))})},ar={get SUPPORT_RANGE_BOUNDS(){var ao=i8(document);return Object.defineProperty(ar,"SUPPORT_RANGE_BOUNDS",{value:ao}),ao},get SUPPORT_WORD_BREAKING(){var ai=ar.SUPPORT_RANGE_BOUNDS&&i5(document);return Object.defineProperty(ar,"SUPPORT_WORD_BREAKING",{value:ai}),ai},get SUPPORT_SVG_DRAWING(){var aa=i7(document);return Object.defineProperty(ar,"SUPPORT_SVG_DRAWING",{value:aa}),aa},get SUPPORT_FOREIGNOBJECT_DRAWING(){var as="function"==typeof Array.from&&"function"==typeof window.fetch?aA(document):Promise.resolve(!1);return Object.defineProperty(ar,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:as}),as},get SUPPORT_CORS_IMAGES(){var al=void 0!==new Image().crossOrigin;return Object.defineProperty(ar,"SUPPORT_CORS_IMAGES",{value:al}),al},get SUPPORT_RESPONSE_TYPE(){var ac="string"==typeof new XMLHttpRequest().responseType;return Object.defineProperty(ar,"SUPPORT_RESPONSE_TYPE",{value:ac}),ac},get SUPPORT_CORS_XHR(){var au="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ar,"SUPPORT_CORS_XHR",{value:au}),au},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var ad=!!("u">typeof Intl&&Intl.Segmenter);return Object.defineProperty(ar,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:ad}),ad}},ap=function(e,A){this.text=e,this.bounds=A},ag=function(e,A,t,n){var r=aw(A,t),o=[],i=0;return r.forEach(function(A){if(t.textDecorationLine.length||A.trim().length>0)if(ar.SUPPORT_RANGE_BOUNDS){var r=af(n,i,A.length).getClientRects();if(r.length>1){var a=ah(A),s=0;a.forEach(function(A){o.push(new ap(A,nE.fromDOMRectList(e,af(n,s+i,A.length).getClientRects()))),s+=A.length})}else o.push(new ap(A,nE.fromDOMRectList(e,r)))}else{var l=n.splitText(A.length);o.push(new ap(A,am(e,n))),n=l}else ar.SUPPORT_RANGE_BOUNDS||(n=n.splitText(A.length));i+=A.length}),o},am=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=nI(e,n);return n.firstChild&&r.replaceChild(n.firstChild,n),o}}return nE.EMPTY},af=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},ah=function(e){return ar.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)).map(function(e){return e.segment}):i9(e)},aw=function(e,A){return 0!==A.letterSpacing?ah(e):ar.SUPPORT_NATIVE_TEXT_SEGMENTATION?Array.from(new Intl.Segmenter(void 0,{granularity:"word"}).segment(e)).map(function(e){return e.segment}):ay(e,A)},aB=[32,160,4961,65792,65793,4153,4241],ay=function(e,A){for(var t,n=n3(e,{lineBreak:A.lineBreak,wordBreak:"break-word"===A.overflowWrap?"break-word":A.wordBreak}),r=[];!(t=n.next()).done;)!function(){if(t.value){var e=nb(t.value.slice()),A="";e.forEach(function(e){-1===aB.indexOf(e)?A+=nF(e):(A.length&&r.push(A),r.push(nF(e)),A="")}),A.length&&r.push(A)}}();return r},av=function(e,A,t){this.text=aC(A.data,t.textTransform),this.textBounds=ag(e,this.text,t,A)},aC=function(e,A){switch(A){case 1:return e.toLowerCase();case 3:return e.replace(aS,aE);case 2:return e.toUpperCase();default:return e}},aS=/(^|\s|:|-|\(|\))([a-z])/g,aE=function(e,A,t){return e.length>0?A+t.toUpperCase():e},aI=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 nB(A,e),A}(iK),aU=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 nB(A,e),A}(iK),ab=function(e){function A(A,t){var n=e.call(this,A,t)||this,r=new XMLSerializer,o=nI(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 nB(A,e),A}(iK),aF=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return nB(A,e),A}(iK),aQ=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 nB(A,e),A}(iK),aT=[{type:15,flags:0,unit:"px",number:3}],aD=[{type:16,flags:0,number:50}],aO=function(e){var A=e.type===aH?Array(e.value.length+1).join("•"):e.value;return 0===A.length?e.placeholder||"":A},aM="checkbox",ax="radio",aH="password",aL=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=aO(t),(r.type===aM||r.type===ax)&&(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 nE(n.left+(n.width-n.height)/2,n.top,n.height,n.height):n.width<n.height?new nE(n.left,n.top+(n.height-n.width)/2,n.width,n.width):n),r.type){case aM:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=aT;break;case ax:r.styles.borderTopRightRadius=r.styles.borderTopLeftRadius=r.styles.borderBottomRightRadius=r.styles.borderBottomLeftRadius=aD}return r}return nB(A,e),A}(iK),aN=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 nB(A,e),A}(iK),aV=function(e){function A(A,t){var n=e.call(this,A,t)||this;return n.value=t.value,n}return nB(A,e),A}(iK),aR=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=aG(A,t.contentWindow.document.documentElement);var r=t.contentWindow.document.documentElement?r2(A,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):r6.TRANSPARENT,o=t.contentWindow.document.body?r2(A,getComputedStyle(t.contentWindow.document.body).backgroundColor):r6.TRANSPARENT;n.backgroundColor=rX(r)?rX(o)?n.styles.backgroundColor:o:r}}catch(e){}return n}return nB(A,e),A}(iK),a_=["OL","UL","MENU"],ak=function(e,A,t,n){for(var r=A.firstChild,o=void 0;r;r=o)if(o=r.nextSibling,aW(r)&&r.data.trim().length>0)t.textNodes.push(new av(e,r,t.styles));else if(aY(r))if(a5(r)&&r.assignedNodes)r.assignedNodes().forEach(function(A){return ak(e,A,t,n)});else{var i=aP(e,r);i.styles.isVisible()&&(aK(r,i,n)?i.flags|=4:aj(i.styles)&&(i.flags|=2),-1!==a_.indexOf(r.tagName)&&(i.flags|=8),t.elements.push(i),r.slot,r.shadowRoot?ak(e,r.shadowRoot,i,n):a9(r)||aZ(r)||a8(r)||ak(e,r,i,n))}},aP=function(e,A){return a4(A)?new aI(e,A):a1(A)?new aU(e,A):aZ(A)?new ab(e,A):aX(A)?new aF(e,A):aq(A)?new aQ(e,A):a$(A)?new aL(e,A):a8(A)?new aN(e,A):a9(A)?new aV(e,A):a2(A)?new aR(e,A):new iK(e,A)},aG=function(e,A){var t=aP(e,A);return t.flags|=4,ak(e,A,t,t),t},aK=function(e,A,t){return A.styles.isPositionedWithZIndex()||A.styles.opacity<1||A.styles.isTransformed()||a0(e)&&t.styles.isTransparent()},aj=function(e){return e.isPositioned()||e.isFloating()},aW=function(e){return e.nodeType===Node.TEXT_NODE},aY=function(e){return e.nodeType===Node.ELEMENT_NODE},az=function(e){return aY(e)&&void 0!==e.style&&!aJ(e)},aJ=function(e){return"object"==typeof e.className},aX=function(e){return"LI"===e.tagName},aq=function(e){return"OL"===e.tagName},a$=function(e){return"INPUT"===e.tagName},aZ=function(e){return"svg"===e.tagName},a0=function(e){return"BODY"===e.tagName},a1=function(e){return"CANVAS"===e.tagName},a3=function(e){return"VIDEO"===e.tagName},a4=function(e){return"IMG"===e.tagName},a2=function(e){return"IFRAME"===e.tagName},a6=function(e){return"STYLE"===e.tagName},a9=function(e){return"TEXTAREA"===e.tagName},a8=function(e){return"SELECT"===e.tagName},a5=function(e){return"SLOT"===e.tagName},a7=function(e){return e.tagName.indexOf("-")>0},se=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}(),sA={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"]},st={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:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},sn={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:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},sr={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:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},so=function(e,A,t,n,r,o){return e<A||e>t?sg(e,r,o.length>0):n.integers.reduce(function(A,t,r){for(;e>=t;)e-=t,A+=n.values[r];return A},"")+o},si=function(e,A,t,n){var r="";do!t&&e--,r=n(e)+r,e/=A;while(e*A>=A);return r},sa=function(e,A,t,n,r){var o=t-A+1;return(e<0?"-":"")+(si(Math.abs(e),o,n,function(e){return nF(Math.floor(e%o)+A)})+r)},ss=function(e,A,t){void 0===t&&(t=". ");var n=A.length;return si(Math.abs(e),n,!1,function(e){return A[Math.floor(e%n)]})+t},sl=function(e,A,t,n,r,o){if(e<-9999||e>9999)return sg(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&&ib(o,1)&&""!==a?a=A[l]+a:l>1||1===l&&0===s||1===l&&1===s&&ib(o,2)||1===l&&1===s&&ib(o,4)&&e>100||1===l&&s>1&&ib(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},sc="十百千萬",su="拾佰仟萬",sd="マイナス",sp="마이너스",sg=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=sa(e,48,57,!0,n);return a.length<4?"0"+a:a;case 4:return ss(e,"〇一二三四五六七八九",r);case 6:return so(e,1,3999,sA,3,n).toLowerCase();case 7:return so(e,1,3999,sA,3,n);case 8:return sa(e,945,969,!1,n);case 9:return sa(e,97,122,!1,n);case 10:return sa(e,65,90,!1,n);case 11:return sa(e,1632,1641,!0,n);case 12:case 49:return so(e,1,9999,st,3,n);case 35:return so(e,1,9999,st,3,n).toLowerCase();case 13:return sa(e,2534,2543,!0,n);case 14:case 30:return sa(e,6112,6121,!0,n);case 15:return ss(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return ss(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return sl(e,"零一二三四五六七八九",sc,"負",r,14);case 47:return sl(e,"零壹貳參肆伍陸柒捌玖",su,"負",r,15);case 42:return sl(e,"零一二三四五六七八九",sc,"负",r,14);case 41:return sl(e,"零壹贰叁肆伍陆柒捌玖",su,"负",r,15);case 26:return sl(e,"〇一二三四五六七八九","十百千万",sd,r,0);case 25:return sl(e,"零壱弐参四伍六七八九","拾百千万",sd,r,7);case 31:return sl(e,"영일이삼사오육칠팔구","십백천만",sp,o,7);case 33:return sl(e,"零一二三四五六七八九","十百千萬",sp,o,0);case 32:return sl(e,"零壹貳參四五六七八九","拾百千",sp,o,7);case 18:return sa(e,2406,2415,!0,n);case 20:return so(e,1,19999,sr,3,n);case 21:return sa(e,2790,2799,!0,n);case 22:return sa(e,2662,2671,!0,n);case 22:return so(e,1,10999,sn,3,n);case 23:return ss(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return ss(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return sa(e,3302,3311,!0,n);case 28:return ss(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return ss(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return sa(e,3792,3801,!0,n);case 37:return sa(e,6160,6169,!0,n);case 38:return sa(e,4160,4169,!0,n);case 39:return sa(e,2918,2927,!0,n);case 40:return sa(e,1776,1785,!0,n);case 43:return sa(e,3046,3055,!0,n);case 44:return sa(e,3174,3183,!0,n);case 45:return sa(e,3664,3673,!0,n);case 46:return sa(e,3872,3881,!0,n);default:return sa(e,48,57,!0,n)}},sm="data-html2canvas-ignore",sf=function(){function e(e,A,t){if(this.context=e,this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new se,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=sh(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=sy(n).then(function(){return nv(t,void 0,void 0,function(){var e,t;return nC(this,function(r){switch(r.label){case 0:if(this.scrolledElements.forEach(sI),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,sB(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(sS(document.doctype)+"<html></html>"),sE(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),s},e.prototype.createElementClone=function(e){if(iG(e,2),a1(e))return this.createCanvasClone(e);if(a3(e))return this.createVideoClone(e);if(a6(e))return this.createStyleClone(e);var A=e.cloneNode(!1);return(a4(A)&&(a4(e)&&e.currentSrc&&e.currentSrc!==e.src&&(A.src=e.currentSrc,A.srcset=""),"lazy"===A.loading&&(A.loading="eager")),a7(A))?this.createCustomElementClone(A):A},e.prototype.createCustomElementClone=function(e){var A=document.createElement("html2canvascustomelement");return sC(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){aY(A)&&("SCRIPT"===A.tagName||A.hasAttribute(sm)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(A))||this.options.copyStyles&&aY(A)&&a6(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(aY(r)&&a5(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(aW(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var t=e.ownerDocument.defaultView;if(t&&aY(e)&&(az(e)||aJ(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&&az(n)&&(this.clonedReferenceElement=n),a0(n)&&sQ(n);var a=this.counters.parse(new i_(this.context,r)),s=this.resolvePseudoContent(e,n,o,U.BEFORE);a7(e)&&(A=!0),a3(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||aJ(e))&&!a2(e)||A)&&sC(r,n),(0!==e.scrollTop||0!==e.scrollLeft)&&this.scrolledElements.push([n,e.scrollLeft,e.scrollTop]),(a9(e)||a8(e))&&(a9(n)||a8(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 i_(this.context,t));var a=new iR(this.context,t),s=i.createElement("html2canvaspseudoelement");sC(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(rF);n.length&&s.appendChild(i.createTextNode(e.getAttribute(n[0].value)||""))}else if("counter"===A.name){var o=A.values.filter(rO),l=o[0],c=o[1];if(l&&rF(l)){var u=r.counters.getCounterValue(l.value),d=c&&rF(c)?o1.parse(r.context,c.value):3;s.appendChild(i.createTextNode(sg(u,d,!1)))}}else if("counters"===A.name){var p=A.values.filter(rO),l=p[0],g=p[1],c=p[2];if(l&&rF(l)){var m=r.counters.getCounterValues(l.value),f=c&&rF(c)?o1.parse(r.context,c.value):3,h=g&&0===g.type?g.value:"",w=m.map(function(e){return sg(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(iM(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":s.appendChild(i.createTextNode(iM(a.quotes,--r.quoteDepth,!1)));break;default:s.appendChild(i.createTextNode(A.value))}}),s.className=sU+" "+sb;var l=n===U.BEFORE?" "+sU:" "+sb;return aJ(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 sh=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(sm,"true"),e.body.appendChild(t),t},sw=function(e){return new Promise(function(A){e.complete||!e.src?A():(e.onload=A,e.onerror=A)})},sB=function(e){return Promise.all([].slice.call(e.images,0).map(sw))},sy=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)}})},sv=["all","d","content"],sC=function(e,A){for(var t=e.length-1;t>=0;t--){var n=e.item(t);-1===sv.indexOf(n)&&A.style.setProperty(n,e.getPropertyValue(n))}return A},sS=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},sE=function(e,A,t){e&&e.defaultView&&(A!==e.defaultView.pageXOffset||t!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(A,t)},sI=function(e){var A=e[0],t=e[1],n=e[2];A.scrollLeft=t,A.scrollTop=n},sU="___html2canvas___pseudoelement_before",sb="___html2canvas___pseudoelement_after",sF='{\n content: "" !important;\n display: none !important;\n}',sQ=function(e){sT(e,"."+sU+":before"+sF+"\n ."+sb+":after"+sF)},sT=function(e,A){var t=e.ownerDocument;if(t){var n=t.createElement("style");n.textContent=A,e.appendChild(n)}},sD=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}(),sO=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)||(sR(e)||sL(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 nv(this,void 0,void 0,function(){var A,t,n,r,o=this;return nC(this,function(i){switch(i.label){case 0:if(A=sD.isSameOrigin(e),t=!sN(e)&&!0===this._options.useCORS&&ar.SUPPORT_CORS_IMAGES&&!A,n=!sN(e)&&!A&&!sR(e)&&"string"==typeof this._options.proxy&&ar.SUPPORT_CORS_XHR&&!t,!A&&!1===this._options.allowTaint&&!sN(e)&&!sR(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,(sV(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=ar.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}(),sM=/^data:image\/svg\+xml/i,sx=/^data:image\/.*;base64,/i,sH=/^data:image\/.*/i,sL=function(e){return ar.SUPPORT_SVG_DRAWING||!s_(e)},sN=function(e){return sH.test(e)},sV=function(e){return sx.test(e)},sR=function(e){return"blob"===e.substr(0,4)},s_=function(e){return"svg"===e.substr(-3).toLowerCase()||sM.test(e)},sk=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}(),sP=function(e,A,t){return new sk(e.x+(A.x-e.x)*t,e.y+(A.y-e.y)*t)},sG=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=sP(this.start,this.startControl,A),r=sP(this.startControl,this.endControl,A),o=sP(this.endControl,this.end,A),i=sP(n,r,A),a=sP(r,o,A),s=sP(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}(),sK=function(e){return 1===e.type},sj=function(e){var A=e.styles,t=e.bounds,n=rk(A.borderTopLeftRadius,t.width,t.height),r=n[0],o=n[1],i=rk(A.borderTopRightRadius,t.width,t.height),a=i[0],s=i[1],l=rk(A.borderBottomRightRadius,t.width,t.height),c=l[0],u=l[1],d=rk(A.borderBottomLeftRadius,t.width,t.height),p=d[0],g=d[1],m=[];m.push((r+a)/t.width),m.push((p+c)/t.width),m.push((o+g)/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,p/=f,g/=f);var h=t.width-a,w=t.height-u,B=t.width-c,y=t.height-g,v=A.borderTopWidth,C=A.borderRightWidth,S=A.borderBottomWidth,E=A.borderLeftWidth,I=rP(A.paddingTop,e.bounds.width),U=rP(A.paddingRight,e.bounds.width),F=rP(A.paddingBottom,e.bounds.width),Q=rP(A.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?sW(t.left+E/3,t.top+v/3,r-E/3,o-v/3,b.TOP_LEFT):new sk(t.left+E/3,t.top+v/3),this.topRightBorderDoubleOuterBox=r>0||o>0?sW(t.left+h,t.top+v/3,a-C/3,s-v/3,b.TOP_RIGHT):new sk(t.left+t.width-C/3,t.top+v/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?sW(t.left+B,t.top+w,c-C/3,u-S/3,b.BOTTOM_RIGHT):new sk(t.left+t.width-C/3,t.top+t.height-S/3),this.bottomLeftBorderDoubleOuterBox=p>0||g>0?sW(t.left+E/3,t.top+y,p-E/3,g-S/3,b.BOTTOM_LEFT):new sk(t.left+E/3,t.top+t.height-S/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?sW(t.left+2*E/3,t.top+2*v/3,r-2*E/3,o-2*v/3,b.TOP_LEFT):new sk(t.left+2*E/3,t.top+2*v/3),this.topRightBorderDoubleInnerBox=r>0||o>0?sW(t.left+h,t.top+2*v/3,a-2*C/3,s-2*v/3,b.TOP_RIGHT):new sk(t.left+t.width-2*C/3,t.top+2*v/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?sW(t.left+B,t.top+w,c-2*C/3,u-2*S/3,b.BOTTOM_RIGHT):new sk(t.left+t.width-2*C/3,t.top+t.height-2*S/3),this.bottomLeftBorderDoubleInnerBox=p>0||g>0?sW(t.left+2*E/3,t.top+y,p-2*E/3,g-2*S/3,b.BOTTOM_LEFT):new sk(t.left+2*E/3,t.top+t.height-2*S/3),this.topLeftBorderStroke=r>0||o>0?sW(t.left+E/2,t.top+v/2,r-E/2,o-v/2,b.TOP_LEFT):new sk(t.left+E/2,t.top+v/2),this.topRightBorderStroke=r>0||o>0?sW(t.left+h,t.top+v/2,a-C/2,s-v/2,b.TOP_RIGHT):new sk(t.left+t.width-C/2,t.top+v/2),this.bottomRightBorderStroke=c>0||u>0?sW(t.left+B,t.top+w,c-C/2,u-S/2,b.BOTTOM_RIGHT):new sk(t.left+t.width-C/2,t.top+t.height-S/2),this.bottomLeftBorderStroke=p>0||g>0?sW(t.left+E/2,t.top+y,p-E/2,g-S/2,b.BOTTOM_LEFT):new sk(t.left+E/2,t.top+t.height-S/2),this.topLeftBorderBox=r>0||o>0?sW(t.left,t.top,r,o,b.TOP_LEFT):new sk(t.left,t.top),this.topRightBorderBox=a>0||s>0?sW(t.left+h,t.top,a,s,b.TOP_RIGHT):new sk(t.left+t.width,t.top),this.bottomRightBorderBox=c>0||u>0?sW(t.left+B,t.top+w,c,u,b.BOTTOM_RIGHT):new sk(t.left+t.width,t.top+t.height),this.bottomLeftBorderBox=p>0||g>0?sW(t.left,t.top+y,p,g,b.BOTTOM_LEFT):new sk(t.left,t.top+t.height),this.topLeftPaddingBox=r>0||o>0?sW(t.left+E,t.top+v,Math.max(0,r-E),Math.max(0,o-v),b.TOP_LEFT):new sk(t.left+E,t.top+v),this.topRightPaddingBox=a>0||s>0?sW(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 sk(t.left+t.width-C,t.top+v),this.bottomRightPaddingBox=c>0||u>0?sW(t.left+Math.min(B,t.width-E),t.top+Math.min(w,t.height-S),Math.max(0,c-C),Math.max(0,u-S),b.BOTTOM_RIGHT):new sk(t.left+t.width-C,t.top+t.height-S),this.bottomLeftPaddingBox=p>0||g>0?sW(t.left+E,t.top+Math.min(y,t.height-S),Math.max(0,p-E),Math.max(0,g-S),b.BOTTOM_LEFT):new sk(t.left+E,t.top+t.height-S),this.topLeftContentBox=r>0||o>0?sW(t.left+E+Q,t.top+v+I,Math.max(0,r-(E+Q)),Math.max(0,o-(v+I)),b.TOP_LEFT):new sk(t.left+E+Q,t.top+v+I),this.topRightContentBox=a>0||s>0?sW(t.left+Math.min(h,t.width+E+Q),t.top+v+I,h>t.width+E+Q?0:a-E+Q,s-(v+I),b.TOP_RIGHT):new sk(t.left+t.width-(C+U),t.top+v+I),this.bottomRightContentBox=c>0||u>0?sW(t.left+Math.min(B,t.width-(E+Q)),t.top+Math.min(w,t.height+v+I),Math.max(0,c-(C+U)),u-(S+F),b.BOTTOM_RIGHT):new sk(t.left+t.width-(C+U),t.top+t.height-(S+F)),this.bottomLeftContentBox=p>0||g>0?sW(t.left+E+Q,t.top+y,Math.max(0,p-(E+Q)),g-(S+F),b.BOTTOM_LEFT):new sk(t.left+E+Q,t.top+t.height-(S+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 sW=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 sG(new sk(e,l),new sk(e,l-a),new sk(s-i,A),new sk(s,A));case b.TOP_RIGHT:return new sG(new sk(e,A),new sk(e+i,A),new sk(s,l-a),new sk(s,l));case b.BOTTOM_RIGHT:return new sG(new sk(s,A),new sk(s,A+a),new sk(e+i,l),new sk(e,l));case b.BOTTOM_LEFT:default:return new sG(new sk(s,l),new sk(s-i,l),new sk(e,A+a),new sk(e,A))}},sY=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},sz=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},sJ=function(e,A,t){this.offsetX=e,this.offsetY=A,this.matrix=t,this.type=0,this.target=6},sX=function(e,A){this.path=e,this.target=A,this.type=1},sq=function(e){this.opacity=e,this.type=2,this.target=6},s$=function(e){return 1===e.type},sZ=function(e,A){return e.length===A.length&&e.some(function(e,t){return e===A[t]})},s0=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},s1=function(){function e(e,A){if(this.container=e,this.parent=A,this.effects=[],this.curves=new sj(this.container),this.container.styles.opacity<1&&this.effects.push(new sq(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 sJ(t,n,r))}if(0!==this.container.styles.overflowX){var o=sY(this.curves),i=sz(this.curves);sZ(o,i)?this.effects.push(new sX(o,6)):(this.effects.push(new sX(o,2)),this.effects.push(new sX(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!s$(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=sY(t.curves),i=sz(t.curves);sZ(o,i)||n.unshift(new sX(i,6))}}else n.unshift.apply(n,r);t=t.parent}return n.filter(function(A){return ib(A.target,e)})},e}(),s3=function(e,A,t,n){e.container.elements.forEach(function(r){var o=ib(r.flags,4),i=ib(r.flags,2),a=new s1(r,e);ib(r.styles.display,2048)&&n.push(a);var s=ib(r.flags,8)?[]:n;if(o||i){var l=o||r.styles.isPositioned()?t:A,c=new s0(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 p=0;l.positiveZIndex.some(function(e,A){if(u>=e.element.container.styles.zIndex.order)p=A+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);s3(a,c,o?c:t,s)}else r.styles.isInlineLevel()?A.inlineLevel.push(a):A.nonInlineLevel.push(a),s3(a,A,t,s);ib(r.flags,8)&&s4(r,s)})},s4=function(e,A){for(var t=e instanceof aQ?e.start:1,n=e instanceof aQ&&e.reversed,r=0;r<A.length;r++){var o=A[r];o.container instanceof aF&&"number"==typeof o.container.value&&0!==o.container.value&&(t=o.container.value),o.listValue=sg(t,o.container.styles.listStyleType,!0),t+=n?-1:1}},s2=function(e){var A=new s1(e,null),t=new s0(A),n=[];return s3(A,t,t,n),s4(A.container,n),t},s6=function(e,A){switch(A){case 0:return le(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return le(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return le(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return le(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},s9=function(e,A){switch(A){case 0:return le(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return le(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return le(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return le(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},s8=function(e,A){switch(A){case 0:return le(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return le(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return le(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return le(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},s5=function(e,A){switch(A){case 0:return s7(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return s7(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return s7(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return s7(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},s7=function(e,A){var t=[];return sK(e)?t.push(e.subdivide(.5,!1)):t.push(e),sK(A)?t.push(A.subdivide(.5,!0)):t.push(A),t},le=function(e,A,t,n){var r=[];return sK(e)?r.push(e.subdivide(.5,!1)):r.push(e),sK(t)?r.push(t.subdivide(.5,!0)):r.push(t),sK(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),sK(A)?r.push(A.subdivide(.5,!1).reverse()):r.push(A),r},lA=function(e){var A=e.bounds,t=e.styles;return A.add(t.borderLeftWidth,t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth),-(t.borderTopWidth+t.borderBottomWidth))},lt=function(e){var A=e.styles,t=e.bounds,n=rP(A.paddingLeft,t.width),r=rP(A.paddingRight,t.width),o=rP(A.paddingTop,t.width),i=rP(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))},ln=function(e,A,t){var n,r,o=(n=la(e.styles.backgroundOrigin,A),0===n?e.bounds:2===n?lt(e):lA(e)),i=(r=la(e.styles.backgroundClip,A),0===r?e.bounds:2===r?lt(e):lA(e)),a=li(la(e.styles.backgroundSize,A),t,o),s=a[0],l=a[1],c=rk(la(e.styles.backgroundPosition,A),o.width-s,o.height-l);return[ls(la(e.styles.backgroundRepeat,A),c,a,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),s,l]},lr=function(e){return rF(e)&&e.value===S.AUTO},lo=function(e){return"number"==typeof e},li=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(rL(i)&&a&&rL(a))return[rP(i,t.width),rP(a,t.height)];var s=lo(o);if(rF(i)&&(i.value===S.CONTAIN||i.value===S.COVER))return lo(o)?t.width/t.height<o!=(i.value===S.COVER)?[t.width,t.width/o]:[t.height*o,t.height]:[t.width,t.height];var l=lo(n),c=lo(r),u=l||c;if(lr(i)&&(!a||lr(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,p=0;return rL(i)?d=rP(i,t.width):rL(a)&&(p=rP(a,t.height)),lr(i)?d=p*o:(!a||lr(a))&&(p=d/o),[d,p]}var g=null,m=null;if(rL(i)?g=rP(i,t.width):a&&rL(a)&&(m=rP(a,t.height)),null!==g&&(!a||lr(a))&&(m=l&&c?g/n*r:t.height),null!==m&&lr(i)&&(g=l&&c?m/r*n:t.width),null!==g&&null!==m)return[g,m];throw Error("Unable to calculate background-size for element")},la=function(e,A){var t=e[A];return void 0===t?e[0]:t},ls=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 sk(Math.round(n.left),Math.round(n.top+i)),new sk(Math.round(n.left+n.width),Math.round(n.top+i)),new sk(Math.round(n.left+n.width),Math.round(s+n.top+i)),new sk(Math.round(n.left),Math.round(s+n.top+i))];case 3:return[new sk(Math.round(n.left+o),Math.round(n.top)),new sk(Math.round(n.left+o+a),Math.round(n.top)),new sk(Math.round(n.left+o+a),Math.round(n.height+n.top)),new sk(Math.round(n.left+o),Math.round(n.height+n.top))];case 1:return[new sk(Math.round(n.left+o),Math.round(n.top+i)),new sk(Math.round(n.left+o+a),Math.round(n.top+i)),new sk(Math.round(n.left+o+a),Math.round(n.top+i+s)),new sk(Math.round(n.left+o),Math.round(n.top+i+s))];default:return[new sk(Math.round(r.left),Math.round(r.top)),new sk(Math.round(r.left+r.width),Math.round(r.top)),new sk(Math.round(r.left+r.width),Math.round(r.height+r.top)),new sk(Math.round(r.left),Math.round(r.height+r.top))]}},ll="Hidden Text",lc=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(ll)),t.appendChild(r),t.appendChild(n);var i=n.offsetTop-r.offsetTop+2;t.removeChild(r),t.appendChild(this._document.createTextNode(ll)),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}(),lu=function(e,A){this.context=e,this.options=A},ld=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 lc(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 nB(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)),s$(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 nv(this,void 0,void 0,function(){return nC(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 nv(this,void 0,void 0,function(){return nC(this,function(A){switch(A.label){case 0:if(ib(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):ah(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=lh(e.fontFamily).join(", "),n=rU(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 nv(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c=this;return nC(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=rq(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=rq(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=rq(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=rq(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=lt(e),r=sz(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 nv(this,void 0,void 0,function(){var t,n,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B;return nC(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 aI))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 aU&&this.renderReplacedElement(t,n,t.canvas),!(t instanceof ab))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 aR&&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 aL&&(c=Math.min(t.bounds.width,t.bounds.height),t.type===aM?t.checked&&(this.ctx.save(),this.path([new sk(t.bounds.left+.39363*c,t.bounds.top+.79*c),new sk(t.bounds.left+.16*c,t.bounds.top+.5549*c),new sk(t.bounds.left+.27347*c,t.bounds.top+.44071*c),new sk(t.bounds.left+.39694*c,t.bounds.top+.5649*c),new sk(t.bounds.left+.72983*c,t.bounds.top+.23*c),new sk(t.bounds.left+.84*c,t.bounds.top+.34085*c),new sk(t.bounds.left+.39363*c,t.bounds.top+.79*c)]),this.ctx.fillStyle=rq(0x2a2a2aff),this.ctx.fill(),this.ctx.restore()):t.type===ax&&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=rq(0x2a2a2aff),this.ctx.fill(),this.ctx.restore())),lp(t)&&t.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=rq(r.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=lm(t.styles.textAlign),m=lt(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 sk(m.left,m.top),new sk(m.left+m.width,m.top),new sk(m.left+m.width,m.top+m.height),new sk(m.left,m.top+m.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new ap(t.value,h),r.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!ib(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=rq(r.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",m=new nE(t.bounds.left,t.bounds.top+rP(t.styles.paddingTop,t.bounds.width),t.bounds.width,o$(r.lineHeight,r.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new ap(e.listValue,m),r.letterSpacing,o$(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 nv(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l,c,u,d,p,g,m;return nC(this,function(f){switch(f.label){case 0:return ib(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,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]}})})},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=sK(e)?e.start:e;0===t?A.ctx.moveTo(n.x,n.y):A.ctx.lineTo(n.x,n.y),sK(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 nv(this,void 0,void 0,function(){var A,t,n,r,o,i;return nC(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,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F,Q,T,D,O,M,x;return nC(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=ln(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=(p=ln(e,A,[null,null,null]))[0],s=p[1],l=p[2],c=p[3],u=p[4],m=(g=oA(t.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),r7(t.stops,m).forEach(function(e){return C.addColorStop(e.stop,rq(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=(S=ln(e,A,[null,null,null]))[0],E=S[1],I=S[2],c=S[3],u=S[4],s=rP((U=0===t.position.length?[rR]:t.position)[0],c),l=rP(U[U.length-1],u),F=(b=or(t,s,l,c,u))[0],Q=b[1],F>0&&Q>0&&(T=n.ctx.createRadialGradient(E+s,I+l,0,E+s,I+l,F),r7(t.stops,2*F).forEach(function(e){return T.addColorStop(e.stop,rq(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())),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 nv(this,void 0,void 0,function(){return nC(this,function(n){return this.path(s6(t,A)),this.ctx.fillStyle=rq(e),this.ctx.fill(),[2]})})},A.prototype.renderDoubleBorder=function(e,A,t,n){return nv(this,void 0,void 0,function(){var r,o;return nC(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=s9(n,t),this.path(r),this.ctx.fillStyle=rq(e),this.ctx.fill(),o=s8(n,t),this.path(o),this.ctx.fill(),[2]}})})},A.prototype.renderNodeBackgroundAndBorders=function(e){return nv(this,void 0,void 0,function(){var A,t,n,r,o,i,a,s,l=this;return nC(this,function(c){switch(c.label){case 0:if(this.applyEffects(e.getEffects(2)),t=!rX((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=lg(la(A.backgroundClip,0),e.curves),!(t||A.boxShadow.length))return[3,2];return this.ctx.save(),this.path(r),this.ctx.clip(),rX(A.backgroundColor)||(this.ctx.fillStyle=rq(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=sY(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=rq(A.color),l.ctx.shadowBlur=A.blur.number,l.ctx.fillStyle=A.inset?rq(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&&!rX(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 nv(this,void 0,void 0,function(){var o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y;return nC(this,function(v){return this.ctx.save(),o=s5(n,t),i=s6(n,t),2===r&&(this.path(i),this.ctx.clip()),sK(i[0])?(a=i[0].start.x,s=i[0].start.y):(a=i[0].x,s=i[0].y),sK(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,p=A<3?2*A:A,3===r&&(d=A,p=A),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=A):this.ctx.lineWidth=2*A+1.1,this.ctx.strokeStyle=rq(e),this.ctx.stroke(),this.ctx.setLineDash([]),2===r&&(sK(i[0])&&(B=i[3],y=i[0],this.ctx.beginPath(),this.formatPath([new sk(B.end.x,B.end.y),new sk(y.start.x,y.start.y)]),this.ctx.stroke()),sK(i[1])&&(B=i[1],y=i[2],this.ctx.beginPath(),this.formatPath([new sk(B.end.x,B.end.y),new sk(y.start.x,y.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},A.prototype.render=function(e){return nv(this,void 0,void 0,function(){var A;return nC(this,function(t){switch(t.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=rq(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),A=s2(e),[4,this.renderStack(A)];case 1:return t.sent(),this.applyEffects([]),[2,this.canvas]}})})},A}(lu),lp=function(e){return e instanceof aV||e instanceof aN||e instanceof aL&&e.type!==ax&&e.type!==aM||!1},lg=function(e,A){switch(e){case 0:return sY(A);case 2:return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox];default:return sz(A)}},lm=function(e){switch(e){case 1:return"center";case 2:return"right";default:return"left"}},lf=["-apple-system","system-ui"],lh=function(e){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?e.filter(function(e){return -1===lf.indexOf(e)}):e},lw=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 nB(A,e),A.prototype.render=function(e){return nv(this,void 0,void 0,function(){var A;return nC(this,function(t){switch(t.label){case 0:return[4,lB(at(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=rq(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}(lu),lB=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))})},ly=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,nS([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,nS([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,nS([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,nS([this.id,this.getTime()+"ms"],e)):this.info.apply(this,e))},e.instances={},e}(),lv=function(){function e(A,t){var n;this.windowBounds=t,this.instanceName="#"+e.instanceCount++,this.logger=new ly({id:this.instanceName,enabled:A.logging}),this.cache=null!=(n=A.cache)?n:new sO(this,A)}return e.instanceCount=1,e}();"u">typeof window&&sD.setContext(window);var lC=function(e,A,t){var n=A.ownerDocument,r=n.documentElement?r2(e,getComputedStyle(n.documentElement).backgroundColor):r6.TRANSPARENT,o=n.body?r2(e,getComputedStyle(n.body).backgroundColor):r6.TRANSPARENT,i="string"==typeof t?r2(e,t):null===t?r6.TRANSPARENT:0xffffffff;return A===n.documentElement?rX(r)?rX(o)?i:o:r:i};let lS=function(e,A){var t,n;return void 0===A&&(A={}),t=e,n=A,nv(void 0,void 0,void 0,function(){var e,A,r,o,i,a,s,l,c,u,d,p,g,m,f,h,w,B,y,v,C,S,E,I,U,b,F,Q,T,D,O,M,x,H,L,N,V;return nC(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!=(S=n.imageTimeout)?S:15e3,proxy:n.proxy,useCORS:null!=(E=n.useCORS)&&E},a=new lv(ny({logging:null==(I=n.logging)||I,cache:n.cache},r),i=new nE((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!=(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 sf(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(),g=(p=a0(u)||"HTML"===u.tagName?nU(u.ownerDocument):nI(a,u)).width,m=p.height,f=p.left,h=p.top,w=lC(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(g),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 lw(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 "+g+"x"+m+" using computed rendering"),a.logger.debug("Starting DOM parsing"),v=aG(a,u),w===v.styles.backgroundColor&&(v.styles.backgroundColor=r6.TRANSPARENT),a.logger.debug("Starting renderer for element at "+B.x+","+B.y+" with size "+B.width+"x"+B.height),[4,new ld(a,B).render(v)];case 4:y=R.sent(),R.label=5;case 5:return(null==(V=n.removeContainer)||V)&&!sf.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:lE}=_.utils,lI="cornerstone-viewport-download-form",lU=[{value:"jpg",label:"JPG"},{value:"png",label:"PNG"}],lb=({hide:e,activeViewportId:A})=>{let{servicesManager:t}=(0,AO.useSystem)(),{customizationService:n,cornerstoneViewportService:r}=t.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)(A),u=c?.element,{viewportId:d,renderingEngineId:p}=(0,x.getEnabledElement)(u),g=r.getRenderingEngine(),m=H.ToolGroupManager.getToolGroupForViewport(d,p);(0,D.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()=>{g.disableElement(lI)},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=g.getViewport(lI);try{let t=r.getProperties(),i=r.getViewPresentation?.(),a=r.getViewReference?.();if((0,ei.TF)(o)){let e=r.getCurrentImageId();await o.setStack([e])}else if((0,ei.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,D.useEffect)(()=>{a.width&&a.height&&setTimeout(()=>{h(a.width,a.height),(e=>{let A=(0,x.getEnabledElement)(u);if(!A)return;let t=g.getViewport(lI);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),g.resize(),g.render()},100)},[a,o]);let w=async(e,A)=>{let t=document.querySelector(`div[data-viewport-uid="${lI}"]`);if(!t)return void console.debug("No viewport found for download");let n=`${e}.${A}`;lE((await lS(t)).toDataURL(`image/${A}`,1),{filename:n})},B=async()=>{let e=document.querySelector(`div[data-viewport-uid="${lI}"]`);if(!e)return void console.debug("No viewport found for copy");try{let A=await lS(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 D.createElement(y,{onClose:e,defaultSize:512,fileTypeOptions:lU,viewportId:lI,showAnnotations:o,onAnnotationsChange:i,dimensions:a,onDimensionsChange:s,onEnableViewport:e=>{if(!e)return;let{viewport:A}=(0,x.getEnabledElement)(u),t={viewportId:lI,element:e,type:A.type,defaultOptions:{background:A.defaultOptions.background,orientation:A.defaultOptions.orientation}};g.enableElement(t)},onDisableViewport:f,onDownload:w,onCopyToClipboard:B,warningState:l})};var lF=O(3359),lQ=O.n(lF);async function lT({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=lQ()(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:lD}=_.utils,lO=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 lM(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,p,g;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,p=1-u-d,o=null!==(g=function(e){let A=e;for(let r=0;r<8;r++){var t,n;let r=((p*(t=A)+d)*t+u)*t-e;if(1e-6>Math.abs(r))return A;let o=(3*p*(n=A)+2*d)*n+u;if(1e-6>Math.abs(o))break;A-=r/o}return null}(i))?g:function(e){let A=0,t=1,n=e;for(;A<t;){var r;let o=((p*(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 lx=lM(0,0,1,1),lH=lM(.42,0,1,1),lL=lM(0,0,.58,1),lN=lM(.42,0,.58,1),lV=lM(.25,.1,.25,1);function lR(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 l_=lR(lx),lk=lR(lV),lP=lR(lH),lG=lR(lL),lK=lR(lN),lj=((B={}).EASE="ease",B.EASE_IN="ease-in",B.EASE_OUT="ease-out",B.EASE_IN_OUT="ease-in-out",B.LINEAR="linear",B),lW=new Map([[lj.EASE,lk],[lj.EASE_IN,lP],[lj.EASE_OUT,lG],[lj.EASE_IN_OUT,lK],[lj.LINEAR,l_]]);var lY=O(3545),lz=O.n(lY);async function lJ(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||`${lz().t("Tools:Segmentation")} ${c.length+1}`,d=t.segmentationId||`${x.utilities.uuidv4()}`,p=o.getDisplaySetByUID(l),g={label:u,segmentationId:d,segments:t.createInitialSegment?{1:{label:`${lz().t("Tools:Segment")} 1`,active:!0}}:{}},m=await (n===At.SegmentationRepresentations.Labelmap?i.createLabelmapForDisplaySet(p,g):i.createContourForDisplaySet(p,g));return await i.addSegmentationRepresentation(A,{segmentationId:d,type:n}),m}var lX=O(1748);let{add:lq,intersect:l$,subtract:lZ,copy:l0}=H.utilities.contourSegmentation,{DefaultHistoryMemo:l1}=x.utilities.HistoryMemo,l3={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||np(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;np(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||ng(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:l4}=H.utilities,l2=({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},l6=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"}),l9=!1,l8={type:"voi",id:"mpr",source:!0,target:!0,options:{syncColormap:!0}},l5={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},l7={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}]}},ce={id:"mpr",name:tC.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:l7,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]},{name:"MPR Reformat 1x3",viewportStructure:l7,viewports:[{viewportOptions:{viewportId:"mpr-axial",toolGroupId:"mpr",viewportType:"volume",orientation:"axial_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-sagittal",toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{viewportId:"mpr-coronal",toolGroupId:"mpr",viewportType:"volume",orientation:"coronal_reformat",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},cA={id:"fourUp",locked:!0,name:tC.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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l5]},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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},ct={id:"main3D",locked:!0,name:tC.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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},cn={id:"mprAnd3DVolumeViewport",locked:!0,name:tC.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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"volume3d",viewportType:"volume3d",orientation:"coronal",customViewportProps:{hideOverlays:!0},syncGroups:[l5]},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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},cr={id:"only3D",locked:!0,name:tC.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:[l5]}},displaySets:[{id:"activeDisplaySet",options:{displayPreset:{CT:"CT-Bone",MR:"MR-Default",default:"CT-Bone"}}}]}]}]},co={id:"primary3D",locked:!0,name:tC.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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},ci={id:"primaryAxial",locked:!0,name:tC.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:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"sagittal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]},{viewportOptions:{toolGroupId:"mpr",viewportType:"volume",orientation:"coronal",initialImageOptions:{preset:"middle"},syncGroups:[l8,l5]},displaySets:[{id:"activeDisplaySet"}]}]}]},ca={id:"@ohif/frameView",description:tC.t("Hps:Frame view for the active series"),name:tC.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 cs=O(8228);let cl=({displaySet:e,showModality:A=!0,dataCY:t=`${e.label}-${e.Modality}`})=>D.createElement("div",{className:"flex w-[90%] items-center justify-between","data-cy":t},D.createElement("span",{className:"text-foreground truncate text-base"},e.label),A&&e.Modality&&D.createElement("span",{className:"text-muted-foreground flex-shrink-0 whitespace-nowrap text-xs"},e.Modality));var cc=O(9227);let cu=function({viewportId:e}){let{commandsManager:A,servicesManager:t}=(0,_.useSystem)(),{t:n}=AD(),[r,o]=(0,D.useState)([]),[i,a]=(0,D.useState)([]),{toggleColorbar:s}=(0,cc.eH)(e),{hangingProtocolService:l,toolbarService:c}=t.services,{backgroundDisplaySet:u,potentialOverlayDisplaySets:d,potentialForegroundDisplaySets:p,potentialBackgroundDisplaySets:g,overlayDisplaySets:m,foregroundDisplaySets:f}=(0,cs.N)(e),[h,w]=(0,D.useState)(m),[B,y]=(0,D.useState)(!1);(0,D.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})},S=t=>{A.runCommand("addDisplaySetAsLayer",{viewportId:e,displaySetInstanceUID:t})},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(Ad.Button,{variant:"ghost",className:"text-primary flex items-center p-1",onClick:()=>{o([...r,`pending-${Date.now()}`])},disabled:0===p.length},D.createElement(Ad.Icons.Plus,{className:"h-4 w-4"}),n("Common:Foreground")),D.createElement(Ad.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(Ad.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(Ad.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(Ad.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)},D.createElement(Ad.SelectTrigger,{className:"flex-1"},D.createElement(Ad.SelectValue,{"data-cy":`overlay-ds-select-value-${e.label?.toUpperCase()}`},e.label?.toUpperCase())),D.createElement(Ad.SelectContent,null,D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e})),d.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e}))))),D.createElement(Ad.DropdownMenu,null,D.createElement(Ad.DropdownMenuTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0",dataCY:`overlay-ds-more-button-${e.label?.toUpperCase()}`},D.createElement(Ad.Icons.More,{className:"h-4 w-4"}))),D.createElement(Ad.DropdownMenuContent,{align:"start"},D.createElement(Ad.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(Ad.Icons.LayerSegmentation,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(Ad.Select,{value:"",onValueChange:A=>{let t;(t=d.find(e=>e.displaySetInstanceUID===A))&&(w(e=>[...e,t]),S(t.displaySetInstanceUID),a(i.filter(A=>A!==e)))}},D.createElement(Ad.SelectTrigger,{className:"flex-1"},D.createElement(Ad.SelectValue,{placeholder:n("Common:SELECT A SEGMENTATION")})),D.createElement(Ad.SelectContent,null,d.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e,dataCY:`${e.label}`}))))),D.createElement(Ad.DropdownMenu,null,D.createElement(Ad.DropdownMenuTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(Ad.Icons.More,{className:"h-4 w-4"}))),D.createElement(Ad.DropdownMenuContent,{align:"start"},D.createElement(Ad.DropdownMenuItem,{onClick:()=>{a(i.filter(A=>A!==e))}},"Cancel")))))),D.createElement("div",{className:"my-2 px-1"},f.map((e,A)=>D.createElement("div",{key:e.displaySetInstanceUID,className:"mb-1 flex items-center"},D.createElement(Ad.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(Ad.Select,{value:e.displaySetInstanceUID,onValueChange:A=>((e,A)=>{if(A===e.displaySetInstanceUID)return;let t=p.find(e=>e.displaySetInstanceUID===A);t&&v(e.displaySetInstanceUID,t.displaySetInstanceUID)})(e,A)},D.createElement(Ad.SelectTrigger,{className:"flex-1"},D.createElement(Ad.SelectValue,null,e.label?.toUpperCase())),D.createElement(Ad.SelectContent,null,D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e})),p.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e}))))),D.createElement(Ad.DropdownMenu,null,D.createElement(Ad.DropdownMenuTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(Ad.Icons.More,{className:"h-4 w-4"}))),D.createElement(Ad.DropdownMenuContent,{align:"start"},D.createElement(Ad.DropdownMenuItem,{onClick:()=>C(e.displaySetInstanceUID)},"Remove"))))),r.map(e=>D.createElement("div",{key:e,className:"mb-2 flex items-center"},D.createElement(Ad.Icons.LayerForeground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(Ad.Select,{value:"",onValueChange:A=>{let t;(t=p.find(e=>e.displaySetInstanceUID===A))&&(S(t.displaySetInstanceUID),o(r.filter(A=>A!==e)))}},D.createElement(Ad.SelectTrigger,{className:"flex-1"},D.createElement(Ad.SelectValue,{placeholder:n("Common:SELECT A FOREGROUND")})),D.createElement(Ad.SelectContent,null,p.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e}))))),D.createElement(Ad.DropdownMenu,null,D.createElement(Ad.DropdownMenuTrigger,{asChild:!0},D.createElement(Ad.Button,{variant:"ghost",size:"icon",className:"ml-2 flex-shrink-0"},D.createElement(Ad.Icons.More,{className:"h-4 w-4"}))),D.createElement(Ad.DropdownMenuContent,{align:"start"},D.createElement(Ad.DropdownMenuItem,{onClick:()=>{o(r.filter(A=>A!==e))}},"Cancel")))))),D.createElement("div",{className:"mt-1 mb-1 flex items-center px-1"},D.createElement(Ad.Icons.LayerBackground,{className:"text-muted-foreground mr-1 h-6 w-6 flex-shrink-0"}),D.createElement(Ad.Select,{value:u?.displaySetInstanceUID,onValueChange:t=>{let n,r=g.find(e=>e.displaySetInstanceUID===t);r&&(n=l.getViewportsRequireUpdate(e,r.displaySetInstanceUID),A.run("setDisplaySetsForViewports",{viewportsToUpdate:n}))}},D.createElement(Ad.SelectTrigger,{className:"flex-1","data-cy":`overlay-background-ds-select-${e}`},D.createElement(Ad.SelectValue,null,(u?.SeriesDescription||u?.label||"background").toUpperCase())),D.createElement(Ad.SelectContent,null,g.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID,className:"pr-2"},D.createElement(cl,{displaySet:e}))))))),f.length>0&&(E||I)&&D.createElement("div",{className:"mt-1 ml-7"},D.createElement("div",{className:"flex items-center"},D.createElement(Ad.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 cd(){return(cd=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 cp(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{viewportDisplaySets:s}=(0,cs.N)(A),{IconContainer:l,className:c,containerProps:u}=(0,Ad.useIconPresentation)(),{servicesManager:d}=(0,_.useSystem)(),{toolbarService:p}=d.services,{align:g,side:m}=p.getAlignAndSide(t),f=D.createElement(Ad.Icons.ViewportViews,{className:c}),h=a.id?{id:`${a.id}-${A}`}:{};return D.createElement(Ad.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,l?D.createElement(l,cd({disabled:i,icon:"ViewportViews"},a,u,h),f):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i},f))),D.createElement(Ad.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:m,align:g,alignOffset:0,sideOffset:5},D.createElement(cu,{className:"w-full",viewportId:A,displaySets:s})))}function cg(){return(cg=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 cm=function({location:e,viewportId:A,displaySets:t,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(A).getOrientation(),[p]=(0,Ad.useViewportGrid)(),g=A||p.activeViewportId,{IconContainer:m,className:f,containerProps:h}=(0,Ad.useIconPresentation)(),[w,B]=D.useState("string"==typeof d?d:"axial"),y=e=>{let A;B(e);let n=c.getViewportInfo(g),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:g,displaySetInstanceUIDs:i,viewportOptions:{viewportType:x.Enums.ViewportType.ORTHOGRAPHIC,orientation:A},displaySetOptions:i.map(()=>({}))};l.run("setDisplaySetsForViewports",{viewportsToUpdate:[e]})}else l.runCommand("setViewportOrientation",{viewportId:g,orientation:A});o?.()};if(!t.length)return null;let{align:v,side:C}=u.getAlignAndSide(Number(e)),S=D.createElement((e=>{switch(e.toLowerCase()){case"axial":return Ad.Icons.OrientationSwitchA;case"sagittal":return Ad.Icons.OrientationSwitchS;case"coronal":return Ad.Icons.OrientationSwitchC;case"reformat":return Ad.Icons.OrientationSwitchR;default:return Ad.Icons.OrientationSwitch}})(w),{className:f});return D.createElement(Ad.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:(0,Ad.cn)("flex items-center justify-center")},D.createElement("div",null,m?D.createElement(m,cg({disabled:i,icon:"OrientationSwitch"},a,h),S):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i,onClick:()=>{}},S))),D.createElement(Ad.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(Ad.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(Ad.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Axial")),D.createElement(Ad.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(Ad.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Sagittal")),D.createElement(Ad.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(Ad.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Coronal")),D.createElement(Ad.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(Ad.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(Ad.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(Ad.Icons.Checked,{className:"text-primary h-6 w-6"}):null),D.createElement("div",{className:"flex-1 text-left"},"Reformat"))))};function cf(){return(cf=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}=e,{viewportDisplaySets:t}=(0,cs.N)(A);return t.length?D.createElement(cm,cf({},e,{displaySets:t})):null}var cw=O(154);function cB({viewportId:e}={}){let{viewportDisplaySets:A}=(0,cw.e)(e),{t}=AD("WindowLevelActionMenu"),[n,r]=(0,D.useState)(A?.[0]?.displaySetInstanceUID),{colorbarProperties:o,setColormap:i}=(0,cw.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,t=!0)=>{let n=A.length>1&&!["Grayscale","X Ray"].includes(e.name)?.5:1;i({colormap:e,opacity:n,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(Ad.Tabs,{value:n,onValueChange:e=>{r(e),u(null)}},D.createElement(Ad.TabsList,null,A.map(e=>D.createElement(Ad.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"},t("Preview in viewport")),D.createElement(Ad.Switch,{className:"ml-auto flex-shrink-0",checked:s,onCheckedChange:e=>{l(e),!e&&f.current&&h(f.current)}})),D.createElement(Ad.AllInOneMenu.DividerItem,null),D.createElement("div",{className:"h-[300px] flex-grow"},D.createElement(Ad.ScrollArea,{className:"h-full w-full"},D.createElement("div",{className:"p-1"},a.map((e,A)=>D.createElement(Ad.AllInOneMenu.Item,{key:A,label:t(`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 cy({viewportId:e}={}){let{hasColorbar:A,toggleColorbar:t}=(0,cw.e)(e),{t:n}=AD("WindowLevelActionMenu"),r=(0,D.useCallback)(()=>{t()},[t]);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(Ad.Switch,{className:"ml-2 flex-shrink-0",checked:!!A,onCheckedChange:r}))}function cv({viewportId:e}={}){let{t:A}=AD("WindowLevelActionMenu"),{viewportDisplaySets:t}=(0,cw.e)(e),[n,r]=(0,D.useState)(t?.[0]?.displaySetInstanceUID),{windowLevelPresets:o,setWindowLevel:i}=(0,cw.e)(e,{displaySetInstanceUID:n}),[a,s]=(0,D.useState)(!1),[l,c]=(0,D.useState)(null),[u,d]=(0,D.useState)(null),p=(0,D.useRef)(a);p.current=a;let g=(0,D.useRef)(l);g.current=l;let m=(0,D.useRef)(u);m.current=u,(0,D.useEffect)(()=>{d(null),c(null)},[n]);let f=(e,A=!1)=>{i({windowWidth:Number(e.window),windowCenter:Number(e.level),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(Ad.Tabs,{value:n,onValueChange:e=>{r(e)}},D.createElement(Ad.TabsList,null,t.map(e=>D.createElement(Ad.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:()=>s(!a)},D.createElement("span",{className:"flex-shrink-0"},A("Preview in viewport")),D.createElement(Ad.Switch,{className:"ml-auto flex-shrink-0",checked:a,onCheckedChange:e=>{s(e),!e&&m.current&&f(m.current,!0)}})),D.createElement(Ad.AllInOneMenu.DividerItem,null),D.createElement("div",{className:"h-[175px] flex-grow"},D.createElement(Ad.ScrollArea,{className:"h-full w-full"},D.createElement("div",{className:"p-1"},o.map((e,t)=>D.createElement(Ad.AllInOneMenu.Item,{key:t,label:A(e.description),secondaryLabel:`${e.window} / ${e.level}`,useIconSpace:!1,onClick:()=>{d(e),f(e,!0),c(null)},onMouseEnter:()=>{p.current&&(g.current||c(m.current||e),f(e,!0))},onMouseLeave:()=>{p.current&&g.current&&f(g.current,!0)}}))))))}function cC({presets:e,viewportId:A,hide:t}){let{commandsManager:n}=(0,_.useSystem)(),[r,o]=(0,D.useState)(""),[i,a]=(0,D.useState)(null),{t:s}=AD("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(Ad.PresetDialog,{className:"h-[500px]"},D.createElement(Ad.PresetDialog.PresetBody,null,D.createElement(Ad.PresetDialog.PresetFilter,null,D.createElement(Ad.PresetDialog.PresetSearch,{value:r,onChange:l,placeholder:s("Search all","Search all")})),D.createElement(Ad.PresetDialog.PresetGrid,null,u.map((e,t)=>{let n;return D.createElement("div",{key:t,className:"flex cursor-pointer flex-col items-start",onClick:()=>{a(e),c({preset:e.name,viewportId:A})}},D.createElement(Ad.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(Ad.FooterAction,{className:"mt-4 flex-shrink-0"},D.createElement(Ad.FooterAction.Right,null,D.createElement(Ad.FooterAction.Secondary,{onClick:t},s("Common:Cancel")))))}function cS({viewportId:e}={}){let{volumeRenderingPresets:A}=(0,cw.e)(e),{servicesManager:t}=(0,_.useSystem)(),{uiDialogService:n}=t.services,{t:r}=AD("WindowLevelActionMenu");return D.createElement(Ad.AllInOneMenu.Item,{label:r("Rendering Presets"),icon:D.createElement(Ad.Icons.VolumeRendering,null),rightIcon:D.createElement(Ad.Icons.ByName,{name:"action-new-dialog"}),onClick:()=>{n.show({id:"volume-rendering-presets",content:cC,title:r("Rendering Presets"),isDraggable:!0,contentProps:{presets:A,viewportId:e}})}})}function cE({volumeRenderingQualityRange:e,viewportId:A}){let{servicesManager:t,commandsManager:n}=(0,_.useSystem)(),{cornerstoneViewportService:r}=t.services,{min:o,max:i,step:a}=e,[s,l]=(0,D.useState)(null),{t:c}=AD("WindowLevelActionMenu"),u=(0,D.useCallback)(e=>{n.runCommand("setVolumeRenderingQulaity",{viewportId:A,volumeQuality:e}),l(e)},[n,A]);return(0,D.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]),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(Ad.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(Ad.Numeric.Label,{className:"w-16"},c("Quality")),D.createElement(Ad.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cI({viewportId:e}){let{servicesManager:A,commandsManager:t}=(0,_.useSystem)(),{cornerstoneViewportService:n}=A.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}=AD("WindowLevelActionMenu");(0,D.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,D.useCallback)(A=>{let n=A-g.current;g.current=A,m.shiftedBy=A,t.runCommand("shiftVolumeOpacityPoints",{viewportId:e,shift:n}),l(A)},[t,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(Ad.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(Ad.Numeric.Label,{className:"w-16"},w("Shift")),D.createElement(Ad.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"})))))}function cU({viewportId:e,hasShade:A}){let{servicesManager:t,commandsManager:n}=(0,_.useSystem)(),{cornerstoneViewportService:r}=t.services,[o,i]=(0,D.useState)({ambient:null,diffuse:null,specular:null}),{t:a}=AD("WindowLevelActionMenu"),s=(0,D.useCallback)((A,t)=>{n.runCommand("setVolumeLighting",{viewportId:e,options:{[A]:t}}),i(e=>({...e,[A]:t}))},[n,e]);(0,D.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 D.createElement("div",{className:"my-1 mt-2 flex flex-col space-y-2"},c.map(({key:e,label:A})=>null!==o[e]&&D.createElement("div",{key:e,className:`w-full pl-2 pr-1 ${l}`},D.createElement(Ad.Numeric.Container,{mode:"singleRange",min:0,max:1,step:.1,value:o[e],onChange:A=>s(e,A)},D.createElement("div",{className:"flex flex-row items-center"},D.createElement(Ad.Numeric.Label,{className:"w-16"},A),D.createElement(Ad.Numeric.SingleRange,{sliderClassName:"mx-2 flex-grow"}))))))}function cb({viewportId:e,onClickShade:A=e=>{}}){let{t}=AD("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)(A=>{r.runCommand("setVolumeLighting",{viewportId:e,options:{shade:A}})},[r,e]);return(0,D.useEffect)(()=>{let{actor:t}=o.getCornerstoneViewport(e).getActors()[0],n=t.getProperty().getShade();a(n),A(n),l(s+1)},[e,o]),D.createElement(D.Fragment,null,D.createElement("span",{className:"flex-grow"},t("Shade")),D.createElement(Ad.Switch,{className:"ml-2 flex-shrink-0",key:s,checked:i,onCheckedChange:()=>{a(!i),A(!i),c(!i)}}))}function cF({viewportId:e}={}){let{volumeRenderingQualityRange:A}=(0,cw.e)(e),[t,n]=(0,D.useState)(!1),{t:r}=AD("WindowLevelActionMenu");return D.createElement(Ad.AllInOneMenu.ItemPanel,null,D.createElement(cE,{viewportId:e,volumeRenderingQualityRange:A}),D.createElement(cI,{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(cb,{viewportId:e,onClickShade:n})),D.createElement(cU,{viewportId:e,hasShade:t}))}function cQ({viewportId:e,align:A,side:t,onVisibilityChange:n}){return D.createElement(cT,{viewportId:e,align:A,side:t,onVisibilityChange:n})}function cT({viewportId:e,align:A,side:t,onVisibilityChange:n}){let{t:r}=AD("WindowLevelActionMenu"),o=(0,D.useMemo)(()=>`${e}`,[e]),{is3DVolume:i,colorbarProperties:a,windowLevelPresets:s,volumeRenderingPresets:l,volumeRenderingQualityRange:c}=(0,cw.e)(e);return D.createElement(Ad.AllInOneMenu.Menu,{key:o,isVisible:!0,align:A,side:t,backLabel:tC.t("WindowLevelActionMenu:Back to Display Options"),onVisibilityChange:n},D.createElement(Ad.AllInOneMenu.ItemPanel,null,!i&&D.createElement(cy,{viewportId:e}),a?.colormaps&&!i&&D.createElement(Ad.AllInOneMenu.SubMenu,{key:"colorLUTPresets",itemLabel:r("Color LUT"),itemIcon:"icon-color-lut",className:"flex h-[calc(100%-32px)] flex-col"},D.createElement(cB,{viewportId:e})),s?.length>0&&!i&&D.createElement(Ad.AllInOneMenu.SubMenu,{key:"windowLevelPresets",itemLabel:r("Modality Window Presets"),itemIcon:"viewport-window-level"},D.createElement(cv,{viewportId:e})),l&&i&&D.createElement(cS,{viewportId:e}),c&&i&&D.createElement(Ad.AllInOneMenu.SubMenu,{itemLabel:r("Rendering Options")},D.createElement(cF,{viewportId:e}))))}function cD(){return(cD=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,isEmbedded:a=!1,onInteraction:s,hasEmbeddedVariantToUse:l,...c}=e,[u]=(0,Ad.useViewportGrid)(),d=A||u.activeViewportId,{viewportDisplaySets:p}=(0,cs.N)(d),{servicesManager:g}=(0,_.useSystem)(),{toolbarService:m}=g.services,{IconContainer:f,className:h,containerProps:w}=(0,Ad.useIconPresentation)(),{hasColorbar:B,toggleColorbar:y}=(0,cc.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:S}=m.getAlignAndSide(t);if(0===p.map(e=>e.supportsWindowLevel).length)return null;let E=B&&!a&&l?D.createElement(Ad.Icons.Close,{className:h}):D.createElement(Ad.Icons.ViewportWindowLevel,{className:h});return D.createElement(Ad.Popover,{open:n,onOpenChange:v},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,f?D.createElement(f,cD({disabled:i},c,w),E):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i},E))),D.createElement(Ad.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:S,align:C,alignOffset:0,sideOffset:5},D.createElement(cQ,{viewportId:d,align:C,side:S,onVisibilityChange:v})))}let cM="minmax",cx="manual",cH=function({viewportId:e,className:A}){let{servicesManager:t}=(0,_.useSystem)(),{displaySetService:n}=t.services,[r,o]=(0,D.useState)(cM),{viewportDisplaySets:i}=(0,cs.N)(e),[a,s]=(0,D.useState)(i.length>0?i[0].displaySetInstanceUID:void 0),{voiRange:l,setVOIRange:c,windowLevel:u,setWindowLevel:d}=(0,cw.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 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 D.createElement("div",{className:A},D.createElement("div",{className:"bg-popover w-72 rounded-lg p-4 shadow-md"},D.createElement(Ad.Tabs,{defaultValue:r,onValueChange:o},D.createElement("div",{className:"mb-4 flex items-center space-x-2"},i.length>1&&D.createElement(Ad.Select,{value:a,onValueChange:s},D.createElement(Ad.SelectTrigger,null,D.createElement(Ad.SelectValue,null,y?.label||"Select Display Set")),D.createElement(Ad.SelectContent,null,i.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},`${e.SeriesDescription||""}`.trim())))),D.createElement(Ad.TabsList,{className:"w-full flex-1"},D.createElement(Ad.TabsTrigger,{value:cM,className:"flex-1"},"Min/Max"),D.createElement(Ad.TabsTrigger,{value:cx,className:"flex-1"},"Manual"))),D.createElement(Ad.TabsContent,{value:cM},D.createElement(Ad.Numeric.Container,{mode:"doubleRange",min:w,max:B,values:[g,p],step:1,className:"space-y-1",onChange:e=>{let[A,t]=e;(A!==g||t!==p)&&c({lower:A,upper:t})}},D.createElement(Ad.Numeric.DoubleRange,{showNumberInputs:!0}))),D.createElement(Ad.TabsContent,{value:cx},D.createElement("div",{className:"space-y-1"},D.createElement(Ad.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(Ad.Numeric.Label,null,"W:"),D.createElement(Ad.Numeric.SingleRange,{showNumberInput:!0}))),D.createElement(Ad.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(Ad.Numeric.Label,null,"L:"),D.createElement(Ad.Numeric.SingleRange,{showNumberInput:!0}))))))))};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)}function cN(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Ad.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(t),m=D.createElement(Ad.Icons.WindowLevelAdvanced,{className:l});return D.createElement(Ad.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,cL({disabled:i,icon:"WindowLevelAdvanced"},a,c),m):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(Ad.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(cH,{className:"w-full",viewportId:A})))}let cV=function({viewportId:e,className:A}){let{viewportDisplaySets:t,foregroundDisplaySets:n}=(0,cs.N)(e),[r,o]=(0,D.useState)(n.length>0?n[0].displaySetInstanceUID:void 0),{threshold:i,setThreshold:a,pixelValueRange:s}=(0,cc.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=t.find(e=>e.displaySetInstanceUID===r);return D.createElement("div",{className:A},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"),t.length>1&&D.createElement("div",{className:"w-32"},D.createElement(Ad.Select,{value:r,onValueChange:o},D.createElement(Ad.SelectTrigger,null,D.createElement(Ad.SelectValue,null,d?.label||"Select Display Set")),D.createElement(Ad.SelectContent,null,t.map(e=>D.createElement(Ad.SelectItem,{key:e.displaySetInstanceUID,value:e.displaySetInstanceUID},D.createElement(cl,{displaySet:e}))))))),D.createElement(Ad.Button,{size:"sm",variant:"ghost",onClick:()=>a(l),className:"text-sm"},"Reset")),D.createElement(Ad.Numeric.Container,{mode:"singleRange",value:u,onChange:e=>{"number"==typeof e&&a(e)},min:l,max:c,step:.01},D.createElement(Ad.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 cR(){return(cR=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 c_(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Ad.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(t),m=D.createElement(Ad.Icons.Threshold,{className:l});return D.createElement(Ad.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,cR({disabled:i,icon:"Threshold"},a,c),m):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(Ad.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(cV,{className:"w-full",viewportId:A})))}let ck=function({viewportId:e,className:A}){let{backgroundDisplaySet:t,foregroundDisplaySets:n}=(0,cc.Ne)(e,{includeForeground:!0,includeBackground:!0}),{opacityLinear:r,setOpacityLinear:o}=(0,cc.eH)(e,{displaySetInstanceUID:n[0].displaySetInstanceUID}),i=t?.Modality||"",a=n[0]?.Modality||"";return D.createElement("div",{className:A},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(Ad.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(Ad.Numeric.SingleRange,{showNumberInput:!1}),D.createElement("span",{className:"text-foreground ml-2 text-sm"},a))))))};function cP(){return(cP=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 cG(e){let{viewportId:A,location:t,isOpen:n=!1,onOpen:r,onClose:o,disabled:i,...a}=e,{IconContainer:s,className:l,containerProps:c}=(0,Ad.useIconPresentation)(),{servicesManager:u}=(0,_.useSystem)(),{toolbarService:d}=u.services,{align:p,side:g}=d.getAlignAndSide(t),m=D.createElement(Ad.Icons.Opacity,{className:l});return D.createElement(Ad.Popover,{open:n,onOpenChange:e=>{e?r?.():o?.()}},D.createElement(Ad.PopoverTrigger,{asChild:!0,className:"flex items-center justify-center"},D.createElement("div",null,s?D.createElement(s,cP({disabled:i,icon:"Opacity"},a,c),m):D.createElement(Ad.Button,{variant:"ghost",size:"icon",disabled:i},m))),D.createElement(Ad.PopoverContent,{className:"border-none bg-transparent p-0 shadow-none",side:g,align:p,alignOffset:0,sideOffset:5},D.createElement(ck,{className:"w-full",viewportId:A})))}var cK=O(9433);let cj=function({viewportId:e}){let{commandsManager:A}=(0,AO.useSystem)(),{t}=AD("Common"),n=t("LOAD"),{isTracked:r,isLocked:o}=(0,cK.R)({viewportId:e}),{backgroundDisplaySet:i}=(0,cs.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,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?D.createElement(Ad.Icons.StatusUntracked,{className:"h-4 w-4"}):c.isRehydratable&&!o?D.createElement(Ad.Icons.ByName,{className:"text-muted-foreground h-4 w-4",name:"status-untracked"}):c.isRehydratable&&o?D.createElement(Ad.Icons.ByName,{name:"status-locked",className:"h-4 w-4"}):D.createElement(Ad.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(Ad.ViewportActionButton,{onInteraction:()=>{A.runCommand("hydrateSecondaryDisplaySet",{displaySet:c.displaySet,viewportId:e})}},n));return D.createElement(D.Fragment,null,c.tooltip&&D.createElement(Ad.Tooltip,null,D.createElement(Ad.TooltipTrigger,{asChild:!0},D.createElement("span",null,D.createElement(d,null))),D.createElement(Ad.TooltipContent,{side:"bottom"},D.createElement("div",null,c.tooltip))),!c.tooltip&&D.createElement(d,null))};function cW(e,A,t){if(t<=0)return 0;let n=(e+A)%t;return n<0&&(n=t-1),n}let cY=function({viewportId:e}){let{servicesManager:A}=(0,AO.useSystem)(),{segmentationService:t,cornerstoneViewportService:n,measurementService:r}=A.services,{isTracked:o,trackedMeasurementUIDs:i}=(0,cK.R)({viewportId:e}),{viewportDisplaySets:a}=(0,cs.N)(e),[s,l]=(0,D.useState)(0),c=a.some(e=>e?.Modality==="SR"),u=n.getCornerstoneViewport(e),{segmentationsWithRepresentations:d}=(0,cc.Lt)({viewportId:e}),p=d.length>0&&d.some(e=>e?.representation?.type!==At.SegmentationRepresentations.Surface)?"segment":c||o?"measurement":null,g=(0,D.useCallback)(A=>{let t=a.find(e=>e?.Modality==="SR");if(t){let e=t.measurements;if(e.length<=0)return;let n=cW(s,A,e.length);l(n);let r=e[n];u.setViewReference({referencedImageId:r.imageId});return}if(o&&i.length>0){let t=cW(s,A,i.length);l(t),r.jumpToMeasurement(e,i[t])}},[e,u,s,r,o,i,a]),m=(0,D.useCallback)(A=>{if(!d.length)return;let n=d.find(e=>e?.representation?.active).segmentation.segmentationId;dX.handleSegmentChange({direction:A,segmentationId:n,viewportId:e,selectedSegmentObjectIndex:0,segmentationService:t})},[d,e,t]),f=(0,D.useCallback)(e=>{"segment"===p?m(e):"measurement"===p&&g(e)},[p,m,g]);return p?D.createElement(Ad.ViewportActionArrows,{onArrowsClick:f,className:"h-6"}):null},cz=function({viewportId:e}){let{isTracked:A}=(0,cK.R)({viewportId:e});return A?D.createElement(D.Fragment,null,D.createElement(Ad.Tooltip,null,D.createElement(Ad.TooltipTrigger,{asChild:!0},D.createElement("span",null,D.createElement(Ad.Icons.StatusTracking,{className:"h-4 w-4 text-highlight"}))),D.createElement(Ad.TooltipContent,{side:"bottom"},D.createElement("div",null,"Tracking")))):null},{ViewportColorbar:cJ}=H.utilities.voi.colorbar,cX=e=>"top"===e||"bottom"===e,cq=(0,D.memo)(function({viewportId:e,displaySetInstanceUID:A,colormaps:t,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}-${A}`,[e,A]);return((0,D.useEffect)(()=>{if(!l.current||!t||!n)return;let e=d?.current;if(!e||!t?.length)return;let A=new cJ({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]),p&&g)?D.createElement("div",{id:`colorbar-container-${e}-${A}`,ref:l,style:{position:"relative",zIndex:1e3,boxSizing:"border-box",display:"flex",alignItems:"center",pointerEvents:"auto",minWidth:cX(o)?g/2.5:"17px",minHeight:cX(o)?"20px":1===s?p/3:p/4,height:"1px",...w}}):null}),c$=(0,D.memo)(function({viewportId:e,location:A}){let[t,n]=(0,D.useState)([]),{servicesManager:r}=(0,_.useSystem)(),{colorbarService:o,customizationService:i,displaySetService:a}=r.services,{viewportDisplaySets:s,backgroundDisplaySet:l,foregroundDisplaySets:c}=(0,cs.N)(e),{colorbarPosition:u,opacity:d}=(0,cw.A)(e,{location:A}),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: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&&cX(u)?t.filter(({displaySetInstanceUID:e})=>{let{displaySetInstanceUID:A}=a.getDisplaySetByUID(e)??{};return A===(0===d||null==d?l?.displaySetInstanceUID:c[0].displaySetInstanceUID)}):t;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(A=>{let{colorbar:n,displaySetInstanceUID:r}=A;return D.createElement(cq,{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:t.length})})))});var cZ=O(1016),c0=O(8842);function c1(){return(c1=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 c3={[c0.ButtonLocation.TopMiddle]:{minX:0,minY:0,maxX:1,maxY:.1},[c0.ButtonLocation.BottomMiddle]:{minX:0,minY:.9,maxX:1,maxY:1},[c0.ButtonLocation.LeftMiddle]:{minX:0,minY:0,maxX:.1,maxY:1},[c0.ButtonLocation.RightMiddle]:{minX:.9,minY:0,maxX:1,maxY:1}},c4=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,D.useState)(!1),[p,g]=(0,D.useState)(!0),m=(0,D.useRef)(!0),{hasColorbar:f}=(0,cc.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=c3[A];c.isWithinNormalizedBox(e)?d(!0):d(!1)}},[A,c,p]);let B=(0,D.useCallback)((e,A)=>{a(e,A),w(!0)},[a,w]),y=(0,D.useCallback)((e,A)=>{s(e,A),w(!1)},[s,w]);return r?.length&&f?D.createElement("div",{className:t2()("flex gap-2",A===c0.ButtonLocation.LeftMiddle||A===c0.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=D.createElement(a,c1({key:r,id:r,location:A,onInteraction:A=>{n({...A,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},c2=e=>({disabled:!0,disabledText:e??lz().t("Buttons:Not available on the current viewport")});function c6({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 c2(n);let s=r.includes(i.getToolOptions(a).mode);return{className:Ad.utils.getToggledClassName(!s)}}let c9={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 c8{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(c9.TOOL_ACTIVATED,o),r&&this._broadcastEvent(c9.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=c9,Object.assign(this,_.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=Z(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(c9.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(c9.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"}}c8.REGISTRATION={name:"toolGroupService",altName:"ToolGroupService",create:({servicesManager:e})=>new c8(e)};let{createSynchronizer:c5}=H.SynchronizerManager,{SEGMENTATION_REPRESENTATION_MODIFIED:c7}=H.Enums.Events,{BlendModes:ue}=x.Enums;function uA(e,{servicesManager:A,...t}){return c5(e,c7,(e,n,r,o)=>ut(e,n,r,o,{servicesManager:A,options:t}),{eventSource:"eventTarget"})}let ut=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),p=l.getViewportInfo(u),g=l.getViewportInfo(c),m=un(p),f=un(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}=H.Enums.SegmentationRepresentations;await s.addSegmentationRepresentation(c,{segmentationId:i,type:y?v:a&&a!==v?a:C,config:{blendMode:d?.getBlendMode?.()===1?ue.LABELMAP_EDGE_PROJECTION_BLEND:void 0}})};function un(e){return e.getViewportData().data.map(e=>e.displaySetInstanceUID)}let ur={TOOL_GROUP_CREATED:"event::cornerstone::syncgroupservice:toolgroupcreated"},uo="imageslice";class ui{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,[uo]:H.synchronizers.createImageSliceSynchronizer,hydrateseg:uA},this.synchronizersByType={},this.servicesManager=e,this.listeners={},this.EVENTS=ur,Object.assign(this,_.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()===uo}getSynchronizerType(e){return Object.keys(this.synchronizersByType).find(A=>this.getSynchronizersOfType(A).includes(e))}}ui.REGISTRATION={name:"syncGroupService",altName:"SyncGroupService",create:({servicesManager:e})=>new ui(e)};var ua=O(6336);let us="cornerstoneStreamingImageVolume",ul="cornerstoneStreamingDynamicImageVolume",{DefaultHistoryMemo:uc}=x.utilities.HistoryMemo,{Labelmap:uu,Contour:ud,Surface:up}=H.Enums.SegmentationRepresentations,{getLabelmapImageIds:ug,helpers:{convertStackToVolumeLabelmap:um},state:{addColorLUT:uf,updateLabelmapSegmentationImageReferences:uh},triggerSegmentationEvents:{triggerSegmentationRepresentationModified:uw}}=H.segmentation,uB={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 uy extends _.PubSubService{constructor({servicesManager:e}){super(uB),this._segmentationIdToColorLUTIndexMap=void 0,this._segmentationGroupStatsMap=void 0,this.servicesManager=void 0,this.highlightIntervalId=null,this.EVENTS=uB,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(uB.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);if(!i)return void console.warn(`addSegmentationRepresentation: segmentation "${A}" is not in state yet`);!i.predecessorImageId&&t&&(i.predecessorImageId=t);let a=this.getAndValidateViewport(e);if(!a)return;let s=this._segmentationIdToColorLUTIndexMap.get(A),l=!1,c=(0,ei.Ov)(a)?up:uu,u=n||c;if(u===uu){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,uu,A)}async createContourForDisplaySet(e,A){return this._createSegmentationForDisplaySet(e,ud,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:`${lz().t("Segment")} 1`,active:!0}},cachedStats:{info:`S${e.SeriesNumber}: ${e.SeriesDescription}`}}};return this.addOrUpdateSegmentation(l),n}async createSegmentationForSEGDisplaySet(e,A={type:uu}){let{type:t}=A,{segmentationId:n}=A,{labelMapImages:r}=e;if(t!==uu)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 A=l[e].voxelManager,t=A.getScalarData();A.setScalarData(t),!u&&t.some(e=>0!==e)&&(u=l[e].referencedImageId)}e.firstSegmentedSliceImageId=u;let d=e.segMetadata.data,p={},g=[];d.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),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=uf(g);this._segmentationIdToColorLUTIndexMap.set(n,m);let f={segmentationId:n,representation:{type:uu,data:{imageIds:c,referencedImageIds:s}},config:{label:e.SeriesDescription,fallbackLabel:`S:${e.SeriesNumber} ${e.Modality}`,segments:p}};return e.isLoaded=!0,this.addOrUpdateSegmentation(f),this._broadcastEvent(uB.SEGMENTATION_LOADING_COMPLETE,{segmentationId:n,segDisplaySet:e}),n}async createSegmentationForRTDisplaySet(e,A={type:ud}){let{type:t}=A,{segmentationId:n}=A;if(t!==ud)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:ud,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 A=0;A<l.length;A++){let{data:t,id:n,color:o,segmentIndex:i,geometryId:a,group:s}=l[A];p.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(uB.SEGMENT_LOADING_COMPLETE,{percentComplete:c,numSegments:l.length})}catch(e){console.warn(`Error initializing contour for segment ${i}:`,e);continue}}let g=uf(p);return this._segmentationIdToColorLUTIndexMap.set(n,g),c.config.segments=u,this._broadcastEvent(uB.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):"representation"in e&&e.representation?this.addSegmentationToSource(e):console.warn(`addOrUpdateSegmentation: skipping add for ${A} — missing representation`)}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(lz().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=`${lz().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??uu;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}),uc.startGroupRecording(),H.segmentation.removeSegment(e,A,{recordHistory:!0}),uc.push(n),uc.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[uu];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=lj.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===ud?this._getSegmentCenter(e,A):void 0;if(c!==ud||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 p=this._getContourViewReferences(e,d,A);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,A,t,n=.9,r=!0,o=750,i=!1,a=lj.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=lj.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===uu?this._highlightLabelmap.bind(this):this._highlightContour.bind(this))(A,l===uu?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){let t=(0,ei.rX)(e),n=A?.representationData?.[uu];return n?{isVolumeViewport:t,isVolumeSegmentation:"volumeId"in n}:{isVolumeViewport:t,isVolumeSegmentation:!1}}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,ei.Ov)(e)?{representationTypeToUse:up,isConverted:!1}:(await this.handleVolumeViewport(e,A,t),{representationTypeToUse:uu,isConverted:!1})}async handleStackViewportCase(e,A,t,n,r){return t?{representationTypeToUse:uu,isConverted:await this.convertStackToVolumeViewport(e)}:uh(n,r)?{representationTypeToUse:uu,isConverted:!1}:{representationTypeToUse:uu,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=ug(A.segmentationId),o=x.cache.getImage(r[0]);o?.FrameOfReferenceUID===n&&await um(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:ua.ViewportType.ORTHOGRAPHIC}}),!0}async attemptStackToVolumeConversion(e,A,t,n){let r=ug(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 uw(t,n,uu),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:uu,segmentIndex:e}),c=null,u=A=>{null===c&&(c=A);let t=Math.min((A-c)/o,1),n=lW.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uu},{fillAlpha:n(t,l)}),t<1?requestAnimationFrame(u):H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:uu},{},!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:ud}).outlineWidth,u=A=>{let t=(A-l)/o;if(t>=1)return void H.segmentation.config.style.resetToGlobalStyle();let n=lW.get(a);H.segmentation.config.style.setStyle({segmentationId:s,segmentIndex:e,type:ud},{outlineWidth:n(t,c,5)}),requestAnimationFrame(u)};requestAnimationFrame(u)}_setActiveSegment(e,A){H.segmentation.segmentIndex.setActiveSegmentIndex(e,A)}_getVolumeIdForDisplaySet(e){let A=e.volumeLoaderSchema??us;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[ud];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 uv(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`)}uy.REGISTRATION={name:"segmentationService",altName:"SegmentationService",create:({servicesManager:e})=>new uy({servicesManager:e})};class uC{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=uv(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=`${us}:${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??us,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)}}uC.REGISTRATION={name:"cornerstoneCacheService",altName:"CornerstoneCacheService",create:({servicesManager:e})=>new uC(e)};let uS="OHIFCornerstoneRenderingEngine",uE="default",uI=({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,ei.tO)(n))){if(!n.getCurrentImageId())return!1;let e=x.utilities.imageIdToURI(t);if(n.hasImageURI(e))return!0}return e.displaySetInstanceUID===A},uU=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=>uI({data:n,displaySetUID:e,imageId:A,viewport:t})):uI({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=uE}=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=uv(t);return r||(r=uE),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 ub=((y=ub||{}).First="first",y.Last="last",y.Middle="middle",y);let uF={VIEWPORT_DATA_CHANGED:"event::cornerstoneViewportService:viewportDataChanged",VIEWPORT_VOLUMES_CHANGED:"event::cornerstoneViewportService:viewportVolumesChanged"},uQ=new Set(["vtkVolume","vtkImageSlice"]);function uT(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 uD={withNavigation:!0,withOrientation:!1},uO={withNavigation:!0,withOrientation:!0};class uM extends _.PubSubService{constructor(e){super(uF),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 uU(e);t.setElement(A),this.viewportsById.set(e,t)}getViewportIds(){return Array.from(this.viewportsById.keys())}getRenderingEngine(){let e=(0,x.getRenderingEngine)(uS);return e?this.renderingEngine=e:(!e||e.hasBeenDestroyed)&&(this.renderingEngine=new x.RenderingEngine(uS)),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}=An.I.getState(),{setPositionPresentation:u}=Ar.q.getState(),{setSynchronizers:d}=nm.U.getState(),{setSegmentationPresentation:p}=Ao.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 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,ei.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,ei.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(),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(A),i.setViewportId(e),this.viewportsById.set(e,i);let g=o.getViewport(e);this._setDisplaySets(g,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,uD))return e;for(let e of this.viewportsById.keys()){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,uD))return e}for(let{viewportId:e}of this.getViewportAlignmentData(A)){let t=this.getCornerstoneViewport(e);if(t?.isReferenceViewable(A,uO))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(nd.vec3.dot(n,r)):0)+(o?-Math.abs(nd.vec3.dot(n,o)):0):t&&(i=Math.abs(nd.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,o=r.imageIds[0],i=x.metaData.get(x.Enums.MetadataModules.WADO_WEB_CLIENT,o);x.utilities.genericViewportDisplaySetMetadataProvider.add(o,{imageIds:r.imageIds,kind:"wsi",options:{webClient:i}}),await e.setDisplaySets({displaySetId:o});let a=t.getViewReference();a&&e.setViewReference(a)}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 p=this._processExtraDisplaySetsForViewport(e),g=n?.positionPresentation?.viewReference?.referencedImageId;g&&(s=a.indexOf(g)),(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(p),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===ub.First?0:t===ub.Last?n:t===ub.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,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=>uQ.has(e.actor?.getClassName?.()??"")).map(e=>e.referencedId).filter(Boolean),f=!1;if(p.length){let A;if(1===g.length&&m.length>=g.length&&uT(m,g.length,g)&&(A=o.getViewportType(),(0,ei.Gj)(e)===A&&(A===x.Enums.ViewportType.ORTHOGRAPHIC||A===x.Enums.ViewportType.VOLUME_3D)))f=!0;else if(m.length&&g.length>m.length&&uT(m,m.length,g)&&"function"==typeof e.addVolumes){let A=p.slice(m.length);A.length&&await e.addVolumes(A)}else await e.setVolumes(p)}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,o=()=>{let{predecessorImageId:o}=e,i=t.addSegmentationRepresentation(A.id,{segmentationId:n,predecessorImageId:o,type:r,config:{blendMode:A?.getBlendMode?.()===1?ua.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND:void 0}});return this.storePresentation({viewportId:A.id}),i};return"SEG"===e.Modality?t.getSegmentation(n)?o():new Promise(A=>{let r,i=!1,a=()=>{clearTimeout(r),A()},s=()=>{i=!0,l(),a()},{unsubscribe:l}=t.subscribe(t.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.`),A();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 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,ei.rX)(o)&&(n=this._setVolumeViewport(o,A,r).then(()=>{t&&(o.setCamera(i),o.render())})),(0,ei.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,ei.TF)(e)?this._setStackViewport(e,A,t,n):(0,ei.rX)(e)?this._setVolumeViewport(e,A,t,n):(0,ei.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,ei.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,uO)?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,ei.Ov)(e);o&&t.addSegmentationRepresentation(e.id,{segmentationId:n,type:r!==a||s?r:i,config:{blendMode:e?.getBlendMode?.()===1?ua.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)}}uM.REGISTRATION={name:"cornerstoneViewportService",altName:"CornerstoneViewportService",create:({servicesManager:e})=>new uM(e)};var ux=O(2464);let uH=((v={}).Removed="removed",v.Added="added",v.Modified="modified",v);class uL extends _.PubSubService{constructor(e){super(uL.EVENTS),this.colorbars={},this.servicesManager=void 0,this.servicesManager=e}addColorbar(e,A,t={}){let{displaySetService:n}=this.servicesManager.services,r=(0,x.getRenderingEngine)(uS).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,ux.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(uL.EVENTS.STATE_CHANGED,{viewportId:e,changeType:uH.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(uL.EVENTS.STATE_CHANGED,{viewportId:e,displaySetInstanceUID:A,changeType:uH.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)(uS).getViewport(e),o=r?.getActors();if(!r||!o||0===o.length)return;let i=(0,ux.V)(r,A);r.setProperties({colormap:t},i),n&&r.render()}}uL.EVENTS={STATE_CHANGED:"event::ColorbarService:stateChanged"},uL.REGISTRATION={name:"colorbarService",create:({servicesManager:e})=>new uL(e)};class uN extends _.PubSubService{constructor(){super(uN.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 uV(e){return(uV="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 uR(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 u_(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 uk(e){for(var A=new Uint8Array(e.length),t=0,n=e.length;t<n;t++)A[t]=e.charCodeAt(t);return A}function uP(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 uG(e){return"object"===uV(e)&&null!==e}function uK(e){return 0===Object.keys(e).length&&e.constructor===Object}uN.EVENTS={VIEWED_DATA_CHANGED:"event::viewedDataChanged"},uN.REGISTRATION={name:"viewedDataService",altName:"ViewedDataService",create:()=>new uN};var uj=function(e){return e[0]},uW={DICOM:"application/dicom",DICOM_JSON:"application/dicom+json",OCTET_STREAM:"application/octet-stream",PDF:"application/pdf",JPEG:"image/jpeg",PNG:"image/png"},uY=function(){},uz=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?(uY("use URL prefix for QIDO-RS: ".concat(e.qidoURLPrefix)),this.qidoURL="".concat(this.baseURL,"/").concat(e.qidoURLPrefix)):this.qidoURL=this.baseURL,"wadoURLPrefix"in e?(uY("use URL prefix for WADO-RS: ".concat(e.wadoURLPrefix)),this.wadoURL="".concat(this.baseURL,"/").concat(e.wadoURLPrefix)):this.wadoURL=this.baseURL,"stowURLPrefix"in e?(uY("use URL prefix for STOW-RS: ".concat(e.stowURLPrefix)),this.stowURL="".concat(this.baseURL,"/").concat(e.stowURLPrefix)):this.stowURL=this.baseURL,e.singlepart?(uY("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,uY=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"===uV(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(){uY("upload started: ",e)},l.onloadend=function(){uY("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=uk("\r\n\r\n"),r=uP(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=uk(o),a=i.length,s=[],l=a;-1!==A&&-1!==(A=uP(t,i,l));){var c=uP(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"!==uV(A)||uK(A)||(o+=t._parseQueryParameters(A));var i={Accept:uW.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"!==uV(A)||uK(A)||(o+=t._parseQueryParameters(A));var i={Accept:uW.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"!==uV(n)||uK(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"!==uV(n)||uK(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"!==uV(n)||uK(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 u_(e)}(a=Object.values(uW))||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 u_(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 u_(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":uW.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]:{};uY("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");uY("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&&(uY("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");uY("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?(uY("search for instances of series ".concat(e.seriesInstanceUID)),A+="/series/".concat(e.seriesInstanceUID)):uY("search for instances of study ".concat(e.studyInstanceUID))):uY("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||uW.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");uY("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");uY("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===uW.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");uY("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(uj);var s=t._getCommonMediaType(n);if(s===uW.DICOM)return this._httpGetMultipartApplicationDicom(A,n,!1,a,o).then(uj);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===uW.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===uW.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=uk("\r\n--".concat(A,"\r\n").concat("Content-Type: ".concat(t),"\r\n\r\n")),r=uk("\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)&&!uG(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(uG(A)){if(!Object.values(A).flat(1).includes(i)&&(!i.endsWith("/*")||!i.endsWith("/")))return void uY("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&&uR(t.prototype,e),A&&uR(t,A),Object.defineProperty(t,"prototype",{writable:!1}),t}();let uJ=e=>{if(e)return"function"==typeof e.getImageId?e.getImageId():e.url},uX=e=>(Array.isArray(e)?e:[e]).some(e=>!e),uq=e=>e&&e.images&&e.images[0],u$=(e,A=_.DICOMWeb.getAuthorizationHeader())=>fetch(e,A).then(e=>e.arrayBuffer()),uZ=e=>x.imageLoader.loadAndCacheImage(e).then(e=>e&&e.data&&e.data.byteArray.buffer),u0=(e,A,t,n,r=_.DICOMWeb.getAuthorizationHeader(),o=_.errorHandler.getHTTPErrorHandler())=>new uz({url:e,headers:r,errorInterceptor:o}).retrieveInstance({studyInstanceUID:A,seriesInstanceUID:t,sopInstanceUID:n}),u1=new class{getLocalData(e,A){let t=uq(e),n=e&&e.instance;if(!t&&!n||!n.imageId?.startsWith("dicomfile"))return;let r=uJ(t||n);if(uX(r)&&(r=((e,A)=>{let{series:t=[]}=e.find(e=>e.displaySets.some(e=>e.displaySetInstanceUID===A)),{instances:n=[]}=t[0]||{};return uJ(n[0])})(A,e.displaySetInstanceUID)),!uX(r))return W().wadouri.loadFileRequest(r)}getDataByImageType(e){let A=uq(e);if(A){let e,t,n=uJ(A),r=u$;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(uX([o,i,a,s]))return;r=u0.bind(this,o,i,a,s);break;case"wadouri":if(uX(n=n.substring(n.indexOf(":")+1)))return;r=u$.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(!uX(o))return u0(o,A,t,n,r);if(!uX(i))return u$(i,{headers:r});if(!uX(a?.url)){let e=a.url;return u$(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")}},u3=JSON.parse('{"UU":"@ohif/extension-cornerstone"}').UU,u4=(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})},u2=e=>H.SynchronizerManager.createSynchronizer(e,x.EVENTS.STACK_VIEWPORT_SCROLL,u4,{auxiliaryEvents:[{name:x.EVENTS.CAMERA_MODIFIED,source:"element"}]});var u6=O(2111),u9=O.n(u6);let{MetadataModules:u8}=x.Enums,{utils:u5}=k(),{denaturalizeDataset:u7}=u9().data.DicomMetaDictionary,{transferDenaturalizedDataset:de,fixMultiValueKeys:dA}=X.dicomWebUtils;function dt(e,A){return e.get(A)?de(u7(dA(e.get(A)))):(console.warn("Metadata not already found for",A,"in",e),this.super.getDICOMwebMetadata(A))}let dn=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 dr=O(9692),di=O(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 ds=function(e){let{className:A,isActive:t,id:n}=e,r=(0,X.useUIStateStore)(e=>e.uiState.activeSegmentationUtility),o=(0,Ad.cn)("w-7 h-7 text-primary hover:text-primary hover:!bg-primary/30",A,t&&"bg-primary/30"),i=(0,D.useCallback)(e=>{r===n&&(e.preventDefault(),e.stopPropagation())},[r,n]);return D.createElement("div",{onPointerDownCapture:i},D.createElement(Ad.ToolButton,da({},e,{className:o})))};function dl({children:e,segmentationRepresentationTypes:A}){let{commandsManager:t,servicesManager:n}=(0,AO.useSystem)(),{customizationService:r,displaySetService:o,viewportGridService:i,toolbarService:a,segmentationService:s}=n.services,{activeViewportId:l}=i.getState(),c={[At.SegmentationRepresentations.Labelmap]:a.sections.labelMapSegmentationUtilities,[At.SegmentationRepresentations.Contour]:a.sections.contourSegmentationUtilities},u=nh(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,p=A?.[0]?c[A[0]]:void 0,{activeToolOptions:g}=(0,AO.useActiveToolOptions)({buttonSectionId:p}),{segmentationsWithRepresentations:m,disabled:f}=(0,dr.c)(),h=(0,X.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=>{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]===At.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=()=>p?D.createElement(Ad.IconPresentationProvider,{size:"large",IconContainer:ds},D.createElement("div",{className:"flex flex-wrap gap-[3px] bg-transparent pb-[2px] pl-[8px] pt-[6px]"},D.createElement(X.Toolbar,{buttonSection:p}))):null,Q=()=>D.createElement(Ad.SegmentationTable.Segments,null,D.createElement(Ad.SegmentationTable.SegmentStatistics.Header,null,D.createElement(E,null)),D.createElement(Ad.SegmentationTable.SegmentStatistics.Body,null));return D.createElement(Ad.Popover,{open:!!g,onOpenChange:w},D.createElement(Ad.PopoverAnchor,null,D.createElement(Ad.SegmentationTable,b,e,D.createElement(Ad.SegmentationTable.Config,null),D.createElement(Ad.SegmentationTable.AddSegmentationRow,null),"collapsed"===b.mode?D.createElement(Ad.SegmentationTable.Collapsed,null,F(),D.createElement(Ad.SegmentationTable.Collapsed.Header,null,D.createElement(Ad.SegmentationTable.Collapsed.DropdownMenu,null,D.createElement(S,null)),D.createElement(Ad.SegmentationTable.Collapsed.Selector,null),D.createElement(Ad.SegmentationTable.Collapsed.Info,null)),D.createElement(Ad.SegmentationTable.Collapsed.Content,null,D.createElement(Ad.SegmentationTable.AddSegmentRow,null),Q())):D.createElement(D.Fragment,null,D.createElement(Ad.SegmentationTable.Expanded,null,F(),D.createElement(Ad.SegmentationTable.Expanded.Header,null,D.createElement(Ad.SegmentationTable.Expanded.DropdownMenu,null,D.createElement(S,null)),D.createElement(Ad.SegmentationTable.Expanded.Label,null),D.createElement(Ad.SegmentationTable.Expanded.Info,null)),D.createElement(Ad.SegmentationTable.Expanded.Content,null,D.createElement(Ad.SegmentationTable.AddSegmentRow,null),Q()))))),g&&D.createElement(Ad.PopoverContent,{side:"left",align:"start",className:"w-auto"},D.createElement(Ad.ToolSettings,{options:g})))}var dc=O(2051),du=O.n(dc),dd=O(6285),dp=O.n(dd);let dg=(0,x.getWebWorkerManager)();dg.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 dm=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 dg.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 dg.executeTask("histogram-worker","calcHistogram",{data:n,options:c})},df=(e,A)=>{if(!e)return;let t=e.getProperty().getScalarOpacity(0),n=[];return t.getNodeValue(A,n),n[1]},dh=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 dm(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:p,colormap:g}=A.displaySetOptions[r];return g&&(i=x.utilities.colormap.getColormap(g.name)??dp().getPresetByName(g.name)),{viewportId:A.viewportId,modality:u,volumeId:n,volumeIndex:r,voi:r?p:o??p,histogram:d,colormap:i,step:c?.PT?.05:1,opacity:s,showOpacitySlider:1===r&&void 0!==s}}))).filter(Boolean)},{Events:dw}=x.Enums,dB=({servicesManager:e,viewportId:A})=>{let{cornerstoneViewportService:t}=e.services,[n,r]=(0,D.useState)([]),[o,i]=(0,D.useState)(!0),a=(0,_.useActiveViewportDisplaySets)(),s=(0,D.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,D.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)?df(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)?df(t,0):void 0},[]),c=(0,D.useCallback)(()=>{dh(t.getCornerstoneViewport(A),t.getViewportInfo(A),l).then(e=>{r(e)})},[A,t,l]),u=(0,D.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,D.useMemo)(()=>du()(u,100),[u]),p=(0,D.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]),g=(0,D.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,D.useCallback)(()=>{i(!1),c()},[c]);(0,D.useEffect)(()=>{document.addEventListener(dw.VOI_MODIFIED,d,!0),x.eventTarget.addEventListener(dw.IMAGE_VOLUME_LOADING_COMPLETED,m);let e=setInterval(()=>{o&&c()},1e3);return()=>{document.removeEventListener(dw.VOI_MODIFIED,d,!0),x.eventTarget.removeEventListener(dw.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}=t.subscribe(t.EVENTS.VIEWPORT_VOLUMES_CHANGED,({viewportInfo:e})=>{e.viewportId===A&&c()});return f.length&&!o&&c(),()=>{e()}},[A,t,c,f,o]),D.createElement(Ad.PanelSection,{defaultOpen:!0},D.createElement(Ad.PanelSection.Header,null,"Window Level"),D.createElement(Ad.PanelSection.Content,{className:"bg-muted py-1"},n.map((e,A)=>e.histogram?D.createElement(Ad.WindowLevel,{key:e.volumeId,histogram:e.histogram,voi:e.voi,step:e.step,showOpacitySlider:e.showOpacitySlider,colormap:e.colormap,onVOIChange:A=>p(e.volumeId,A),opacity:e.opacity,onOpacityChange:t=>g(e.viewportId,A,e.volumeId,t)}):null),0===n.length&&!o&&D.createElement("div",{className:"text-muted-foreground py-2 text-center text-sm"},"No window level data available")))};dB.propTypes={servicesManager:tF().object.isRequired,viewportId:tF().string.isRequired};let dy=({servicesManager:e})=>{let[A]=(0,Ad.useViewportGrid)(),{activeViewportId:t}=A;return D.createElement(D.Fragment,null,t&&D.createElement(dB,{servicesManager:e,viewportId:t}))};dy.propTypes={servicesManager:tF().object.isRequired};var dv=["color"],dC=(0,D.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,dv);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:A}),(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===t?"currentColor":t,fillRule:"evenodd",clipRule:"evenodd"}))});let dS=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 D.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 D.cloneElement(n,e)},dE=[db,dF,dQ];function dI(e){let{grouping:A,items:t,children:n,sourceChildren:r}=e,o=(0,_.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?D.Children.toArray(r):[],c=n?D.Children.toArray(n):[],u=l.concat(c);return D.createElement(dS,{allChildren:u,groups:a,childType:db,grouping:A,defaultValue:s,name:"grouping "+A.name},D.createElement(dU,{name:"DefaultAccordion"}))}function dU(e){let{groups:A,defaultValue:t,grouping:n,allChildren:r,asChild:o}=e;return r&&A?o?D.cloneElement(e.children,e):D.createElement(Ad.Accordion,{type:n.type||"multiple",className:"text-foreground",defaultValue:t},[...A.entries()].map(([e,A])=>D.createElement(Ad.AccordionItem,{key:A.key+"-i",value:A.key},D.createElement(dS,{allChildren:r,group:A,childType:dQ,name:"AccordionGroup.Trigger"}),D.createElement(dS,{allChildren:r,group:A,childType:dF,defaultTypes:dE,name:"AccordionGroup.Content"})))):null}function db(e){let{groups:A,children:t}=e;return A?[...A.values()].map(A=>D.cloneElement(t,{...e,children:t.props.children,group:A,...A,key:A.title})):null}function dF(e){let{children:A,asChild:t,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?t?D.cloneElement(A,{...r,...e,children:A.props.children}):D.createElement(Ad.AccordionContent,null,D.cloneElement(A,{...r,...e,children:A.props.children})):null}function dQ(e){let{children:A,asChild:t,...n}=e,{group:r}=e;return(Object.assign(n,r),r)?t?D.cloneElement(A,n):D.createElement(Ad.AccordionTrigger,{value:r.value,asChild:!0},D.createElement("div",null,D.cloneElement(A,n),D.createElement(dC,{key:"chevronDown",className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"}))):null}function dT(){return(dT=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 dD(e){let{title:A,items:t,group:n,customHeader:r}=e,{commandsManager:o}=(0,_.useSystem)();return D.createElement(Ad.MeasurementTable,dT({title:A||"Measurements",data:t,onAction:(e,A,n)=>{o.run(A,{uid:n,annotationUID:n,displayMeasurements:t})}},n,{key:n.key}),D.createElement(Ad.MeasurementTable.Header,{key:"measurementTableHeader"},r&&n.isFirst&&r({...e,items:e.allItems})),D.createElement(Ad.MeasurementTable.Body,{key:"measurementTableBody"}))}dI.Content=dF,dI.Trigger=dQ,dI.Accordion=db;let{filterNot:dO,filterAdditionalFindings:dM}=_.utils.MeasurementFilters,dx=[{title:"Measurements",filter:dO(dM)},{title:"Additional Findings",filter:dM}],dH=(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 dL(e){let{items:A,children:t,grouping:n={},customHeader:r,group:o,actions:i}=e;return D.createElement(dI,{grouping:{groupingFunction:dH,name:"measurementsOrAdditional",namedSets:dx,StudyInstanceUID:o?.StudyInstanceUID,...n},items:A,sourceChildren:t},D.createElement(dI.Accordion,{noWrapper:"true"},D.createElement(dD,{customHeader:r,allItems:A,actions:i})))}let{formatDate:dN}=_.utils;function dV(e){let{StudyInstanceUID:A}=e;if(!A)return null;let t=_.DicomMetadataStore.getStudy(A);if(!t?.series?.length)return null;let{StudyDate:n,StudyDescription:r}=t.series[0].instances[0];return D.createElement(Ad.StudySummary,{date:dN(n),description:r})}function dR({items:e,StudyInstanceUID:A,measurementFilter:t,actions:n}){let{commandsManager:r}=(0,_.useSystem)(),{t:o}=AD("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(Ad.Button,{size:"sm",variant:"ghost",className:"pl-1.5",onClick:()=>{r.runCommand("downloadCSVMeasurementsReport",{StudyInstanceUID:A,measurementFilter:t})}},D.createElement(Ad.Icons.Download,{className:"h-5 w-5"}),D.createElement("span",{className:"pl-1"},"CSV")),D.createElement(Ad.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})}},D.createElement(Ad.Icons.Add,null),o("Create SR")),D.createElement(Ad.Button,{size:"sm",variant:"ghost",className:"pl-0.5",onClick:e=>{(e.stopPropagation(),n?.onDelete)?n.onDelete():r.runCommand("clearMeasurements",{measurementFilter:t})}},D.createElement(Ad.Icons.Delete,null),o("Delete")))):null}let d_=function(e){return D.createElement("div",null,D.createElement(dV,e),D.createElement(dR,e))},{MeasurementFilters:dk}=_.utils,dP=(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=dk.filterAnd(dk.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 dG(e){let{items:A,grouping:t={},children:n}=e,r=(0,_.useActiveViewportDisplaySets)(),o=r?.[0]?.StudyInstanceUID;return D.createElement(dI,{grouping:{name:"groupByStudy",groupingFunction:dP,activeStudyUID:o,...t},items:A,value:[o],sourceChildren:n},D.createElement(dI.Trigger,null,D.createElement(d_,null)),D.createElement(dL,{activeStudyUID:o}))}function dK(e){let{measurementFilter:A,emptyComponent:t,children:n}=e,r=(0,di.d)({measurementFilter:A});return r.length?n?D.Children.map(n,e=>D.cloneElement(e,{items:r,filter:A})):D.createElement(dG,{items:r}):t?D.createElement(t,{items:r}):D.createElement("span",{className:"text-foreground"},"No Measurements")}var dj=O(8191),dW=x.Enums.OrientationAxis;function dY({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 lT({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 dz({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 dJ="RTSTRUCT",dX={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=nd.vec3.fromValues(t[0],t[1],t[2]),r=nd.vec3.fromValues(t[3],t[4],t[5]),o=nd.vec3.cross(nd.vec3.create(),n,r),i={[dW.AXIAL]:nd.vec3.fromValues(0,0,1),[dW.CORONAL]:nd.vec3.fromValues(0,1,0),[dW.SAGITTAL]:nd.vec3.fromValues(1,0,0)},a=0,s="";for(let[e,A]of Object.entries(i)){let t=Math.abs(nd.vec3.dot(o,A));t>a&&(a=t,s=e)}return s}(o,t.displaySetInstanceUID)===i},setupSegmentationDataModifiedHandler:dY,setupSegmentationModifiedHandler:dz,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,p,g,m;let f=("SR"===o?l:!s?.disableConfirmationPrompts)?await (d=i,p=a,g=A,m=o,new Promise(function(e,A){let t=function(e){switch(e){case dJ:return"viewportNotification.hydrateRTMessage";case"SEG":return"viewportNotification.hydrateSEGMessage";case"SR":return"viewportNotification.hydrateSRMessage";default:return"viewportNotification.hydrateMessage"}}(m),n=p.getCustomization(t),r=A=>{d.hide(),e(A)};d.show({id:function(e){switch(e){case dJ: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:t,viewportId:A});c(e)}catch(e){u(e)}},0);else if(o===dJ)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:lO,createSegmentationForViewport:lJ},{Enums:dq}=H,d$=e=>{let{element:A}=e.detail;H.utilities.contours.acceptAutogeneratedInterpolations(A,{})};var dZ=O(1752),d0=O.n(dZ);function d1(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,_.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,D.useState)(!1);return D.createElement("div",{className:`relative ml-2 inline-flex items-center space-x-1 ${t}`},D.createElement(Ad.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(Ad.Icons.Hide,{className:"h-6 w-6"}):D.createElement(Ad.Icons.Show,{className:"h-6 w-6"})),D.createElement(Ad.DropdownMenu,{onOpenChange:e=>u(e)},D.createElement(Ad.DropdownMenuTrigger,{asChild:!0},D.createElement(Ad.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(Ad.Icons.More,{className:"h-6 w-6"}))),D.createElement(Ad.DropdownMenuContent,{align:"end"},D.createElement(Ad.DropdownMenuItem,{onClick:e=>l(e,"removeMeasurement")},D.createElement(Ad.Icons.Delete,{className:"text-foreground"}),D.createElement("span",{className:"pl-2"},n("Delete"))))))}function d3(){return(d3=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 d4(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 d2(e){let{marginLeft:A=8,isActive:t=!1,colorHex:n,count:r,text:o,menu:i=null}=e;return D.createElement(Ad.AccordionTrigger,{style:{marginLeft:`${A}px`,padding:0},asChild:!0},D.createElement("div",{className:`inline-flex text-base ${t?"bg-popover":"bg-muted"} flex-grow`},D.createElement("button",{onClick:d4.bind(e)},D.createElement("span",{className:`inline-flex rounded-l border-r border-background ${t?"bg-highlight":"bg-muted"}`},void 0!==r?D.createElement("span",{className:"px-2"},r):null,n&&D.createElement(Ad.ColorCircle,{colorHex:n})),D.createElement("span",null,o)),i&&D.createElement(i,d3({},e,{classNames:"justify-end flex-grow"})),D.createElement(dC,{className:"text-primary h-4 w-4 shrink-0 transition-transform duration-200"})))}function d6(e){let{index:A,item:t}=e;return D.createElement(d2,{count:A+1,text:t.toolName||t.label||t.title,colorHex:"#f00",isActive:t.isSelected,menu:d1,group:{items:[t],onClick:e.onClick}})}function d9(e){let{items:A}=e,t=(0,_.useSystem)(),n=(e,A)=>{let{items:n}=A;t.commandsManager.run("jumpToMeasurement",{uid:n[0].uid,displayMeasurements:n,group:A})};return D.createElement(Ad.Accordion,{type:"multiple",className:"flex-shrink-0 overflow-hidden"},A.map((e,A)=>{let{displayText:t={}}=e;return D.createElement(Ad.AccordionItem,{key:`measurementAccordion:${e.uid}`,value:e.uid},D.createElement(d6,{item:e,key:`measurementItem:${e.uid}`,index:A,onClick:n}),D.createElement(Ad.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"},t.primary?.length>0&&t.primary.map((A,t)=>D.createElement("span",{key:`details:${e.uid}:${t}`},A))))))}))}let d8=(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 d5(e){let{group:A,isSelected:t,displaySet:n,menu:r}=e,{SeriesNumber:o=1,SeriesDescription:i}=n;return D.createElement(d2,{text:`Series #${o} ${i}`,count:A.items.length,isActive:t,group:A,menu:r,marginLeft:"0"})}function d7(e){let{items:A,grouping:t={},children:n}=e,r=(0,_.useSystem)(),o=(0,_.useActiveViewportDisplaySets)(r),i=o?.[0]?.displaySetInstanceUID;return D.createElement(dI,{grouping:{groupingFunction:d8,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},D.createElement(dI.Trigger,{asChild:!0},D.createElement(d5,{menu:d1})),D.createElement(d9,null))}function pe(){return(pe=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:pA}=x.utilities,pt=D.lazy(()=>Promise.resolve().then(O.bind(O,7332))),pn=e=>D.createElement(D.Suspense,{fallback:D.createElement("div",null,"Loading...")},D.createElement(pt,e)),pr={retrieveOptions:{single:{streaming:!0,decodeLevel:1}}},po=[],pi={id:u3,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}=dY({segmentationService:t,customizationService:n,commandsManager:A}),{unsubscribe:a}=dz({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}=nh.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});po.push(...i);let a=(x.eventTarget.addEventListener(dq.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,d$),[()=>{x.eventTarget.removeEventListener(dq.Events.ANNOTATION_INTERPOLATION_PROCESS_COMPLETED,d$)}]);po.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]),pA.clear(),pA.add("volume",x.ProgressiveRetrieveImages.interleavedRetrieveStages);let s=(t?.getActiveDataSource?.()?.[0]?.getConfig?.()??{}).stackRetrieveOptions??{},l=d0()(pr,null!=s&&"object"==typeof s&&Object.keys(s).some(e=>e.startsWith("$"))?s:{$merge:s??{}});pA.add("stack",l)},getPanelModule:({commandsManager:e,servicesManager:A,extensionManager:t})=>{let{toolbarService:n}=A.services,r={[At.SegmentationRepresentations.Labelmap]:n.sections.labelMapSegmentationToolbox,[At.SegmentationRepresentations.Contour]:n.sections.contourSegmentationToolbox},o=n=>{let{t:o}=AD("SegmentationPanel"),i=o(`${n.segmentationRepresentationTypes?.[0]??"Segmentation"} tools`);return D.createElement(D.Fragment,null,D.createElement(X.Toolbox,{buttonSectionId:r[n.segmentationRepresentationTypes?.[0]],title:i}),D.createElement(dl,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes}))};return[{name:"activeViewportWindowLevel",component:()=>D.createElement(dy,{servicesManager:A})},{name:"panelMeasurement",iconName:"tab-linear",iconLabel:"Measure",label:"Measurement",component:dK},{name:"panelSegmentation",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>D.createElement(dl,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationNoHeader",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation",component:n=>D.createElement(dl,{commandsManager:e,servicesManager:A,extensionManager:t,configuration:{...n?.configuration},segmentationRepresentationTypes:n?.segmentationRepresentationTypes})},{name:"panelSegmentationWithToolsLabelMap",iconName:"tab-segmentation",iconLabel:"Segmentation",label:lz().t("SegmentationPanel:Labelmap"),component:e=>o({...e,segmentationRepresentationTypes:[At.SegmentationRepresentations.Labelmap,At.SegmentationRepresentations.Surface]})},{name:"panelSegmentationWithToolsContour",iconName:"tab-contours",iconLabel:"Segmentation",label:lz().t("SegmentationPanel:Contour"),component:e=>o({...e,segmentationRepresentationTypes:[At.SegmentationRepresentations.Contour]})}]},onModeExit:({servicesManager:e})=>{po.forEach(e=>e()),po.length=0;let{cineService:A,segmentationService:t}=e.services;Object.values(x.Enums.RequestType).forEach(e=>{x.imageLoadPoolManager.clearRequestStack(e),x.imageRetrievalPoolManager.clearRequestStack(e)}),L.utilities.clearCacheData(),A.setIsCineEnabled(!1),(0,q.cL)(),An.I.getState().clearLutPresentationStore(),Ar.q.getState().clearPositionPresentationStore(),nm.U.getState().clearSynchronizersStore(),X.useToggleOneUpViewportGridStore.getState().clearToggleOneUpViewportGridStore(),Ao.v.getState().clearSegmentationPresentationStore(),nh.getState().clearSelectedSegmentationsForViewportStore(),e.services.viewedDataService?.clearViewedData(),t.removeAllSegmentations()},preRegistration:async function(e){let{servicesManager:A}=e;A.registerService(uM.REGISTRATION),A.registerService(c8.REGISTRATION),A.registerService(ui.REGISTRATION),A.registerService(uy.REGISTRATION),A.registerService(uC.REGISTRATION),A.registerService(uL.REGISTRATION),A.registerService(uN.REGISTRATION);let{syncGroupService:t}=A.services;t.registerCustomSynchronizer("frameview",u2),await As.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:c4},{name:"evaluate.advancedRenderingControls",evaluate:({viewportId:e})=>o.getCornerstoneViewport(e)?{disabled:!i?.hasColorbar(e)}:{disabled:!0}},{name:"ohif.colorbar",defaultComponent:c$},{name:"ohif.trackingStatus",defaultComponent:cz},{name:"evaluate.trackingStatus",evaluate:({viewportId:e})=>{let A=s.getDisplaySetsUIDsForViewport(e);return A?.length?{disabled:!1}:{disabled:!0}}},{name:"ohif.modalityLoadBadge",defaultComponent:cj},{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:cY},{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:cp},{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:ch},{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:cO},{name:"ohif.voiManualControlMenu",defaultComponent:cN},{name:"ohif.windowLevelMenuEmbedded",defaultComponent:cO},{name:"evaluate.windowLevelMenuEmbedded",evaluate:()=>({isEmbedded:!0})},{name:"ohif.thresholdMenu",defaultComponent:c_},{name:"ohif.opacityMenu",defaultComponent:cG},{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 c2(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))?c2(n):t?.length&&!o.some(e=>t.includes(e?.Modality))?c2(n||lz().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}:c2(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 c2(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})=>c6({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})=>c6({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:Ad.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:Ad.utils.getToggledClassName(!1)};let o=t[0],i=o?._enabled;return{className:Ad.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:Ad.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}:c2(A):void 0}]},getHangingProtocolModule:function(){return[{name:ce.id,protocol:ce},{name:cn.id,protocol:cn},{name:cA.id,protocol:cA},{name:ct.id,protocol:ct},{name:ci.id,protocol:ci},{name:cr.id,protocol:cr},{name:co.id,protocol:co},{name:ca.id,protocol:ca}]},getViewportModule:({servicesManager:e,commandsManager:A})=>[{name:"cornerstone",component:t=>{let{toolbarService:n}=e.services;return D.createElement(pn,pe({},t,{toolbarService:n,servicesManager:e,commandsManager:A}))},isReferenceViewable:dX.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:p,syncGroupService:g,segmentationService:m,displaySetService:f}=e.services;function h(){return Z(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=l4.getBrushSizeForToolGroup(t),n="increase"===e?A+3:A-3;A&&(l4.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:At.SegmentationRepresentations.Labelmap},{[A]:n}),r.setStyle({type:At.SegmentationRepresentations.Contour},{[A]:n}))},S={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}=lO(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}=lO(t),a=nd.vec3.sub(nd.vec3.create(),r,n);nd.vec3.add(a,a,o),e.setCamera({focalPoint:o,position:a});let s=nd.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=p.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)},cancelMeasurement:()=>{let e=h()?.viewport?.element;e&&(0,H.cancelActiveManipulations)(e)},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?At.SegmentationRepresentations.Contour:(0,ei.Ov)(r)?At.SegmentationRepresentations.Surface:At.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&&S.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:lz().t("SegmentationPanel:Segment Bidirectional"),message:lz().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,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);A.run("jumpToMeasurement",{uid:s?.annotationUID})},interpolateLabelmap:()=>{let{segmentationId:e,segmentIndex:A}=y();nu.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=eh(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}=Ao.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}=Ar.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=S.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,X.callInputDialog)({uiDialogService:a,title:lz().t("Tools:Edit Measurement Label"),placeholder:n.label||lz().t("Tools:Enter new label"),defaultValue:n.label});null!=A&&c.update(e,{...n,label:A},!0);return}let r=await (0,X.callInputDialogAutoComplete)({measurement:n,uiDialogService:a,labelConfig:A,renderContent:t});null!=r&&c.update(e,{...n,label:r},!0)},setMeasurementLabel:async({uid:e})=>{await S._handleMeasurementLabelDialog(e)},renameMeasurement:async({uid:e})=>{await S._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===el.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})=>{_.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";lD(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,X.callInputDialog)({uiDialogService:a,title:lz().t("Tools:Edit Arrow Text"),placeholder:A?.data?.label||lz().t("Tools:Enter new text"),defaultValue:A?.data?.label||""});e?.(t);return}let r=await (0,X.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,ei.rX)(i)){let A=S.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||S.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];S.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&&S.setToolActive({toolName:t,toolGroupId:e})}return}let t=o.getToolBindings(e,r);B(t)?S.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=>{S.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:lz().t("Tools:Download Image"),message:lz().t("Tools:Image cannot be downloaded"),type:"error"});let{uiModalService:t}=e.services;t&&t.show({content:lb,title:lz().t("Tools:Download High Quality Image"),contentProps:{activeViewportId:A,cornerstoneViewportService:s},containerClassName:"max-w-4xl p-4"})},rotateViewportBy:({rotation:e,viewportId:A})=>{S._rotateViewport({rotation:e,viewportId:A,rotationMode:"apply"})},setViewportRotation:({rotation:e,viewportId:A})=>{S._rotateViewport({rotation:e,viewportId:A,rotationMode:"set"})},flipViewportHorizontal:({viewportId:e,newValue:A="toggle"})=>{let t,n=e?$(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?$(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,ei.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,ei.TF)(t))n=t.getImageIds().length;else if((0,ei.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}=p.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,ei.TF)(a)&&a.setProperties({colormap:t}),(0,ei.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=g.getSynchronizer(n);if(r)return void(r.isDisabled()?r.setEnabled(!0):r.setEnabled(!1));let o=l3[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=nd.vec3.length(nd.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={}})=>lJ(e,{viewportId:A,options:t,segmentationType:At.SegmentationRepresentations.Labelmap}),createContourForViewport:async({viewportId:A,options:t={}})=>lJ(e,{viewportId:A,options:t,segmentationType:At.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(lj).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,X.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,X.callInputDialog)({uiDialogService:r,title:lz().t("Tools:Edit Segment Label"),placeholder:lz().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,X.callInputDialog)({uiDialogService:n,title:lz().t("Tools:Edit Segmentation Label"),placeholder:lz().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:X.colorPickerDialog,title:lz().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:()=>{l1.undo()},redo:()=>{l1.redo()},toggleSegmentPreviewEdit:({toggle:e})=>{let A=l2({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:A})=>{let{customizationService:t}=e.services,n=t.getCustomization("segmentation.segmentLabel");if(n?.enabledByDefault){let e=A?.active??[];return e.push({toolName:el.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor,background:n?.background}}),A.active=e,A}let r=A?.disabled??[];return r.push({toolName:el.SegmentLabel,configuration:{hoverTimeout:n?.hoverTimeout??1,color:n?.labelColor}}),A.disabled=r,A},toggleUseCenterSegmentIndex:({toggle:e})=>{let A=l2({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})=>l2({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)}}),l6.enabled&&l6[`${e}Preview`](A.element)},acceptPreview:()=>{S._handlePreviewAction("accept")},rejectPreview:()=>{S._handlePreviewAction("reject")},cancelActiveOperation:()=>{try{S.rejectPreview()}catch(e){console.debug("Error rejecting active preview",e)}finally{S.cancelMeasurement()}},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=!l6.enabled;l6.enabled=A,l9||(await l6.initModel(),l9=!0);let t=o.getToolGroupIds();A?S.setToolActiveToolbar({toolName:"CircularBrushForAutoSegmentAI",toolGroupIds:t}):t.forEach(e=>{H.ToolGroupManager.getToolGroup(e).setToolPassive("CircularBrushForAutoSegmentAI")}),l6.enabled&&l6.initViewport(e)},setBrushSize:({value:e})=>{let A=Number(e);o.getToolGroupIds()?.forEach(e=>{l4.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?.()}),S.setDisplaySetsForViewports({viewportsToUpdate:n.map(e=>({viewportId:e.viewportId,displaySetInstanceUIDs:e.displaySetInstanceUIDs}))}))},setViewportOrientation:({viewportId:e,orientation:A})=>{let t=s.getCornerstoneViewport(e);t&&(0,ei.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}={})=>{S.flipViewportHorizontal({viewportId:e,newValue:"toggle"})},setViewportHorizontalFlip:({flipped:e,viewportId:A})=>{S.flipViewportHorizontal({viewportId:A,newValue:e})},toggleViewportVerticalFlip:({viewportId:e}={})=>{S.flipViewportVertical({viewportId:e,newValue:"toggle"})},setViewportVerticalFlip:({flipped:e,viewportId:A})=>{S.flipViewportVertical({viewportId:A,newValue:e})},_rotateViewport:({rotation:e,viewportId:A,rotationMode:t="apply"})=>{let n=A?$(A):h();if(!n)return;let{viewport:r}=n;if((0,ei.rX)(r)){let A=r.getCamera(),t=e*Math.PI/180,n=nd.mat4.identity(new Float32Array(16));nd.mat4.rotate(n,n,t,A.viewPlaneNormal);let o=nd.vec3.transformMat4(nd.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}=nh.getState(),i=o[r]?.get(A);i&&t.setActiveSegmentation(r,i)},setDynamicCursorSizeForSculptorTool:({value:e})=>{let A=n.getActiveViewportId(),t=o.getToolGroupForViewport(A).getToolInstance(el.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}=lX.utilities;o(t.segmentationId,r.segmentIndex,{threshold:e}),s.getRenderingEngine().render()},applyLogicalContourOperation:({segmentAInfo:e,segmentBInfo:A,resultSegmentInfo:t,logicalOperation:n})=>{switch(n){case nc.LogicalOperation.Union:lq(e,A,t);break;case nc.LogicalOperation.Intersect:l$(e,A,t);break;case nc.LogicalOperation.Subtract:lZ(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)}})}l0(e,A)},smoothContours:()=>{let e=n.getActiveViewportId(),A=m.getActiveSegmentation(e),t=m.getActiveSegment(e);if(!A||!t)return;let{smoothContours:r}=lX.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}=lX.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}=lX.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}=lX.utilities;o(A.segmentationId,t.segmentIndex,r.segmentationId,r.segmentIndex),s.getRenderingEngine().render()}},E={showCornerstoneContextMenu:{commandFn:S.showCornerstoneContextMenu,options:{menuCustomizationId:"measurementsContextMenu",commands:[{commandName:"showContextMenu"}]}},getNearbyToolData:{commandFn:S.getNearbyToolData},getNearbyAnnotation:{commandFn:S.getNearbyAnnotation,storeContexts:[],options:{}},toggleViewportColorbar:{commandFn:S.toggleViewportColorbar},setMeasurementLabel:{commandFn:S.setMeasurementLabel},renameMeasurement:{commandFn:S.renameMeasurement},updateMeasurement:{commandFn:S.updateMeasurement},jumpToMeasurement:S.jumpToMeasurement,removeMeasurement:{commandFn:S.removeMeasurement},cancelMeasurement:{commandFn:S.cancelMeasurement},toggleLockMeasurement:{commandFn:S.toggleLockMeasurement},toggleVisibilityMeasurement:{commandFn:S.toggleVisibilityMeasurement},downloadCSVMeasurementsReport:{commandFn:S.downloadCSVMeasurementsReport},setViewportWindowLevel:{commandFn:S.setViewportWindowLevel},setWindowLevel:{commandFn:S.setWindowLevel},setWindowLevelPreset:{commandFn:S.setWindowLevelPreset},setToolActive:{commandFn:S.setToolActive},setToolActiveToolbar:{commandFn:S.setToolActiveToolbar},setToolEnabled:{commandFn:S.setToolEnabled},rotateViewportCW:{commandFn:S.rotateViewportBy,options:{rotation:90}},rotateViewportCCW:{commandFn:S.rotateViewportBy,options:{rotation:-90}},rotateViewportCWSet:{commandFn:S.setViewportRotation,options:{rotation:90}},incrementActiveViewport:{commandFn:S.changeActiveViewport},decrementActiveViewport:{commandFn:S.changeActiveViewport,options:{direction:-1}},flipViewportHorizontal:{commandFn:S.toggleViewportHorizontalFlip},flipViewportVertical:{commandFn:S.toggleViewportVerticalFlip},setViewportHorizontalFlip:{commandFn:S.setViewportHorizontalFlip,options:{flipped:!0}},setViewportVerticalFlip:{commandFn:S.setViewportVerticalFlip,options:{flipped:!0}},invertViewport:{commandFn:S.invertViewport},resetViewport:{commandFn:S.resetViewport},scaleUpViewport:{commandFn:S.scaleViewport,options:{direction:1}},scaleDownViewport:{commandFn:S.scaleViewport,options:{direction:-1}},fitViewportToWindow:{commandFn:S.scaleViewport,options:{direction:0}},nextImage:{commandFn:S.scroll,options:{direction:1}},previousImage:{commandFn:S.scroll,options:{direction:-1}},firstImage:{commandFn:S.jumpToImage,options:{imageIndex:0}},lastImage:{commandFn:S.jumpToImage,options:{imageIndex:-1}},jumpToImage:{commandFn:S.jumpToImage},showDownloadViewportModal:{commandFn:S.showDownloadViewportModal},toggleCine:{commandFn:S.toggleCine},arrowTextCallback:{commandFn:S.arrowTextCallback},setViewportActive:{commandFn:S.setViewportActive},setViewportColormap:{commandFn:S.setViewportColormap},setViewportForToolConfiguration:{commandFn:S.setViewportForToolConfiguration},storePresentation:{commandFn:S.storePresentation},attachProtocolViewportDataListener:{commandFn:S.attachProtocolViewportDataListener},setViewportPreset:{commandFn:S.setViewportPreset},setVolumeRenderingQulaity:{commandFn:S.setVolumeRenderingQulaity},shiftVolumeOpacityPoints:{commandFn:S.shiftVolumeOpacityPoints},setVolumeLighting:{commandFn:S.setVolumeLighting},resetCrosshairs:{commandFn:S.resetCrosshairs},toggleSynchronizer:{commandFn:S.toggleSynchronizer},updateVolumeData:{commandFn:S.updateVolumeData},toggleEnabledDisabledToolbar:{commandFn:S.toggleEnabledDisabledToolbar},toggleActiveDisabledToolbar:{commandFn:S.toggleActiveDisabledToolbar},updateStoredPositionPresentation:{commandFn:S.updateStoredPositionPresentation},updateStoredSegmentationPresentation:{commandFn:S.updateStoredSegmentationPresentation},createLabelmapForViewport:{commandFn:S.createLabelmapForViewport},createContourForViewport:{commandFn:S.createContourForViewport},setActiveSegmentation:{commandFn:S.setActiveSegmentation},addSegment:{commandFn:S.addSegmentCommand},setActiveSegmentAndCenter:{commandFn:S.setActiveSegmentAndCenterCommand},toggleSegmentVisibility:{commandFn:S.toggleSegmentVisibilityCommand},toggleSegmentLock:{commandFn:S.toggleSegmentLockCommand},toggleSegmentationVisibility:{commandFn:S.toggleSegmentationVisibilityCommand},downloadSegmentation:{commandFn:S.downloadSegmentationCommand},storeSegmentation:{commandFn:S.storeSegmentationCommand},downloadRTSS:{commandFn:S.downloadRTSSCommand},setSegmentationStyle:{commandFn:S.setSegmentationStyleCommand},deleteSegment:{commandFn:S.deleteSegmentCommand},deleteSegmentation:{commandFn:S.deleteSegmentationCommand},removeSegmentationFromViewport:{commandFn:S.removeSegmentationFromViewportCommand},toggleRenderInactiveSegmentations:{commandFn:S.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:S.editSegmentLabel},editSegmentationLabel:{commandFn:S.editSegmentationLabel},editSegmentColor:{commandFn:S.editSegmentColor},getRenderInactiveSegmentations:{commandFn:S.getRenderInactiveSegmentations},deleteActiveAnnotation:{commandFn:S.deleteActiveAnnotation},setDisplaySetsForViewports:S.setDisplaySetsForViewports,undo:S.undo,redo:S.redo,interpolateLabelmap:S.interpolateLabelmap,runSegmentBidirectional:S.runSegmentBidirectional,downloadCSVSegmentationReport:S.downloadCSVSegmentationReport,toggleSegmentPreviewEdit:S.toggleSegmentPreviewEdit,toggleSegmentSelect:S.toggleSegmentSelect,acceptPreview:S.acceptPreview,rejectPreview:S.rejectPreview,cancelActiveOperation:S.cancelActiveOperation,toggleUseCenterSegmentIndex:S.toggleUseCenterSegmentIndex,toggleLabelmapAssist:S.toggleLabelmapAssist,interpolateScrollForMarkerLabelmap:S.interpolateScrollForMarkerLabelmap,clearMarkersForMarkerLabelmap:S.clearMarkersForMarkerLabelmap,setBrushSize:S.setBrushSize,setThresholdRange:S.setThresholdRange,increaseBrushSize:S.increaseBrushSize,decreaseBrushSize:S.decreaseBrushSize,addNewSegment:S.addNewSegment,loadSegmentationDisplaySetsForViewport:S.loadSegmentationDisplaySetsForViewport,setViewportOrientation:S.setViewportOrientation,hydrateSecondaryDisplaySet:S.hydrateSecondaryDisplaySet,getVolumeIdForDisplaySet:S.getVolumeIdForDisplaySet,triggerCreateAnnotationMemo:S.triggerCreateAnnotationMemo,startRecordingForAnnotationGroup:S.startRecordingForAnnotationGroup,endRecordingForAnnotationGroup:S.endRecordingForAnnotationGroup,toggleSegmentLabel:S.toggleSegmentLabel,jumpToMeasurementViewport:S.jumpToMeasurementViewport,initializeSegmentLabelTool:S.initializeSegmentLabelTool,activateSelectedSegmentationOfType:S.activateSelectedSegmentationOfType,setDynamicCursorSizeForSculptorTool:S.setDynamicCursorSizeForSculptorTool,setSimplifiedSplineForSplineContourSegmentationTool:S.setSimplifiedSplineForSplineContourSegmentationTool,removeSmallContours:S.removeSmallContours,applyLogicalContourOperation:S.applyLogicalContourOperation,copyContourSegment:S.copyContourSegment,smoothContours:S.smoothContours,removeContourHoles:S.removeContourHoles,decimateContours:S.decimateContours,convertContourHoles:S.convertContourHoles,setInterpolationToolConfiguration:S.setInterpolationToolConfiguration};return{actions:S,definitions:E,defaultContext:"CORNERSTONE"}},getCustomizationModule:function({commandsManager:e,servicesManager:A,extensionManager:t}){return[{name:"default",value:{...Au,...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===At.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=A.renderFill&&(r(),n=!0)});return{"panelSegmentation.customDropdownMenuContent":Ax,"panelSegmentation.customSegmentStatisticsHeader":AH,"panelSegmentation.disableEditing":!1,"panelSegmentation.showAddSegment":!0,"panelSegmentation.onSegmentationAdd":async({segmentationRepresentationType:r=At.SegmentationRepresentations.Labelmap})=>{let{viewportGridService:o}=A.services,i=o.getState().activeViewportId;if(r===At.SegmentationRepresentations.Labelmap)e.run("createLabelmapForViewport",{viewportId:i});else if(r===At.SegmentationRepresentations.Contour){let A=await e.run("createContourForViewport",{viewportId:i});if(n||t.setStyle({segmentationId:A,type:At.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===At.SegmentationRepresentations.Contour&&null==e.segmentationId&&null==e.viewportId&&null!=o.renderFill&&(n=!0,r(),t.setStyle({segmentationId:A,type:At.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(AL,null),"contourSegmentationToolbox.config":()=>D.createElement(AL,null)}}({commandsManager:e,servicesManager:A,extensionManager:t}),...AN,...AV,...AR,...A_,...AP,...Aj,...AW,...AY,...tU,...ni,...ns,...nl,"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:q.kJ,dicomLoaderService:u1}},{name:"core",exports:{Enums:x.Enums}},{name:"tools",exports:{toolNames:el,Enums:H.Enums}},{name:"volumeLoader",exports:{getDynamicVolumeInfo:Ai.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:p,SOPClassUID:g}=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:u5.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:t.retrieve.getGetThumbnailSrc?.(r,r.imageId),label:a||`${lz().t("Series")} ${c} - ${lz().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=dt.bind(e,w),x.utilities.genericMetadataProvider.addRaw(f.imageIds[0],{type:u8.WADO_WEB_CLIENT,metadata:e})}return[f]})(e,A)}}(e),function({servicesManager:e}){return{name:"DicomEcgSopClassHandler",sopClassUids:dn,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:u8.ECG,metadata:A})}return{Modality:A,displaySetInstanceUID:u5.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:dn,numImageFrames:0,numInstances:1,imageIds:c?[c]:[],supportsWindowLevel:!1,label:r||"ECG"}})})(A,e)}}(e)]}}})(),M=O.O(M)})());