{"version":3,"sources":["webpack:///webpack/bootstrap 63f5a4872331c643a832","webpack:///external \"girder_lib\"","webpack:///delegated ./node_modules/pug-runtime/index.js from dll-reference girder_lib","webpack:///delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_lib","webpack:///delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_lib","webpack:///delegated ./src/rest.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/events.js","webpack:///external \"girder_plugin_large_image_annotation\"","webpack:///delegated ./src/views/View.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/router.js","webpack:///./~/@girder/histomicsui/views/View.js","webpack:///delegated ./src/events.js from dll-reference girder_lib","webpack:///delegated ./src/auth.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./node_modules/backbone/backbone.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/~/tinycolor2/cjs/tinycolor.js","webpack:///./~/@girder/histomicsui/collections/StyleCollection.js","webpack:///./~/@girder/histomicsui/models/StyleModel.js","webpack:///delegated ./src/misc.js from dll-reference girder_lib","webpack:///delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_lib","webpack:///delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_lib","webpack:///delegated ./src/constants.js from dll-reference girder_lib","webpack:///./~/@girder/histomicsui/views/utils.js","webpack:///delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib","webpack:////opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./~/@girder/histomicsui/dialogs/editElement.js","webpack:///external \"girder_plugin_large_image\"","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?3846","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?a4e1","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?2bb7","webpack:///./~/@girder/histomicsui/dialogs/editRegionOfInterest.js","webpack:///./~/@girder/histomicsui/dialogs/metadataPlot.js","webpack:///./~/@girder/histomicsui/dialogs/saveAnnotation.js","webpack:///./~/@girder/histomicsui/panels/AnnotationSelector.js","webpack:///./~/@girder/histomicsui/panels/DrawWidget.js","webpack:///./~/@girder/histomicsui/panels/MetadataWidget.js","webpack:///./~/@girder/histomicsui/views/body/ConfigView.js","webpack:///./~/@girder/histomicsui/views/body/ImageView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderUserView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderView.js","webpack:///./~/@girder/histomicsui/views/popover/AnnotationContextMenu.js","webpack:///./~/@girder/histomicsui/views/popover/AnnotationPopover.js","webpack:///./~/@girder/histomicsui/templates/panels/drawWidgetElement.pug","webpack:///node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./~/@girder/histomicsui/stylesheets/panels/zoomWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl","webpack:///./~/@girder/histomicsui/stylesheets/views/itemList.styl","webpack:///delegated ./src/collections/ItemCollection.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/models/ItemModel.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/utilities/EventStream.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_lib","webpack:///delegated ./src/router.js from dll-reference girder_lib","webpack:///external \"girder_plugin_slicer_cli_web\"","webpack:///./~/@girder/histomicsui/main.js","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?aaa9","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?7292","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?3ac0","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?6298","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?8090","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?b718","webpack:///./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?4cb6","webpack:///./~/@girder/histomicsui/~/backbone.localstorage/build/backbone.localStorage.js","webpack:///./~/@girder/histomicsui/~/bootstrap-submenu/dist/js/bootstrap-submenu.js","webpack:///./~/@girder/histomicsui/~/url-search-params-polyfill/index.js","webpack:///./~/@girder/histomicsui/~/vue-color/dist/vue-color.min.js","webpack:///./~/@girder/histomicsui/~/vue/dist/vue.js","webpack:///./~/@girder/histomicsui/app.js","webpack:///./~/@girder/histomicsui/collections/index.js","webpack:///./~/@girder/histomicsui/dialogs/confirmDialog.js","webpack:///./~/@girder/histomicsui/dialogs/editStyleGroups.js","webpack:///./~/@girder/histomicsui/dialogs/index.js","webpack:///./~/@girder/histomicsui/dialogs/openAnnotatedImage.js","webpack:///./~/@girder/histomicsui/dialogs/openImage.js","webpack:///./~/@girder/histomicsui/index.js","webpack:///./~/@girder/histomicsui/models/index.js","webpack:///./~/@girder/histomicsui/panels/MetadataPlot.js","webpack:///./~/@girder/histomicsui/panels/OverviewWidget.js","webpack:///./~/@girder/histomicsui/panels/ZoomWidget.js","webpack:///./~/@girder/histomicsui/panels/index.js","webpack:///./~/@girder/histomicsui/routes.js","webpack:///./~/@girder/histomicsui/views/HierarchyWidget.js","webpack:///./~/@girder/histomicsui/views/body/FrontPageView.js","webpack:///./~/@girder/histomicsui/views/body/index.js","webpack:///./~/@girder/histomicsui/views/index.js","webpack:///./~/@girder/histomicsui/views/itemList.js","webpack:///./~/@girder/histomicsui/views/itemPage.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderAnalysesView.js","webpack:///./~/@girder/histomicsui/views/layout/HeaderImageView.js","webpack:///./~/@girder/histomicsui/views/layout/index.js","webpack:///./~/@girder/histomicsui/views/popover/PixelmapContextMenu.js","webpack:///./~/@girder/histomicsui/views/popover/index.js","webpack:///./~/@girder/histomicsui/templates/body/configView.pug","webpack:///./~/@girder/histomicsui/templates/body/frontPage.pug","webpack:///./~/@girder/histomicsui/templates/body/image.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/annotatedImageList.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/confirmDialog.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editElement.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editRegionOfInterest.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/editStyleGroups.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/metadataPlot.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/openAnnotatedImage.pug","webpack:///./~/@girder/histomicsui/templates/dialogs/saveAnnotation.pug","webpack:///./~/@girder/histomicsui/templates/layout/header.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerAnalyses.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerImage.pug","webpack:///./~/@girder/histomicsui/templates/layout/headerUser.pug","webpack:///./~/@girder/histomicsui/templates/layout/layout.pug","webpack:///./~/@girder/histomicsui/templates/panels/annotationSelector.pug","webpack:///./~/@girder/histomicsui/templates/panels/drawWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/metadataPlot.pug","webpack:///./~/@girder/histomicsui/templates/panels/metadataWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/overviewWidget.pug","webpack:///./~/@girder/histomicsui/templates/panels/zoomWidget.pug","webpack:///./~/@girder/histomicsui/templates/popover/annotationContextMenu.pug","webpack:///./~/@girder/histomicsui/templates/popover/annotationPopover.pug","webpack:///./~/@girder/histomicsui/templates/popover/pixelmapContextMenu.pug","webpack:///./~/@girder/histomicsui/stylesheets/body/configView.styl","webpack:///./~/@girder/histomicsui/stylesheets/body/frontPage.styl","webpack:///./~/@girder/histomicsui/stylesheets/body/image.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/editStyleGroups.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/openAnnotatedImage.styl","webpack:///./~/@girder/histomicsui/stylesheets/dialogs/saveAnnotation.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/header.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/headerAnalyses.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/headerImage.styl","webpack:///./~/@girder/histomicsui/stylesheets/layout/layout.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/annotationSelector.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/drawWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/metadataPlot.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/metadataWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/panels/overviewWidget.styl","webpack:///./~/@girder/histomicsui/stylesheets/popover/annotationPopover.styl","webpack:///./~/@girder/histomicsui/~/bootstrap-submenu/dist/css/bootstrap-submenu.css","webpack:///./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?153b","webpack:///./~/setimmediate/setImmediate.js","webpack:///./~/timers-browserify/main.js","webpack:///delegated ./src/collections/FolderCollection.js from dll-reference girder_lib","webpack:///delegated ./src/version.js from dll-reference girder_lib","webpack:///delegated ./src/views/body/FrontPageView.js from dll-reference girder_lib","webpack:///delegated ./src/views/body/ItemView.js from dll-reference girder_lib","webpack:///delegated ./src/views/layout/HeaderUserView.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/ItemListWidget.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/pluginUtils.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/convert.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image/views/imageViewerWidget/setFrameQuad.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/process/browser.js from dll-reference girder_plugin_large_image","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/AnnotationCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/index.js from dll-reference girder_lib","webpack:///delegated ./src/views/App.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/PluginConfigBreadcrumbWidget.js from dll-reference girder_lib","webpack:///delegated ./node_modules/bootstrap/js/dropdown.js from dll-reference girder_lib","webpack:///delegated ./src/models/FolderModel.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/slicer_cli_web/views/PanelGroup.js from dll-reference girder_plugin_slicer_cli_web","webpack:///delegated ./src/templates/widgets/jsonMetadatumEditWidget.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/jsonMetadatumView.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/metadatumEditWidget.pug from dll-reference girder_lib","webpack:///delegated ./src/templates/widgets/metadatumView.pug from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/geojs/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/fontello/dist/css/animation.css from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/fontello/dist/css/fontello.css from dll-reference girder_lib","webpack:///delegated ./node_modules/jsoneditor/dist/jsoneditor.css from dll-reference girder_lib","webpack:///delegated ./node_modules/jsoneditor/dist/jsoneditor.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/HierarchyWidget.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/annotations/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./node_modules/@girder/large_image_annotation/collections/ElementCollection.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/collections/UserCollection.js from dll-reference girder_lib","webpack:///delegated ./node_modules/@girder/large_image_annotation/views/index.js from dll-reference girder_plugin_large_image_annotation","webpack:///delegated ./src/dialog.js from dll-reference girder_lib","webpack:///delegated ./src/models/FileModel.js from dll-reference girder_lib","webpack:///delegated ./src/views/widgets/AccessWidget.js from dll-reference girder_lib"],"names":["girderEvents","router","Backbone","Router","setQuery","name","value","options","curRoute","history","fragment","routeParts","queryString","undefined","unparsedQueryString","$","param","length","_lastQueryString","navigate","base","getQuery","execute","callback","args","query","pop","push","apply","_","each","key","has","events","trigger","__super__","View","initialize","oldInitialize","result","arguments","document","on","evt","dialogContainer","off","target","closest","modal","prop","oldGirderModal","fn","girderModal","view","call","StyleCollection","Collection","extend","model","StyleModel","localStorage","LocalStorage","Model","defaults","lineWidth","lineColor","fillColor","HuiSettings","_hui_settings","_hui_settings_result","type","url","then","resp","Deferred","resolve","EditElement","render","$el","html","element","annotationElement","toJSON","createVueModal","el","get","vm","EditHeatmapOrGridDataContainer","propsData","parentView","vueApp","closeVueModal","$destroy","getData","preventDefault","data","validation","label","val","group","_defaultGroup","parseFloat","isFinite","parent","addClass","convertColor","text","removeClass","edited","set","endEdit","toRgbString","dialog","show","defaultGroup","setElement","EditRegionOfInterest","_sizeCte","_format","_compressionRatio","_magnification","areaElement","maxMag","bounds","scaleBounds","magnification","scaleWidth","width","scaleHeight","height","numberOfPixel","getNumberPixels","fileSize","getConvertFileSize","updateform","zoomToMagnification","zoom","Math","round","pow","maxZoom","magnificationToZoom","log2","factor","pixelNumber","getFileSize","bytesNumber","convertedSize","downloadDisable","bool","unbind","attr","bind","ev","removeAttr","selectedOption","getUrl","left","top","right","bottom","params","regionWidth","regionHeight","encoding","contentDisposition","urlView","frameAndUrl","replace","URLSearchParams","MetadataPlotDialog","settings","plotConfig","plotOptions","_submit","configOptions","folder","is","forEach","series","SaveAnnotation","colorpicker","elementTypes","annotation","elements","map","filter","index","types","indexOf","styleEditableElementTypes","annotationHasEditableElements","includes","showStyleEditor","_pageElements","defaultStyles","firstElement","every","d","title","hasAdmin","AccessType","ADMIN","formatDate","DATE_SECOND","id","meta","_meta","Object","assign","attributes","metadataWidget","MetadataWidget","item","fieldName","accessLevel","panel","noSave","setItem","find","access","AccessWidget","hideRecurseOption","noAccessFlag","fetch","cancel","save","setFillColor","setLineColor","setLineWidth","trim","silent","annotationData","description","destroy","prototype","MAX_ELEMENTS_LIST_LENGTH","AnnotationSelector","Panel","_expandedGroups","Set","_opacity","opacity","_fillOpacity","fillOpacity","_showAllAnnotationsState","listenTo","collection","_debounceRender","_changeAnnotationHighlight","eventStream","debounce","_onJobUpdate","_refreshAnnotations","_saveAnnotation","reset","_parentId","_debounceRenderRequest","parentItem","annotationGroups","_getAnnotationGroups","viewer","empty","activeAnnotation","_activeAnnotation","showLabels","_showLabels","user","creationAccess","_writeAccess","WRITE","writeAccessLevel","writeAccess","interactiveMode","_interactiveMode","expandedGroups","annotationAccess","_annotationAccess","collapsed","hasClass","_changeGlobalOpacity","_changeGlobalFillOpacity","showAllAnnotations","_setCreationAccess","window","requestAnimationFrame","_setCreationRequest","offset","itemId","setViewer","toggleAnnotation","currentTarget","parents","unset","deleteAnnotation","message","submitButton","onSubmit","remove","_saving","_saveAgain","editAnnotationMetadata","listenToOnce","done","root","folderId","error","createResp","toggleClass","fail","status","refresh","keys","models","indexBy","property","activeId","_centroids","displayed","_setActiveAnnotation","removeAnnotation","toggleLabels","toggleInteractiveMode","_editAnnotation","editAnnotation","timeout","icon","_setActiveAnnotationWithoutLoad","always","numElements","createAnnotation","AnnotationModel","add","_inFetch","lastSaveAgain","min","setTimeout","hideAllAnnotations","selectAnnotationByRegion","btn","keyCode","_highlightAnnotation","_unhighlightAnnotation","toFixed","_toggleExpandGroup","delete","a","groups","groupObject","union","groupList","contains","sortBy","_triggerGroupCountChange","groupCount","annotations","DrawWidget","image","newElementDisplayIdStart","setAnnotationSelector","annotationSelector","_drawingType","drawingType","_localId","_editOptions","_getEditOptions","_verifyEditOptions","_highlighted","_groups","_style","_handleStyleGroupsUpdate","_recalculateGroupAggregation","style","_setStyleGroup","updatedElement","_skipRenderHTML","highlighted","opts","firstRender","displayIdStart","collapse","toggle","append","hide","countPixelmap","drawElement","annotationLayer","_boundHUIModeChange","geoOff","geo","event","mode","geoOn","modes","edit","oldmode","_updateConstraintValueInputs","_widgetDrawRegion","stopListening","drawRegion","editElement","origGroup","_getId","obj","elemType","newLabel","labelElement","oldLabel","split","parseInt","updateCount","viewElement","annot","_byId","points","pointAnnot","coordinates","xCoords","point","yCoords","max","originalZoomRange","zoomRange","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","newView","center","x","y","zoomAndCenterFromBounds","rotation","origMin","abs","distance","transition","duration","endClamp","interp","d3","interpolateZoom","ease","easeExpInOut","deleteElement","last","addElements","_pixelTolerance","_applyBooleanOp","evtOpts","asPolygonList","toPolygonList","op","currentBooleanOperation","existing","_annotations","features","f","featureType","polylist","pixelTolerance","searchPoly","poly","pt","near","polygonSearch","partial","some","n","found","oldids","geojson","properties","annotationId","removeAllAnnotations","correspond","keepAnnotations","util","polyops","newAnnot","_guid","omit","_brushPan","_brushZoom","size","brush_size","unitsPerPixel","_setBrushCoordinates","draw","interactor","mouse","mapgcs","_coordinates","modified","_brushAction","operation","cursor_action","_lastBrushState","stateId","state","shape","brush_shape","brush_screen","bbox1","bbox2","bbox","blur","order","c1x","c1y","c2x","c2y","ang","atan2","PI","cos","sin","closed","_addDrawnElements","_setBrushMode","drawAnnotation","forceRefresh","_brushPanBound","cursor_click","pan","scale","registries","func","layer","addAnnotation","cursor","processed","tooltip","currentAnnotation","_resetSelection","modeOptions","size_mode","constraint","fixed_width","fixed_height","startDrawMode","cancelDrawMode","hui","JSON","parse","getItem","err","isObject","_saveEditOptions","update","entries","stringify","console","warn","log","raiseOnError","Error","groupName","change","groupElem","newCount","toArray","count","before","after","reverse","pixelmap","toChange","ix","_setToSelectedStyleGroup","_dropdownControlClick","e","stopImmediatePropagation","content","isCollapsed","buttons","idx","dropdown","parentNode","_changeBrush","_changeShapeConstraint","nextBrushShape","adjustBrushSize","delta","newval","setToNextStyleGroup","nextGroup","next","setToPrevStyleGroup","prevGroup","prev","getStyleGroup","_styleGroupEditor","dlg","_highlightElement","annotType","_unhighlightElement","used","__null__","getMetadataRecord","part","MetadatumWidget","className","apiPath","onMetadataEdited","onMetadataAdded","_validate","from","to","newMode","validate","msg","toggleEditor","newEditorMode","existingEditor","overrides","fromEditorMode","JsonMetadatumEditWidget","newValue","row","newDatum","editor","editMetadata","jsonValue","appendTo","displayValue","template","MetadatumEditWidget","editorType","getCurrentValue","editTemplate","MetadatumEditWidgetTemplate","deleteMetadatum","metadataList","escape","escapedHtml","yesText","confirmCallback","removeMetadata","field","path","cancelEdit","curRow","tempKey","tempValue","saveCallback","errorCallback","out","addMetadata","JsonMetadatumEditWidgetTemplate","getText","jsonEditorEl","JSONEditor","onError","setText","expandAll","expand","panelElem","maximize","renderMetadataWidgetHeader","simple","MetadatumViewTemplate","json","JsonMetadatumViewTemplate","getModeFromValue","isString","EditWidget","widget","getAccessLevel","fieldParts","metaDict","slice","metaKeys","sort","localeSort","firstKey","firstValue","_accessLevel","metaKey","ConfigView","settingsKeys","_saveSettings","children","breadcrumb","PluginConfigBreadcrumbWidget","pluginName","when","method","list","default","_browserWidgetView","BrowserWidget","titleText","helpText","submitText","isValid","reject","promise","clearSettingsCache","responseJSON","_openBrowser","ImageView","viewerWidget","_mouseClickQueue","_openId","_displayedRegion","_currentMousePosition","_selectElementsByRegionCanceled","_debounceUpdatePixelmapValues","_updatePixelmapValues","_overlayLayers","selectedAnnotation","_id","selectedElements","_increaseZoom2x","_increaseZoom2xRange","ItemModel","_setImageInput","_allowRootSelection","_setDefaultFileOutputs","_resetRegion","_redrawSelection","openImage","AnnotationCollection","controlPanel","SlicerPanelGroup","closeButton","overviewWidget","OverviewWidget","zoomWidget","ZoomWidget","metadataPlot","MetadataPlot","popover","AnnotationPopover","contextMenu","AnnotationContextMenu","pixelmapContextMenu","PixelmapContextMenu","refetchStyles","setGroupCount","click","showRegion","_toggleInteractiveMode","_deleteAnnotation","_setAnnotationOpacity","_setAnnotationFillOpacity","_redrawAnnotation","_highlightAnnotationForInteractiveMode","_selectElementsByRegion","_selectElementsByRegionCancel","_editElement","_editElementShape","_closeContextMenu","_handlePixelmapContextMenu","_closePixelmapContextMenu","_saveSelection","_removeSelection","widgetRegion","_knownPanels","mouseResetAnnotation","_removeDrawWidget","_orderPanels","_getConfig","ViewerWidget","geojs","hoverEvents","highlightFeatureSizeLimit","position","setUnclampBoundsForOverlay","mouseOverAnnotation","mouseOutAnnotation","mouseOnAnnotation","mouseOffAnnotation","mouseClickAnnotation","mouseClickOverlay","mouseOverOverlay","overlayLayerDrawn","overlayLayerRemoved","removeAction","geo_action","zoomselect","currentOptions","cancelOnMove","imageWidth","maxBounds","imageHeight","extraPanWidth","extraPanHeight","setImageBounds","setBoundsQuery","_originalZoomRange","mousemove","showCoordinates","drawWidget","clear","getItemFile","limit","files","FileModel","getTilesDef","tiles","setMaxMagnification","setImage","getFileModel","fileId","file","largeImage","originalId","b","values","_panelViews","_widgets","_getDefaultInputResource","resource","_path","_getDefaultOutputFolder","userFolders","FolderCollection","parentId","parentType","isEmpty","at","chain","pluck","flatten","entry","_rootPath","analysis","extension","_clearTooltips","_closeAnalysis","join","_updatePixelmapElements","pixelmapElements","defaultStyle","_reconcilePixelmapCategories","_updatePixelmapsWithCategories","pixelmapId","existingCategories","newCategories","newStyleGroups","category","correspondingStyle","newStyle","strokeColor","correspondingCategory","originalDefaultIndex","findIndex","updatedCategories","where","concat","originalData","newData","setView","once","highlightAnnotation","pts","hasRegionParameter","region","_lastMouseOnElement","elementModel","getPixelmapElements","allPixelmaps","pixelmaps","_getCategoryIndexFromStyleGroup","styleGroup","categories","groupId","newIndex","pixelmapElementModel","i","_pixelmapContextMenuActive","updatePixelmap","dataIndex","categoryIndex","pixelmapLayer","layers","layerDataIndex","indexModified","overlayElement","overlayLayer","overlayAnnotationIsSelected","buttonsDown","_queueMouseClickAction","_processMouseClickQueue","_canOpenContextMenu","$window","menu","page","belowWindow","windowWidth","menuWidth","css","modifiers","shift","geometry","_openContextMenu","ctrl","_toggleSelectElement","minimumDistance","dx","dy","sorted","interactive","_lastDrawingType","setGlobalAnnotationOpacity","setGlobalAnnotationFillOpacity","_onKeyDown","test","activeElement","tagName","toLowerCase","drawModes","o","r","c","p","l","_showOrHideAnnotations","_trackMousePosition","pageX","pageY","client","clientX","clientY","any","coord","boundingBox","getElementsInBox","_selectElement","lowerLeft","upperRight","results","featureLayer","feature","boxSearch","_contextMenuActive","node","focus","originalAnnotation","_currentAnnotationEditShape","hideAnnotation","_editElementShapeFinishBound","_editElementShapeFinish","_unselectElement","groupedAnnotations","groupBy","elementsCollection","getSettings","layout","panels","info","substr","spec","prependTo","modelId","replaceGroups","first","HeaderUserView","GirderHeaderUserView","HeaderView","brandName","brandColor","bannerColor","helpURL","helpTooltip","placement","delay","HeaderImageView","HeaderAnalysesView","_cachedGroupCount","styles","numberSelected","_removeElements","stopPropagation","_editElements","_setStyleDefinition","styleAttrs","countA","countB","_setGroup","_removeGroup","ceil","scaleWidget","gui","formatUnit","scaleresult","areaStr","areaUnitsTable","s","Date","toLocaleString","_position","_hide","_show","_hidden","visible","_users","ElementCollection","_getUser","_bindMoveEvent","_recomputeClosestElementThrottled","throttle","_recomputeClosestElement","_closestElement","users","elementProperties","_elementProperties","_visible","_height","_popover","setIf","v","Array","props","geogeom","area","edge","lens","j","v0","v1","len","annotationType","h","_scale","_lastPositionEvt","_distanceToElement","_lastCenter","lastElement","pug","require","locals","pug_html","pug_mixins","pug_interp","pug_debug_filename","pug_debug_line","pug_debug_sources","locals_for_with","counts","displayIdOffset","typeCounts","$$obj","pug_index0","$$l","classes","displayId","rethrow","module","exports","histomicsui","configRoute","route","App","GirderApp","huiHeader","plv","progressListView","_origHandleProgress","_handleProgress","progress","_map","resourceName","login","close","open","navigateTo","bodyView","bindRoutes","defaultOptions","noop","ConfirmDialog","_options","setOptions","EditStyleGroups","_newStyle","_setStyle","_updateStyle","_createNewStyle","_saveNewStyle","create","_deleteStyle","_resetDefaults","styleJSON","oldid","styleModels","_setDefaults","_exportGroups","merge","Blob","URL","createObjectURL","_selectImportGroups","_toggleImportReplace","_importGroups","girderEnable","fr","FileReader","onload","onerror","readAsText","EditStyleGroupsDialog","originalCollectionData","originalModelData","originalModelId","form","_cancelChanges","confirmDialog","openAnnotatedImage","saveAnnotation","editRegionOfInterest","paths","AnnotatedImageList","items","inFetch","OpenAnnotatedImage","ItemCollection","comparator","_query","backbone","imageName","creator","_nextQuery","UserCollection","sortField","pageLimit","_usersIsFetched","_fetchImages","_queueFetchImages","_items","promises","_getResourcePath","creatorId","_updateQuery","createDialog","itemParent","showItems","selectItem","rootSelectorSettings","selectByResource","highlightItem","paginated","defaultSelectedResource","isVirtual","FolderModel","collections","dialogs","views","getPlotOptions","plotPanel","getSiblingItems","chunk","parentFolderId","siblingItems","siblingItemsPromise","siblingItemPromise","abort","collectedPlotData","isArray","localeCompare","getPlotData","optDict","opt","plotData","fieldToPlot","plotToOpt","ranges","usedFields","usedOptions","expected","unshift","itemIdx","end","distinct","plotDataToPlotly","colorBrewerPaired12","viridis","colorScale","linear","domain","range","plotlyData","hovertext","parts","hoverinfo","marker","symbol","color","ajax","dataType","cache","elem","maximized","margin","t","hovermode","xaxis","yaxis","Plotly","newPlot","_createOverview","parentViewer","_boundOnParentPan","isEqual","_tiles","exit","pixelCoordinateParams","sizeX","sizeY","tileWidth","tileHeight","useCredentials","getFrameAndUrl","renderer","mapInteractor","actions","action","input","owner","selectionRectangle","keyboard","ResizeObserver","_observer","observe","autoshareRenderer","_tileLayer","createLayer","_layer","setFrameQuad","tileinfo","_featureLayer","_outlineFeature","createFeature","stroke","strokeWidth","fill","_panOutlineDistance","mouseclick","actiondown","_downState","rotate","distanceToOutline","distanceToPolygon2d","actionmove","actionselection","mapsize","gcsToDisplay","displayToGcs","scaling","_onParentPan","frame","_maxMag","_maxZoom","_minZoom","_cancelSelection","_zoomChanged","step","floor","title_download_view","title_download_area","maxNaturalMag","_maxNaturalMag","minMag","disabled","_zoomRangeControls","_zoomSliderInput","increase","increaseRange","setMagnification","_setSliderValue","_getSliderValue","_inZoomChange","_zoomButton","_downloadView","innerWidth","innerHeight","href","_downloadArea","mag","areaParams","_increaseZoomRange","oldmax","_decreaseZoomRange","HierarchyWidget","version","FrontPageView","GirderFrontPageView","apiRoot","staticRoot","currentUser","body","ItemListWidget","adjustView","quarantine","cid","setCurrentModel","parentModel","setRoute","webrootPath","delegateEvents","ItemView","success","analyses","submenupicker","_setAnalysis","api","imageModel","parentChain","_setNextPreviousImage","getRootPath","nextImageLink","_nextImage","previousImageLink","_previousImage","previousImageName","_previousName","nextImageName","_nextName","previous","dtaIndex","pixelmapElement","_setCategory","selected","seriesList","number","string","pug_index1","pug_index2","moment","timestamp","format","defaultName","versionName","cliName","cli","run","object","titlePre","titleNext","removeButton","attrs","class","expanded","expandedClass","admin","loading","downloadUrl","annotationCount","firstName","lastName","elementCount","pug_index4"],"mappings":"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AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,8CAA8C;AAC9C,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,WAAW;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6DAA6D,wBAAwB;;AAErF;AACA;AACA,6CAA6C,wBAAwB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gFAAgF,4BAA4B,gBAAgB;AAC5H,gFAAgF,2BAA2B,gBAAgB;AAC3H,uDAAuD,oDAAoD,gBAAgB;AAC3H,uDAAuD,oDAAoD,gBAAgB;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,OAAO,kBAAkB,YAAY,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/D,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/D,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/E,6BAA6B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AAC/E;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,UAAU,OAAO,UAAU,OAAO,SAAS;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AkB,qBAAlB,EAAyCtC,MAAzC;AAL+B;AAM/B,WAAOmC,MAAP;AACH;;kBAEcC,I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACvCf;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC3B;AACL;;;AAGpE;AAC+I;AAC/I,gBAAgB,8JAAU;AAC1B,EAAE,4FAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACtCf;AAAA;AAAA;AAAA;AAAA;AAA6G;AAC3B;AACL;;;AAG7E;AAC+I;AAC/I,gBAAgB,8JAAU;AAC1B,EAAE,qGAAM;AACR,EAAE,0GAAM;AACR,EAAE,mHAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACe,gF;;;;;;;ACtCf;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;;;;;;;;ACAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8DAA8D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,gBAAgB,eAAe;AAC/B,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,aAAa,0DAA0D;AACvE;AACA;AACA;AACA;AACA;AACA,0BAA0B,qCAAqC;AAC/D,uBAAuB,0BAA0B;AACjD,iBAAiB;AACjB,0BAA0B,SAAS,qCAAqC,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD,yBAAyB,8BAA8B;AACvD,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACjEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8BAA8B;AAC/C,mBAAmB,+BAA+B;AAClD,sBAAsB,4BAA4B;AAClD,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA,yCAAyC,aAAa;AACtD,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,4BAA4B;AACzD,iCAAiC,SAAS,2BAA2B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB;AACvB,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,4BAA4B;AACrD,6BAA6B,SAAS,0BAA0B,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yBAAyB;AACrD,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,+BAA+B;AAC/B,6BAA6B;AAC7B;AACA;AACA;AACA,wCAAwC,+BAA+B;AACvE,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iBAAiB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,wCAAwC,8BAA8B;AACtE,2CAA2C,qBAAqB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,2BAA2B;AACrE;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,yBAAyB;AACrE,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C,2BAA2B;AACvE,mCAAmC;AACnC;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,sBAAsB;AAClE;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,qCAAqC;AACrC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,4BAA4B,mBAAmB;AAC/C;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,uBAAuB;AACvB,qBAAqB;AACrB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,0BAA0B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,2BAA2B;AAC3B,yBAAyB;AACzB,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iBAAiB;AAC3C;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC/cA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C,aAAa,8CAA8C;AAC3D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA,IAAI,IAAyD;AAC7D,2BAA2B,mBAAO,CAAC,CAAY,GAAG,mBAAO,CAAC,EAAU;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,cAAc;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;;AAEA;AACA,8DAA8D,+DAA+D;;AAE7H;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA,WAAW,MAAM;AACjB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,aAAa,OAAO;AACpB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;;AAEA;AACA,eAAe,MAAM;AACrB,iBAAiB,MAAM;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,QAAQ;AACzB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,iBAAiB,OAAO;AACxB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;AAGA,OAAO;AACP;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA,CAAC,E;;;;;;;AC9jBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEa;;AAEb;AACA,MAAM,IAAyC;AAC/C;AACA,IAAI,iCAAO,CAAC,sBAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,oGAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;AClMD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,0FAA0F,KAAK;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,iCAAiC,EAAE;AACnC;AACA,aAAa;AACb;;AAEA;AACA;AACA;AAC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AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,wBAAwB,+BAA+B;AACvD,wBAAwB,iBAAiB;AACzC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,oDAAoD,iCAAiC,EAAE;AACvF,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,cAAc;;AAE7C;;AAEA;AACA;AACA;AACA,+BAA+B,UAAU;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,GAAG;AACV;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA,mCAAmC;AACnC,yCAAyC,wBAAwB,EAAE;AACnE,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,YAAY;AACtC,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,0CAA0C,EAAE;AAC5C;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB,EAAE;AACvD;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D,mCAAmC,sBAAsB;AACzD;AACA,oBAAoB;AACpB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB,mBAAmB;AACxC,iCAAiC;AACjC;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,YAAY;AAChC,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,sCAAsC;AACtC;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;;AAEA,6DAA6D,UAAU,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,qCAAqC,EAAE;AACzF;;AAEA;AACA;AACA;;AAEA,sCAAsC,yCAAyC,EAAE;AACjF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA,8BAA8B;AAC9B,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sDAAsD,EAAE;AACxF;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,iCAAiC;AACrE,gBAAgB,6BAA6B;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;;AAEA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,iBAAiB;AACtC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA,wBAAwB,mBAAmB;AAC3C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA,KAAK;AACL;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C,eAAe;AAC7D,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,oDAAoD;AACpD,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uCAAuC,gEAAgE;AACvG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,8BAA8B,+BAA+B;AAC7D,8BAA8B,+BAA+B;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,uFAAuF;AAC9F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,+BAA+B;AACpC,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,sBAAsB,oBAAoB;AAC1C,wBAAwB,4BAA4B;AACpD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;AACrB,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,6CAA6C;AAChF;AACA;AACA,+CAA+C,4CAA4C;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO,2CAA2C,8BAA8B,EAAE;;AAElF;AACA,0CAA0C,OAAO;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,SAAS;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;;AAE5B,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,0BAA0B;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB,EAAE;;AAEtD;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,sBAAsB;AACtB;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD,uBAAuB,+BAA+B;AACtD;AACA;AACA,KAAK;AACL,2BAA2B;AAC3B;AACA,wBAAwB,iCAAiC;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,oBAAoB;AAC3C;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,4CAA4C,2BAA2B,EAAE;AACzE,OAAO;AACP;AACA,4CAA4C,4BAA4B,EAAE;AAC1E,OAAO;AACP,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,sBAAsB;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA,uBAAuB,cAAc;AACrC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA,0BAA0B;AAC1B;AACA,8BAA8B,4BAA4B;AAC1D,8BAA8B,gCAAgC;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA2D,UAAU;AACrE,mBAAmB,wBAAwB,OAAO,uBAAuB;AACzE;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C;AAC/C,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS,kDAAkD;AAC3D;AACA;AACA;AACA;AACA,SAAS;AACT,qCAAqC,gEAAgE;AACrG;AACA;AACA;AACA,kCAAkC;AAClC;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,SAAS;AAClC;AACA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,uBAAuB,OAAO,gCAAgC;AACjF,0DAA0D,oBAAoB;AAC9E;AACA;AACA;AACA,6BAA6B,gEAAgE;AAC7F,SAAS;AACT;AACA;AACA;AACA,qCAAqC,iCAAiC;AACtE;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,6DAA6D,oBAAoB;AACjF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gCAAgC;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,+BAA+B,uBAAuB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,6BAA6B;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,yBAAyB;AAC5D;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,kBAAkB;AAC5D,OAAO;AACP,0CAA0C,0BAA0B;AACpE,OAAO;AACP,0CAA0C,iBAAiB;AAC3D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,qCAAqC;AACrC,qCAAqC;AACrC,6CAA6C;AAC7C,6BAA6B;AAC7B,6BAA6B;AAC7B,8BAA8B;AAC9B,8BAA8B;AAC9B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA,yBAAyB;AACzB;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oBAAoB;AACrC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe,EAAE,uBAAuB,UAAU,EAAE;AACtF;AACA;;AAEA;AACA,qDAAqD,6CAA6C;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,6CAA6C;AAC1E;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD;AACvD,KAAK;AACL,2CAA2C;AAC3C;;AAEA,mCAAmC,wCAAwC;AAC3E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0DAA0D,mBAAmB;AAC7E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,aAAa;AACtC,yBAAyB,aAAa;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF,8BAA8B;AAC9B;AACA,6BAA6B;AAC7B,0BAA0B,iEAAiE;AAC3F,cAAc,0FAA0F;AACxG,QAAQ,KAAK,0CAA0C;AACvD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,kBAAkB;AACjE,wBAAwB,+CAA+C;AACvE,mDAAmD;;AAEnD;AACA,wDAAwD;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,2BAA2B;AACxD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,6CAA6C,EAAE;AACxD;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY;AACZ;AACA,yCAAyC,SAAS;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,4BAA4B,EAAE;AACpF,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,+BAA+B,EAAE;AACvF,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,aAAa;;AAE7D;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,mCAAmC,qCAAqC;;AAExE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uCAAuC,EAAE;AACtF;AACA;AACA;AACA,+CAA+C,2CAA2C,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,8BAA8B,EAAE;AACvE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAoC,uCAAuC;;AAE3E,uCAAuC,0BAA0B;;AAEjE;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D;AACA;AACA,kEAAkE,sBAAsB,EAAE;AAC1F;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA,aAAa,uBAAuB;AACpC,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,2BAA2B;AACpD;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,yBAAyB,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,wBAAwB,EAAE,iBAAiB,EAAE;AAC7C,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,GAAG;;;;AAIH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT,SAAS;AACT,WAAW;AACX,UAAU;AACV,UAAU;AACV,SAAS;AACT,UAAU;AACV;AACA,6CAA6C;AAC7C,gEAAgE;;AAEhE;AACA;AACA,uDAAuD,2DAA2D;;AAElH;AACA;AACA,+CAA+C,2BAA2B,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uGAAuG;AAC3H;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,eAAe;AACzC,wBAAwB,aAAa;;AAErC;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,UAAU;AAChD;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa,6DAA6D;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA+D,uBAAuB,EAAE;AACxF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,uBAAuB,0BAA0B;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,oBAAoB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS,4BAA4B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,wBAAwB,EAAE;AAC5D;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA,yDAAyD,WAAW;AACpE;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,2CAA2C,GAAG;;AAErF;AACA,oCAAoC;AACpC,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA,qDAAqD,4BAA4B,EAAE;AACnF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,+EAA+E;AAC/G,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,gCAAgC,EAAE;AAChF,2CAA2C,0CAA0C,EAAE;AACvF;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,iDAAiD;AACzF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,yCAAyC,iDAAiD;AAC1F;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,uCAAuC;AACnF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA,uDAAuD;AACvD;AACA,QAAQ;AACR;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,eAAe,oBAAoB;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,6GAA6G;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sUAAsU;AACvV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB,iCAAiC,4EAA4E,qBAAqB,aAAa,GAAG,EAAE,kBAAkB;AACvN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,yCAAyC,EAAE;AACtE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,cAAc,0EAA0E;AACxF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,sBAAsB,EAAE;AACxE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA,iEAAiE,oCAAoC,EAAE;AACvG;AACA;AACA;AACA;AACA,iEAAiE,gCAAgC,EAAE;AACnG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2DAA2D,wBAAwB;AACnF;AACA,qFAAqF;AACrF;AACA;AACA;AACA;AACA,SAAS,EAAE,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+EAA+E,GAAG;;AAElF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA,+BAA+B,+BAA+B;AAC9D,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB,eAAe;AACnC;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA,KAAK;AACL,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA,gDAAgD,mBAAmB,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uBAAuB,EAAE;AACzE,WAAW;AACX,kDAAkD,qBAAqB,EAAE;AACzE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7uXD;;;;AACA;;;;AAEA;;AACA;;AAEA;;;;AACA;;;;AACA;;AACA;;AAEA;;;;AACA;;;;AACA;;;;AAEA;;;;AACA;;;;AAEA,IAAIwX,8BAAMC,cAAUt+B,MAAV,CAAiB;AACvBpB,cADuB,sBACZsI,QADY,EACF;AAAA;;AACjB,aAAKA,QAAL,GAAgBA,QAAhB;AADiB;AAEjB,eAAOo3B,cAAUpzB,SAAV,CAAoBtM,UAApB,CAA+BT,KAA/B,CAAqC,IAArC,EAA2CY,SAA3C,CAAP;AACH,KAJsB;AAMvBqC,UANuB,oBAMd;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,uBAAd;;AADK;AAGL,aAAKi9B,SAAL,GAAiB,IAAIhG,oBAAJ,CAAe;AAC5B52B,gBAAI,KAAKrE,CAAL,CAAO,yBAAP,CADwB;AAE5B0E,wBAAY,IAFgB;AAG5BkF,sBAAU,KAAKA;AAHa,SAAf,EAId9F,MAJc,EAAjB;;AAMA;AACA,YAAIo9B,8BAAM,KAAKC,gBAAX,CAAJ;AAVK;AAWL,YAAI,CAACD,IAAIE,mBAAT,EAA8B;AAAA;AAAA;;AAC1BF,gBAAIE,mBAAJ,GAA0BF,IAAIG,eAA9B;AAD0B;AAE1BH,gBAAIG,eAAJ,GAAsB,UAAUC,QAAV,EAAoB;AAAA;AAAA;;AACtC,oBAAI,4BAACxgC,qBAAEG,GAAF,CAAMigC,IAAIK,IAAV,EAAgBD,SAAS9V,GAAzB,CAAD,gCAAkC,CAAC,oCAASxmB,IAAT,gCAAiB,EAAjB,CAAD,EAAsBw8B,YAAtB,KAAuC,KAAzE,CAAJ,EAAoF;AAAA;AAAA;;AAChF;AACH,iBAFD;AAAA;AAAA;AADsC;AAItC,uBAAON,IAAIE,mBAAJ,CAAwBE,QAAxB,CAAP;AACH,aALD;AAF0B;AAQ1BJ,gBAAInpB,aAAJ,CAAkBmpB,IAAIvyB,WAAtB,EAAmC,kBAAnC,EAAuDuyB,IAAIE,mBAA3D,EAAgFF,GAAhF;AAR0B;AAS1BA,gBAAI3yB,QAAJ,CAAa2yB,IAAIvyB,WAAjB,EAA8B,kBAA9B,EAAkDuyB,IAAIG,eAAtD,EAAuEH,GAAvE;AACH,SAVD;AAAA;AAAA;AAXK;AAsBLA,YAAI96B,UAAJ,CAAe,KAAKpG,CAAL,CAAO,2BAAP,CAAf,EAAoD8D,MAApD;;AAtBK;AAwBL,eAAO,IAAP;AACH,KA/BsB;;;AAiCvB;;;;AAIA29B,SArCuB,mBAqCf;AACJ,YAAIX,iCAAQ,sBAAW3hC,mBAASO,OAAT,CAAiBC,QAA5B,EAAsCU,IAA9C,CAAJ;AADI;AAEJlB,2BAASO,OAAT,CAAiBC,QAAjB,GAA4B,IAA5B;AAFI;AAGJgP,8BAAY+yB,KAAZ;;AAHI;AAKJ,YAAI,2BAAJ,EAAsB;AAAA;AAAA;;AAClB/yB,kCAAYgzB,IAAZ;AADkB;AAElBziC,6BAAOkB,QAAP,CAAgB0gC,KAAhB,EAAuB,EAAC3/B,SAAS,IAAV,EAAvB;AACH,SAHD,MAGO;AAAA;AAAA;;AACHjC,6BAAOkB,QAAP,CAAgB,GAAhB,EAAqB,EAACe,SAAS,IAAV,EAArB;AACH;AACJ,KAhDsB;AAkDvBygC,cAlDuB,sBAkDZt/B,IAlDY,EAkDN;AAAA;;AACb,YAAI,KAAKu/B,QAAL,YAAyBv/B,IAA7B,EAAmC;AAAA;AAAA;;AAC/B,mBAAO,IAAP;AACH,SAFD;AAAA;AAAA;AADa;AAIb,eAAO0+B,cAAUpzB,SAAV,CAAoBg0B,UAApB,CAA+B/gC,KAA/B,CAAqC,IAArC,EAA2CY,SAA3C,CAAP;AACH,KAvDsB;;;AAyDvBqgC,gBAAYA;AAzDW,CAAjB,CAAN,CAAJ;;kBA4Def,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9Ef;;;;;;QAGIv+B,e,GAAAA,yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHJ;;;;AACA;;;;AAEA;;;;AACA;;AAEA;;;;AAEA;;;;;;AACA;;AAEA,IAAIyD,gCAAS,IAAT,CAAJ;AACA,IAAM87B,wCAAiB;AACnBv2B,WAAO,SADY;AAEnBgG,aAAS,eAFU;AAGnBC,kBAAc,KAHK;AAInBC,cAAU5Q,qBAAEkhC;AAJO,CAAjB,CAAN;;AAOA,IAAMC,uCAAgB5gC,eAAKqB,MAAL,CAAY;AAC9BxB,YAAQ;AACJ,2BAAmB;AADf,KADsB;AAI9B4C,UAJ8B,oBAIrB;AAAA;;AAAA;;AACL,aAAKC,GAAL,CAASC,IAAT,CAAc,6BAAS,KAAKk+B,QAAd,CAAd,EAAuC7/B,WAAvC,CAAmD,IAAnD,EACKV,EADL,CACQ,gBADR,EAC0B,YAAM;AAAA;AAAA;;AACxB,kBAAK3B,CAAL,CAAO,WAAP,EAAoBmB,OAApB,CAA4B,OAA5B;AACH,SAHL;AADK;AAKL,eAAO,IAAP;AACH,KAV6B;AAY9BghC,cAZ8B,sBAYnB3iC,OAZmB,EAYV;AAAA;;AAChB,aAAK0iC,QAAL,GAAgBphC,qBAAEkC,QAAF,CAAWxD,OAAX,EAAoBuiC,cAApB,CAAhB;AACH,KAd6B;AAgB9Bh4B,WAhB8B,qBAgBpB;AAAA;;AACN,aAAK5I,OAAL,CAAa,UAAb,EAAyB,KAAK+gC,QAA9B;AADM;AAEN,aAAKn+B,GAAL,CAAS9B,KAAT,CAAe,MAAf;AAFM;AAGN,aAAKH,GAAL,CAAS,UAAT;AACH;AApB6B,CAAZ,CAAhB,CAAN;;;AAuBAZ,iBAAOS,EAAP,CAAU,iBAAV,EAA6B,YAAwB;AAAA,QAAdnC,OAAc,iGAAJ,EAAI;AAAA;AAAA;;AACjD,QAAI,CAACyG,MAAL,EAAa;AAAA;AAAA;;AACTA,iBAAS,IAAIg8B,aAAJ,CAAkB;AACvBv9B,wBAAY;AADW,SAAlB,CAAT;AAGH,KAJD;AAAA;AAAA;AADiD;AAMjDuB,WAAOnE,GAAP,CAAW,UAAX;AANiD;AAOjDmE,WAAOk8B,UAAP,CAAkB3iC,OAAlB;AAPiD;AAQjDyG,WAAOtE,EAAP,CAAU,UAAV,EAAsBnC,QAAQkS,QAA9B;AARiD;AASjDzL,WAAOG,UAAP,CAAkB,sBAAE,qBAAF,CAAlB,EAA4CtC,MAA5C;AACH,CAVD,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMf;;;;AACA;;;;AAEA;;;;AAEA;;;;AAEA;;;;AACA;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAIE,oCAAa3e,gBAAMrL,MAAN,CAAa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","file":"plugin.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dsa/static/built/\";\n\n \t__webpack_require__(59);\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 180);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 63f5a4872331c643a832","module.exports = girder_lib;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_lib\"\n// module id = 0\n// module chunks = 0","module.exports = (__webpack_require__(0))(0);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/pug-runtime/index.js from dll-reference girder_lib\n// module id = 1\n// module chunks = 0","module.exports = (__webpack_require__(0))(2);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/jquery/dist/jquery.js from dll-reference girder_lib\n// module id = 2\n// module chunks = 0","module.exports = (__webpack_require__(0))(3);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/underscore/modules/index-all.js from dll-reference girder_lib\n// module id = 3\n// module chunks = 0","module.exports = (__webpack_require__(0))(4);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/rest.js from dll-reference girder_lib\n// module id = 4\n// module chunks = 0","import girderEvents from '@girder/core/events';\n\nexport default girderEvents;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/events.js","module.exports = girder_plugin_large_image_annotation;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image_annotation\"\n// module id = 6\n// module chunks = 0","module.exports = (__webpack_require__(0))(1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/View.js from dll-reference girder_lib\n// module id = 7\n// module chunks = 0","import _ from 'underscore';\nimport $ from 'jquery';\nimport Backbone from 'backbone';\nimport { splitRoute, parseQueryString } from '@girder/core/misc';\n\nimport events from './events';\n\nvar router = new Backbone.Router();\n\nrouter.setQuery = function setQuery(name, value, options) {\n var curRoute = Backbone.history.fragment,\n routeParts = splitRoute(curRoute),\n queryString = parseQueryString(routeParts.name);\n if (value === undefined || value === null) {\n delete queryString[name];\n } else {\n queryString[name] = value;\n }\n var unparsedQueryString = $.param(queryString);\n if (unparsedQueryString.length > 0) {\n unparsedQueryString = '?' + unparsedQueryString;\n }\n this._lastQueryString = queryString;\n this.navigate(routeParts.base + unparsedQueryString, options);\n};\n\nrouter.getQuery = function getQuery(name) {\n return (this._lastQueryString || {})[name];\n};\n\nrouter.execute = function execute(callback, args) {\n var query = parseQueryString(args.pop());\n args.push(query);\n if (callback) {\n callback.apply(this, args);\n }\n\n _.each(this._lastQueryString || {}, function (value, key) {\n if (!_.has(query, key)) {\n events.trigger('query:' + key, null, query);\n }\n });\n _.each(query, function (value, key) {\n events.trigger('query:' + key, value, query);\n });\n events.trigger('query', query);\n this._lastQueryString = query;\n};\n\nexport default router;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/router.js","import $ from 'jquery';\nimport View from '@girder/core/views/View';\n\nif (View.__super__ && View.__super__.initialize) {\n const oldInitialize = View.__super__.initialize;\n\n View.__super__.initialize = function () {\n let result = oldInitialize.apply(this, arguments);\n\n // Bootstrap 3's default behavior is to close dialogs when a\n // `click` event occurs outside of it. By using the `click`\n // event, the following scenario could occur -\n // The user clicks and holds down the mouse button when the cursor\n // is inside the dialog, but releases when the mouse cursor is\n // outside the dialog. The browser will recognize this as a `click`\n // event and will close the dialog.\n //\n // Instead, we want this behavior to happen on a `mousedown` event\n // for all dialogs when the HistomicsUI plugin is present.\n // So, below we attach our own event listener that disables the\n // auto-closing behavior on `click` and does it instead on `mousedown`:\n $(document).on('mousedown', '#g-dialog-container', (evt) => {\n const dialogContainer = $('#g-dialog-container');\n // Disable the `click` event listener. This works because the\n // `mousedown` event is always fired before `click`.\n dialogContainer.off('click', '#g-dialog-container');\n // Close the dialog if the `mousedown` event was outside of it.\n if (!evt.target.closest('.modal-content')) {\n dialogContainer.modal('hide');\n }\n });\n\n // Whenever a new dialog is rendered in the DOM, set the tabindex\n // of its buttons to 0 so they can be selected with the Tab key.\n $('#g-dialog-container').on('DOMNodeInserted', () => {\n $('.btn', '#g-dialog-container').prop('tabindex', '0');\n });\n return result;\n };\n\n let oldGirderModal = $.fn.girderModal;\n $.fn.girderModal = function (view) {\n let result = oldGirderModal.call(this, view);\n result.on('shown.bs.modal', () => {\n result.off('click.dismiss.bs.modal');\n result.off('mouseup.dismiss.bs.modal');\n });\n return result;\n };\n}\n\nexport default View;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/View.js","module.exports = (__webpack_require__(0))(5);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/events.js from dll-reference girder_lib\n// module id = 10\n// module chunks = 0","module.exports = (__webpack_require__(0))(10);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/auth.js from dll-reference girder_lib\n// module id = 11\n// module chunks = 0","module.exports = (__webpack_require__(58))(15);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/slicer_cli_web/views/Panel.js from dll-reference girder_plugin_slicer_cli_web\n// module id = 12\n// module chunks = 0","module.exports = (__webpack_require__(0))(23);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/backbone/backbone.js from dll-reference girder_lib\n// module id = 13\n// module chunks = 0","// This file is autogenerated. It's used to publish CJS to npm.\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.tinycolor = factory());\n})(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n // https://github.com/bgrins/TinyColor\n // Brian Grinstead, MIT License\n\n var trimLeft = /^\\s+/;\n var trimRight = /\\s+$/;\n function tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n }\n tinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function getLuminance() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;else R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;else G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;else B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\n }\n };\n\n // If input is an object, force 1 into \"1.0\" to handle ratios properly\n // String input requires \"1.0\" as input, so 1 will be treated as 1\n tinycolor.fromRatio = function (color, opts) {\n if (_typeof(color) == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n };\n\n // Given a string or object, convert that input to RGB\n // Possible string inputs:\n //\n // \"red\"\n // \"#f00\" or \"f00\"\n // \"#ff0000\" or \"ff0000\"\n // \"#ff000000\" or \"ff000000\"\n // \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n // \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n // \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n // \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n // \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n // \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n // \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n //\n function inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n if (_typeof(color) == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n }\n\n // Conversion Functions\n // --------------------\n\n // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n // \n\n // `rgbToRgb`\n // Handle bounds / percentage checking to conform to CSS color spec\n // \n // *Assumes:* r, g, b in [0, 255] or [0, 1]\n // *Returns:* { r, g, b } in [0, 255]\n function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n }\n\n // `rgbToHsl`\n // Converts an RGB color value to HSL.\n // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n // *Returns:* { h, s, l } in [0,1]\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n }\n\n // `hslToRgb`\n // Converts an HSL color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n }\n\n // `rgbToHsv`\n // Converts an RGB color value to HSV\n // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n // *Returns:* { h, s, v } in [0,1]\n function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n }\n\n // `hsvToRgb`\n // Converts an HSV color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n }\n\n // `rgbToHex`\n // Converts an RGB color to hex\n // Assumes r, g, and b are contained in the set [0, 255]\n // Returns a 3 or 6 character hex\n function rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join(\"\");\n }\n\n // `rgbaToHex`\n // Converts an RGBA color plus alpha transparency to hex\n // Assumes r, g, b are contained in the set [0, 255] and\n // a in [0, 1]. Returns a 4 or 8 character rgba hex\n function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join(\"\");\n }\n\n // `rgbaToArgbHex`\n // Converts an RGBA color to an ARGB Hex8 string\n // Rarely used, but required for \"toFilter()\"\n function rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n }\n\n // `equals`\n // Can be called with any tinycolor input\n tinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n };\n tinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n };\n\n // Modification Functions\n // ----------------------\n // Thanks to less.js for some of the basics here\n // \n\n function _desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n function _saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n function _greyscale(color) {\n return tinycolor(color).desaturate(100);\n }\n function _lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n function _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n }\n function _darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n\n // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n // Values outside of this range will be wrapped into this range.\n function _spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n }\n\n // Combination Functions\n // ---------------------\n // Thanks to jQuery xColor for some of the ideas behind these\n // \n\n function _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n }\n function polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n }\n function _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n }\n function _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n }\n function _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n }\n\n // Utility Functions\n // ---------------------\n\n tinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n };\n\n // Readability Functions\n // ---------------------\n // false\n // tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\n tinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n };\n\n // `mostReadable`\n // Given a base color and a list of possible foreground or background\n // colors for that base, returns the most readable color.\n // Optionally returns Black or White if the most readable color is unreadable.\n // *Example*\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\n tinycolor.mostReadable = function (baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for (var i = 0; i < colorList.length; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n };\n\n // Big List of Colors\n // ------------------\n // \n var names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n };\n\n // Make it easy to access colors via `hexNames[hex]`\n var hexNames = tinycolor.hexNames = flip(names);\n\n // Utilities\n // ---------\n\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n function flip(o) {\n var flipped = {};\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n }\n\n // Return a valid alpha value [0,1] with all invalid values being set to 1\n function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n }\n\n // Take input from [0, n] and return it as [0, 1]\n function bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n }\n\n // Force a number between 0 and 1\n function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n }\n\n // Parse a base-16 hex value into a base-10 integer\n function parseIntFromHex(val) {\n return parseInt(val, 16);\n }\n\n // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n // \n function isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n }\n\n // Check to see if string passed in is a percentage\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n }\n\n // Force a hex value to have 2 characters\n function pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n }\n\n // Replace a decimal with it's percentage value\n function convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n }\n\n // Converts a decimal to a hex value\n function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n }\n // Converts a hex value to a decimal\n function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n }\n var matchers = function () {\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n }();\n\n // `isValidCSSUnit`\n // Take in a single string / number and check to see if it looks like a CSS unit\n // (see `matchers` above for definition).\n function isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n }\n\n // `stringInputToObject`\n // Permissive string parsing. Take in a number of formats, and output an object\n // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n function stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hex8.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex6.exec(color)) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if (match = matchers.hex4.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if (match = matchers.hex3.exec(color)) {\n return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n return false;\n }\n function validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n level: \"AA\",\n size: \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\n level: level,\n size: size\n };\n }\n\n return tinycolor;\n\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/~/tinycolor2/cjs/tinycolor.js\n// module id = 14\n// module chunks = 0","import Backbone from 'backbone';\nimport { LocalStorage } from 'backbone.localstorage';\n\nimport StyleModel from '../models/StyleModel';\n\nconst StyleCollection = Backbone.Collection.extend({\n model: StyleModel,\n localStorage: new LocalStorage('histomicsui.draw.style')\n});\n\nexport default StyleCollection;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/collections/StyleCollection.js","import Backbone from 'backbone';\n\nconst StyleModel = Backbone.Model.extend({\n defaults: {\n lineWidth: 2,\n lineColor: 'rgb(0,0,0)',\n fillColor: 'rgba(0,0,0,0)'\n }\n});\n\nexport default StyleModel;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/models/StyleModel.js","module.exports = (__webpack_require__(0))(11);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/misc.js from dll-reference girder_lib\n// module id = 18\n// module chunks = 0","module.exports = (__webpack_require__(0))(12);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/jquery/girderModal.js from dll-reference girder_lib\n// module id = 19\n// module chunks = 0","module.exports = (__webpack_require__(0))(71);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/webpack/buildin/global.js from dll-reference girder_lib\n// module id = 20\n// module chunks = 0","module.exports = (__webpack_require__(0))(8);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/constants.js from dll-reference girder_lib\n// module id = 21\n// module chunks = 0","import $ from 'jquery';\n\nimport { restRequest } from '@girder/core/rest';\n\n/* Utility items for HistomicUI views\n In the future more utility classes/functions can be added for export\n*/\nclass HuiSettings {\n constructor() {\n HuiSettings._hui_settings = null;\n }\n\n static getSettings() {\n if (HuiSettings._hui_settings) {\n if (HuiSettings._hui_settings_result) {\n return HuiSettings._hui_settings_result;\n }\n return HuiSettings._hui_settings;\n } else {\n HuiSettings._hui_settings = restRequest({\n type: 'GET',\n url: 'histomicsui/settings'\n }).then((resp) => {\n HuiSettings._hui_settings = $.Deferred().resolve(resp);\n return resp;\n });\n }\n return HuiSettings._hui_settings;\n }\n\n static clearSettingsCache() {\n delete HuiSettings._hui_settings;\n }\n}\n\nexport { HuiSettings };\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/utils.js","module.exports = (__webpack_require__(0))(123);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/PluginUtils.js from dll-reference girder_lib\n// module id = 23\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib/runtime/componentNormalizer.js\n// module id = 24\n// module chunks = 0","import tinycolor from 'tinycolor2';\n\nimport View from '@girder/core/views/View';\n\nimport EditHeatmapOrGridDataContainer from '../vue/components/EditHeatmapOrGridDataContainer.vue';\n\nimport editElement from '../templates/dialogs/editElement.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation element.\n */\nvar EditElement = View.extend({\n events: {\n 'click .h-submit': 'getData',\n 'submit form': 'getData',\n 'hide.bs.modal ': 'endEdit'\n },\n\n render() {\n this.$el.html(\n editElement({\n element: this.annotationElement.toJSON()\n })\n ).girderModal(this);\n this.createVueModal();\n return this;\n },\n\n createVueModal() {\n const el = this.$('.vue-component-heatmap').get(0);\n const vm = new EditHeatmapOrGridDataContainer({\n el,\n propsData: {\n element: this.annotationElement,\n parentView: this\n }\n });\n this.vueApp = vm;\n },\n\n closeVueModal() {\n this.$el.modal('hide');\n this.vueApp.$destroy();\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * attached ElementModel (triggering a change event).\n */\n getData(evt) {\n evt.preventDefault();\n\n var data = {};\n var validation = '';\n\n var label = this.$('#h-element-label').val();\n data.label = label ? { value: label } : {};\n var group = this.$('#h-group-name').val();\n data.group = group && group !== this._defaultGroup ? group : undefined;\n\n var lineWidth = this.$('#h-element-line-width').val();\n if (lineWidth) {\n data.lineWidth = parseFloat(lineWidth);\n if (data.lineWidth < 0 || !isFinite(data.lineWidth)) {\n validation += 'Invalid line width. ';\n this.$('#h-element-line-width').parent().addClass('has-error');\n }\n }\n\n var lineColor = this.$('#h-element-line-color').val();\n if (lineColor) {\n data.lineColor = this.convertColor(lineColor);\n }\n\n var fillColor = this.$('#h-element-fill-color').val();\n if (fillColor) {\n data.fillColor = this.convertColor(fillColor);\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation)\n .removeClass('hidden');\n return;\n }\n\n this.trigger('h:editElement', {element: this.annotationElement, data: data, edited: true});\n this.annotationElement.set(data);\n this.$el.modal('hide');\n },\n\n /**\n * Trigger the draw widget's edit element event listener when the form isn't\n * submitted, to prevent later edits from being considered multiple times\n */\n endEdit() {\n this.trigger('h:editElement', {edited: false});\n },\n\n /**\n * A helper function converting a string into normalized rgb/rgba\n * color value. If no value is given, then it returns a color\n * with opacity 0.\n */\n convertColor(val) {\n if (!val) {\n return 'rgba(0,0,0,0)';\n }\n return tinycolor(val).toRgbString();\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditElement({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} annotationElement The element to edit\n * @returns {EditAnnotation} The dialog's view\n */\nfunction show(annotationElement, defaultGroup) {\n dialog.annotationElement = annotationElement;\n dialog._defaultGroup = defaultGroup || 'default';\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/editElement.js","module.exports = girder_plugin_large_image;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_large_image\"\n// module id = 26\n// module chunks = 0","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=script&lang=js&\n// module id = 27\n// module chunks = 0","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?vue&type=script&lang=js&\n// module id = 28\n// module chunks = 0","import mod from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../babel-loader/lib/index.js??ref--10-0!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\n// module id = 29\n// module chunks = 0","import $ from 'jquery';\nimport 'url-search-params-polyfill';\n\nimport View from '@girder/core/views/View';\nimport { formatSize } from '@girder/core/misc';\n\nimport editRegionOfInterest from '../templates/dialogs/editRegionOfInterest.pug';\nimport '../stylesheets/panels/zoomWidget.styl';\n\nvar EditRegionOfInterest = View.extend({\n events: {\n 'change .update-form': 'updateform'\n },\n\n initialize() {\n this._sizeCte = 1000; // Constante to find\n this._format = 'JPEG'; // JPEG is the default format\n this._compressionRatio = 0.35; // JPEG ratio\n this._magnification = 0;\n },\n\n render() {\n if (this._magnification <= 1) {\n this._magnification = 1;\n } else if (this._magnification >= this.areaElement.maxMag) {\n this._magnification = this.areaElement.maxMag;\n }\n var bounds = this.scaleBounds();\n this.$el.html(\n editRegionOfInterest({\n magnification: this._magnification,\n scaleWidth: bounds.width,\n scaleHeight: bounds.height,\n maxMag: this.areaElement.maxMag,\n numberOfPixel: this.getNumberPixels(),\n fileSize: this.getConvertFileSize()\n })\n ).girderModal(this);\n this.updateform();\n return this;\n },\n\n /**\n * Convert from zoom level to magnification.\n */\n zoomToMagnification(zoom) {\n return Math.round(parseFloat(this.areaElement.maxMag) *\n Math.pow(2, zoom - parseFloat(this.areaElement.maxZoom)) * 10) / 10;\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n magnificationToZoom(magnification) {\n return parseFloat(this.areaElement.maxZoom) -\n Math.log2(this.areaElement.maxMag / magnification);\n },\n\n /**\n * Convert from magnification to zoom level.\n */\n scaleBounds() {\n var zoom = this.magnificationToZoom(this._magnification);\n var factor = Math.pow(2, zoom - this.areaElement.maxZoom);\n var scaleWidth = Math.round(factor * this.areaElement.width);\n var scaleHeight = Math.round(factor * this.areaElement.height);\n return { 'width': scaleWidth, 'height': scaleHeight };\n },\n\n /**\n * Get the number of pixel in the region of interest\n */\n getNumberPixels() {\n var bounds = this.scaleBounds();\n var pixelNumber = bounds.width * bounds.height;\n return pixelNumber;\n },\n\n /**\n * Get the size of the file before download it for an image in 24b/px (result in Bytes)\n */\n getFileSize() {\n var fileSize = (this.getNumberPixels() * 3 + this._sizeCte) * this._compressionRatio;\n return fileSize;\n },\n\n /**\n * Get the size of the file in the appropriate unity (Bytes, MB, GB...)\n */\n getConvertFileSize() {\n var bytesNumber = this.getFileSize();\n var convertedSize = formatSize(bytesNumber);\n this.downloadDisable(bytesNumber >= Math.pow(2, 30));\n return convertedSize;\n },\n\n /**\n * Disable the Download button if SizeFile > 1GB\n */\n downloadDisable(bool) {\n this.$('#h-download-area-link').unbind('click');\n if (bool) {\n this.$('#h-download-area-link').attr('disabled', 'disabled');\n this.$('#h-msgDisable').removeClass('hidden');\n this.$('#h-download-area-link').bind('click', (ev) => ev.preventDefault());\n } else {\n this.$('#h-download-area-link').removeAttr('disabled');\n this.$('#h-msgDisable').addClass('hidden');\n this.$('#h-download-area-link').bind('click', () => { this.$el.girderModal('close'); });\n }\n },\n\n /**\n * Set the size of the file, bounds, format...\n * And download the image\n */\n updateform(evt) {\n const selectedOption = $('#h-download-image-format option:selected').text();\n switch (selectedOption) {\n case 'PNG':\n this._format = 'PNG';\n this._compressionRatio = 0.7;\n break;\n case 'TIFF':\n this._format = 'TIFF';\n this._compressionRatio = 0.8;\n break;\n case 'JPEG':\n default:\n // JPEG is the default format\n this._format = 'JPEG';\n this._compressionRatio = 0.35;\n break;\n }\n this._magnification = parseFloat($('#h-element-mag').val());\n const bounds = this.scaleBounds();\n this.$('#h-element-width').val(bounds.width);\n this.$('#h-element-height').val(bounds.height);\n this.$('#h-nb-pixel').val(this.getNumberPixels());\n this.$('#h-size-file').val(this.getConvertFileSize());\n this.$('#h-download-area-link').attr('href', this.getUrl());\n },\n\n /**\n * Get all data from the form and set the attributes of the\n * Region of Interest (triggering a change event)\n * Return the url to download the image\n */\n getUrl() {\n const left = this.areaElement.left;\n const top = this.areaElement.top;\n const right = left + this.areaElement.width;\n const bottom = top + this.areaElement.height;\n const magnification = parseFloat($('#h-element-mag').val());\n const params = {\n regionWidth: this.areaElement.width,\n regionHeight: this.areaElement.height,\n left: left,\n top: top,\n right: right,\n bottom: bottom,\n encoding: this._format,\n contentDisposition: 'attachment',\n magnification: magnification\n };\n let urlView = this.areaElement.frameAndUrl.url.replace('/zxy/{z}/{x}/{y}', '/region');\n for (let [key, value] of new URLSearchParams(urlView.replace(/[^?]*(\\?|$)/, ''))) {\n if (params[key] === undefined) {\n params[key] = value;\n }\n }\n urlView = urlView.replace(/\\?.*$/, '') + '?' + $.param(params);\n return urlView;\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new EditRegionOfInterest({\n parentView: null\n});\n\n/**\n * Show the edit dialog box. Watch for change events on the passed\n * `ElementModel` to respond to user submission of the form.\n *\n * @param {ElementModel} areaElement The element to edit\n * @returns {EditRegionOfInterest} The dialog's view\n */\nfunction show(areaElement) {\n dialog.areaElement = areaElement;\n dialog._magnification = parseFloat(areaElement.magnification);\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/editRegionOfInterest.js","import View from '@girder/core/views/View';\n\nimport metadataPlotDialog from '../templates/dialogs/metadataPlot.pug';\nimport '@girder/core/utilities/jquery/girderModal';\n\nconst MetadataPlotDialog = View.extend({\n events: {\n 'click .h-submit': '_submit'\n },\n\n initialize(settings) {\n this.plotConfig = settings.plotConfig;\n this.plotOptions = settings.plotOptions;\n },\n\n render() {\n this.$el.html(\n metadataPlotDialog({\n plotConfig: this.plotConfig,\n plotOptions: this.plotOptions\n })\n ).girderModal(this);\n return this;\n },\n\n _submit(evt) {\n evt.preventDefault();\n const configOptions = {\n folder: this.$('#h-plot-folder').is(':checked')\n };\n ['x', 'y', 'r', 'c', 's'].forEach((series) => {\n let val = this.$('#h-plot-series-' + series).val();\n if (val !== '_none_' && val !== undefined) {\n configOptions[series] = val;\n }\n });\n this.result = configOptions;\n this.$el.modal('hide');\n }\n});\n\nexport default MetadataPlotDialog;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/metadataPlot.js","import _ from 'underscore';\nimport $ from 'jquery';\nimport tinycolor from 'tinycolor2';\n\nimport { AccessType } from '@girder/core/constants';\nimport { formatDate, DATE_SECOND } from '@girder/core/misc';\nimport AccessWidget from '@girder/core/views/widgets/AccessWidget';\n// import MetadataWidget from '@girder/core/views/widgets/MetadataWidget';\nimport View from '@girder/core/views/View';\n\nimport MetadataWidget from '../panels/MetadataWidget';\nimport '../stylesheets/dialogs/saveAnnotation.styl';\nimport saveAnnotation from '../templates/dialogs/saveAnnotation.pug';\n\n/**\n * Create a modal dialog with fields to edit the properties of\n * an annotation before POSTing it to the server.\n */\nvar SaveAnnotation = View.extend({\n events: {\n 'click .h-access': 'access',\n 'click .h-cancel': 'cancel',\n 'submit form': 'save'\n },\n\n render() {\n // clean up old colorpickers when rerendering\n this.$('.h-colorpicker').colorpicker('destroy');\n\n let elementTypes = [];\n if (this.annotation.get('annotation').elements) {\n elementTypes = this.annotation.get('annotation').elements\n .map((element) => element.type)\n .filter((type, index, types) => types.indexOf(type) === index);\n }\n // should be updated when additional shape elements are supported\n const styleEditableElementTypes = ['point', 'polyline', 'rectangle', 'arrow', 'circle', 'ellipse'];\n const annotationHasEditableElements = _.filter(elementTypes, (type) => styleEditableElementTypes.includes(type)).length > 0;\n const showStyleEditor = this.annotation.get('annotation').elements && !this.annotation._pageElements && annotationHasEditableElements;\n\n const defaultStyles = {};\n\n if (showStyleEditor) {\n const elements = this.annotation.get('annotation').elements;\n const firstElement = elements[0];\n if (elements.every((d) => d.lineWidth === firstElement.lineWidth)) {\n defaultStyles.lineWidth = firstElement.lineWidth;\n }\n if (elements.every((d) => d.lineColor === firstElement.lineColor)) {\n defaultStyles.lineColor = firstElement.lineColor;\n }\n if (elements.every((d) => d.fillColor === firstElement.fillColor)) {\n defaultStyles.fillColor = firstElement.fillColor;\n }\n }\n\n this.$el.html(\n saveAnnotation({\n title: this.options.title,\n hasAdmin: this.annotation.get('_accessLevel') >= AccessType.ADMIN,\n annotation: this.annotation.toJSON().annotation,\n model: this.annotation,\n formatDate: formatDate,\n DATE_SECOND: DATE_SECOND,\n showStyleEditor,\n defaultStyles\n })\n ).girderModal(this);\n this.$('.h-colorpicker').colorpicker();\n\n if (this.annotation.id) {\n if (!this.annotation.meta) {\n this.annotation._meta = Object.assign({}, (this.annotation.get('annotation') || {}).attributes || {});\n }\n // copy the metadata to a place that is expected for the widget\n if (!this.metadataWidget) {\n this.metadataWidget = new MetadataWidget({\n item: this.annotation,\n parentView: this,\n fieldName: '_meta',\n accessLevel: this.annotation.get('_accessLevel'),\n panel: false,\n noSave: true\n });\n }\n this.metadataWidget.setItem(this.annotation);\n this.metadataWidget.accessLevel = this.annotation.get('_accessLevel');\n this.metadataWidget.setElement(this.$('.hui-annotation-metadata')).render();\n }\n\n this.$el.find('.modal-dialog').addClass('hui-save-annotation-dialog');\n return this;\n },\n\n access(evt) {\n evt.preventDefault();\n this.annotation.off('g:accessListSaved');\n new AccessWidget({\n el: $('#g-dialog-container'),\n type: 'annotation',\n hideRecurseOption: true,\n parentView: this,\n model: this.annotation,\n noAccessFlag: true\n }).on('g:accessListSaved', () => {\n this.annotation.fetch();\n });\n },\n\n cancel(evt) {\n if (this.annotation) {\n delete this.annotation._meta;\n }\n evt.preventDefault();\n this.$el.modal('hide');\n },\n\n /**\n * Respond to form submission. Triggers a `g:save` event on the\n * AnnotationModel.\n */\n save(evt) {\n evt.preventDefault();\n\n let validation = '';\n\n if (!this.$('#h-annotation-name').val()) {\n this.$('#h-annotation-name').parent().addClass('has-error');\n validation += 'Please enter a name. ';\n }\n\n const setFillColor = !!this.$('#h-annotation-fill-color').val();\n const fillColor = tinycolor(this.$('#h-annotation-fill-color').val()).toRgbString();\n const setLineColor = !!this.$('#h-annotation-line-color').val();\n const lineColor = tinycolor(this.$('#h-annotation-line-color').val()).toRgbString();\n const setLineWidth = !!this.$('#h-annotation-line-width').val();\n const lineWidth = parseFloat(this.$('#h-annotation-line-width').val());\n\n if (setLineWidth && (lineWidth < 0 || !isFinite(lineWidth))) {\n validation += 'Invalid line width. ';\n this.$('#h-annotation-line-width').parent().addClass('has-error');\n }\n\n if (validation) {\n this.$('.g-validation-failed-message').text(validation.trim())\n .removeClass('hidden');\n return;\n }\n\n // all valid\n\n if (setFillColor || setLineColor || setLineWidth) {\n this.annotation.elements().each((element) => { /* eslint-disable backbone/no-silent */\n if (setFillColor) {\n element.set('fillColor', fillColor, {silent: true});\n }\n if (setLineColor) {\n element.set('lineColor', lineColor, {silent: true});\n }\n if (setLineWidth) {\n element.set('lineWidth', lineWidth, {silent: true});\n }\n });\n const annotationData = _.extend({}, this.annotation.get('annotation'));\n annotationData.elements = this.annotation.elements().toJSON();\n this.annotation.set('annotation', annotationData);\n }\n\n _.extend(this.annotation.get('annotation'), {\n name: this.$('#h-annotation-name').val(),\n description: this.$('#h-annotation-description').val()\n });\n this.annotation.attributes.annotation.attributes = this.annotation._meta;\n delete this.annotation._meta;\n this.trigger('g:submit');\n this.$el.modal('hide');\n },\n\n destroy() {\n this.$('.h-colorpicker').colorpicker('destroy');\n SaveAnnotation.prototype.destroy.call(this);\n }\n});\n\n/**\n * Create a singleton instance of this widget that will be rendered\n * when `show` is called.\n */\nvar dialog = new SaveAnnotation({\n parentView: null\n});\n\n/**\n * Show the save dialog box. Watch for the `g:submit` event on the\n * view to respond to user submission of the form.\n *\n * @param {AnnotationModel} annotationElement The element to edit\n * @returns {SaveAnnotation} The dialog's view\n */\nfunction show(annotation, options) {\n _.defaults(options, { title: 'Create annotation' });\n delete annotation._meta;\n dialog.annotation = annotation;\n dialog.options = options;\n dialog.setElement('#g-dialog-container').render();\n return dialog;\n}\n\nexport default show;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/dialogs/saveAnnotation.js","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport { restRequest } from '@girder/core/rest';\nimport { AccessType } from '@girder/core/constants';\nimport eventStream from '@girder/core/utilities/EventStream';\nimport { getCurrentUser } from '@girder/core/auth';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport {events as girderEvents} from '@girder/core';\n\nimport events from '../events';\nimport showSaveAnnotationDialog from '../dialogs/saveAnnotation';\n\nimport annotationSelectorWidget from '../templates/panels/annotationSelector.pug';\nimport '../stylesheets/panels/annotationSelector.styl';\n\n// Too many elements in the draw panel will crash the browser,\n// so we only allow editing of annnotations with less than this\n// many elements.\nconst MAX_ELEMENTS_LIST_LENGTH = 5000;\n\n/**\n * Create a panel controlling the visibility of annotations\n * on the image view.\n */\nvar AnnotationSelector = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-annotation-name': '_editAnnotation',\n 'click .h-toggle-annotation': 'toggleAnnotation',\n 'click .h-delete-annotation': 'deleteAnnotation',\n 'click .h-create-annotation': 'createAnnotation',\n 'click .h-edit-annotation-metadata': 'editAnnotationMetadata',\n 'click .h-show-all-annotations': 'showAllAnnotations',\n 'click .h-hide-all-annotations': 'hideAllAnnotations',\n 'mouseenter .h-annotation': '_highlightAnnotation',\n 'mouseleave .h-annotation': '_unhighlightAnnotation',\n 'change #h-toggle-labels': 'toggleLabels',\n 'change #h-toggle-interactive': 'toggleInteractiveMode',\n 'input #h-annotation-opacity': '_changeGlobalOpacity',\n 'input #h-annotation-fill-opacity': '_changeGlobalFillOpacity',\n 'click .h-annotation-select-by-region': 'selectAnnotationByRegion',\n 'click .h-annotation-group-name': '_toggleExpandGroup'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {AnnotationCollection} settings.collection\n * The collection representing the annotations attached\n * to the current image.\n */\n initialize(settings = {}) {\n this._expandedGroups = new Set();\n this._opacity = settings.opacity || 0.9;\n this._fillOpacity = settings.fillOpacity || 1.0;\n this._showAllAnnotationsState = false;\n this.listenTo(this.collection, 'sync remove update reset change:displayed change:loading', this._debounceRender);\n this.listenTo(this.collection, 'change:highlight', this._changeAnnotationHighlight);\n this.listenTo(eventStream, 'g:event.job_status', _.debounce(this._onJobUpdate, 500));\n this.listenTo(eventStream, 'g:eventStream.start', this._refreshAnnotations);\n this.listenTo(this.collection, 'change:annotation change:groups', this._saveAnnotation);\n this.listenTo(girderEvents, 'g:login', () => {\n this.collection.reset();\n this._parentId = undefined;\n });\n },\n\n render() {\n this._debounceRenderRequest = null;\n if (this.parentItem && this.parentItem.get('folderId')) {\n const annotationGroups = this._getAnnotationGroups();\n if (!this.viewer) {\n this.$el.empty();\n return;\n }\n this.$el.html(annotationSelectorWidget({\n id: 'annotation-panel-container',\n title: 'Annotations',\n activeAnnotation: this._activeAnnotation ? this._activeAnnotation.id : '',\n showLabels: this._showLabels,\n user: getCurrentUser() || {},\n creationAccess: this.creationAccess || this._writeAccess >= AccessType.WRITE,\n writeAccessLevel: AccessType.WRITE,\n writeAccess: this._writeAccess,\n opacity: this._opacity,\n fillOpacity: this._fillOpacity,\n interactiveMode: this._interactiveMode,\n expandedGroups: this._expandedGroups,\n annotationGroups,\n annotationAccess: this._annotationAccess,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n _\n }));\n this._changeGlobalOpacity();\n this._changeGlobalFillOpacity();\n if (this._showAllAnnotationsState) {\n this.showAllAnnotations();\n }\n if (this._annotationAccess === undefined) {\n this._setCreationAccess(this, this.parentItem.get('folderId'));\n }\n }\n return this;\n },\n\n _debounceRender() {\n if (!this._debounceRenderRequest) {\n this._debounceRenderRequest = window.requestAnimationFrame(() => { this.render(); });\n }\n return this;\n },\n\n /**\n * Set the ItemModel associated with the annotation collection.\n * As a side effect, this resets the AnnotationCollection and\n * fetches annotations from the server associated with the\n * item.\n *\n * @param {ItemModel} item\n */\n setItem(item) {\n if (this._parentId === item.id) {\n return;\n }\n this.parentItem = item;\n this._parentId = item.id;\n delete this._setCreationRequest;\n delete this._annotationAccess;\n\n if (!this._parentId) {\n this.collection.reset();\n this._debounceRender();\n return;\n }\n this.collection.offset = 0;\n this.collection.reset();\n this.collection.fetch({itemId: this._parentId});\n\n return this;\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n return this;\n },\n\n /**\n * Toggle the rendering of a specific annotation. Sets the `displayed`\n * attribute of the `AnnotationModel`.\n */\n toggleAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n var model = this.collection.get(id);\n\n // any manual change in the display state will reset the \"forced display\" behavior\n this._showAllAnnotationsState = false;\n model.set('displayed', !model.get('displayed'));\n if (!model.get('displayed')) {\n model.unset('highlight');\n }\n },\n\n /**\n * Delete an annotation from the server.\n */\n deleteAnnotation(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n\n if (model) {\n const name = (model.get('annotation') || {}).name || 'unnamed annotation';\n events.trigger('h:confirmDialog', {\n title: 'Warning',\n message: `Are you sure you want to delete ${name}?`,\n submitButton: 'Delete',\n onSubmit: () => {\n this.trigger('h:deleteAnnotation', model);\n model.unset('displayed');\n model.unset('highlight');\n this.collection.remove(model);\n if (model._saving) {\n model._saveAgain = 'delete';\n } else {\n model.destroy();\n }\n }\n });\n }\n },\n\n editAnnotationMetadata(evt) {\n const id = $(evt.currentTarget).parents('.h-annotation').data('id');\n const model = this.collection.get(id);\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Edit annotation'}),\n 'g:submit',\n () => {\n model.save().done(() => {\n if (model.get('displayed')) {\n this.trigger('h:redraw', model);\n }\n });\n }\n );\n },\n\n _setCreationAccess(root, folderId) {\n if (!this._setCreationRequest) {\n this._setCreationRequest = restRequest({\n type: 'GET',\n url: 'annotation/folder/' + folderId + '/create',\n error: null\n });\n }\n this._setCreationRequest.done((createResp) => {\n root.creationAccess = createResp;\n root.$('.h-create-annotation').toggleClass('hidden', !createResp);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = true;\n }\n }).fail(() => {\n root.$('.h-create-annotation').toggleClass('hidden', true);\n if (this.parentItem && this.parentItem.get('folderId') === folderId) {\n this._annotationAccess = false;\n }\n });\n },\n\n _onJobUpdate(evt) {\n if (this.parentItem && evt.data.status > 2) {\n this._refreshAnnotations();\n }\n },\n\n _refreshAnnotations() {\n if (!this.parentItem || !this.parentItem.id || !this.viewer) {\n return;\n }\n // if any annotations are saving, defer this\n if (!this.viewer._saving) {\n this.viewer._saving = {};\n }\n delete this.viewer._saving.refresh;\n if (Object.keys(this.viewer._saving).length) {\n this.viewer._saving.refresh = true;\n return;\n }\n var models = this.collection.indexBy(_.property('id'));\n this.collection.offset = 0;\n this.collection.fetch({itemId: this.parentItem.id}).then(() => {\n var activeId = (this._activeAnnotation || {}).id;\n this.collection.each((model) => {\n if (!_.has(models, model.id)) {\n model.set('displayed', true);\n } else {\n if (models[model.id].get('displayed')) {\n if (model.get('_version') !== models[model.id].get('_version')) {\n model.refresh(true);\n model.set('displayed', true);\n } else {\n model._centroids = models[model.id]._centroids;\n }\n }\n // set without triggering a change; a change reloads and\n // rerenders, which is only done if it has changed (above)\n model.attributes.displayed = models[model.id].get('displayed');\n }\n });\n this._debounceRender();\n this._activeAnnotation = null;\n if (activeId) {\n this._setActiveAnnotation(this.collection.get(activeId));\n }\n // remove annotations that are displayed but have been deleted\n Object.keys(models).forEach((id) => {\n if (!this.collection.get(id) && models[id].get('displayed')) {\n this.viewer.removeAnnotation(models[id]);\n }\n });\n return null;\n });\n },\n\n toggleLabels(evt) {\n this._showLabels = !this._showLabels;\n this.trigger('h:toggleLabels', {\n show: this._showLabels\n });\n },\n\n toggleInteractiveMode(evt) {\n this._interactiveMode = !this._interactiveMode;\n this.trigger('h:toggleInteractiveMode', this._interactiveMode);\n },\n\n interactiveMode() {\n return this._interactiveMode;\n },\n\n _editAnnotation(evt) {\n var id = $(evt.currentTarget).parents('.h-annotation').data('id');\n this.editAnnotation(this.collection.get(id));\n },\n\n editAnnotation(model) {\n // deselect the annotation if it is already selected\n if (this._activeAnnotation && model && this._activeAnnotation.id === model.id) {\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n this._debounceRender();\n return;\n }\n\n if (!this._writeAccess(model)) {\n events.trigger('g:alert', {\n text: 'You do not have write access to this annotation.',\n type: 'warning',\n timeout: 2500,\n icon: 'info'\n });\n return;\n }\n this._setActiveAnnotation(model);\n },\n\n _setActiveAnnotation(model) {\n this._activeAnnotation = model;\n\n if (!((model.get('annotation') || {}).elements || []).length) {\n // Only load the annotation if it hasn't already been loaded.\n // Technically, an annotation *could* have 0 elements, in which\n // case loading it again should be quick. There doesn't seem\n // to be any other way to detect an unloaded annotation.\n model.set('loading', true);\n model.fetch().done(() => {\n this._setActiveAnnotationWithoutLoad(model);\n }).always(() => {\n model.unset('loading');\n });\n } else {\n this._setActiveAnnotationWithoutLoad(model);\n }\n },\n\n _setActiveAnnotationWithoutLoad(model) {\n const numElements = ((model.get('annotation') || {}).elements || []).length;\n if (this._activeAnnotation && this._activeAnnotation.id !== model.id) {\n return;\n }\n model.set('displayed', true);\n\n if (numElements > MAX_ELEMENTS_LIST_LENGTH || model._pageElements) {\n events.trigger('g:alert', {\n text: 'This annotation has too many elements to be edited.',\n type: 'warning',\n timeout: 5000,\n icon: 'info'\n });\n this._activeAnnotation = null;\n this.trigger('h:editAnnotation', null);\n } else {\n this.trigger('h:editAnnotation', model);\n }\n },\n\n createAnnotation(evt) {\n var model = new AnnotationModel({\n itemId: this.parentItem.id,\n annotation: {}\n });\n this.listenToOnce(\n showSaveAnnotationDialog(model, {title: 'Create annotation'}),\n 'g:submit',\n () => {\n model.save().done(() => {\n model.set('displayed', true);\n this.collection.add(model);\n this.trigger('h:editAnnotation', model);\n this._activeAnnotation = model;\n });\n }\n );\n },\n\n _saveAnnotation(annotation) {\n if (!this.viewer._saving) {\n this.viewer._saving = {};\n }\n if (!annotation._saving && !annotation._inFetch && !annotation.get('loading')) {\n this.viewer._saving[annotation.id] = true;\n this.$el.addClass('saving');\n let lastSaveAgain = annotation._saveAgain;\n annotation._saving = true;\n annotation._saveAgain = false;\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n annotation.save().fail(() => {\n /* If we fail to save (possible because the server didn't\n * respond), try again, gradually backing off the frequency\n * of retries. */\n annotation._saveAgain = Math.min(lastSaveAgain ? lastSaveAgain * 2 : 5, 300);\n }).always(() => {\n delete this.viewer._saving[annotation.id];\n annotation._saving = false;\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n if (annotation._saveAgain === 'delete') {\n annotation.destroy();\n } else if (!annotation._saveAgain) {\n this._saveAnnotation(annotation);\n } else {\n this.viewer._saving[annotation.id] = true;\n window.setTimeout(() => {\n if (annotation._saveAgain !== undefined && annotation._saveAgain !== false) {\n this._saveAnnotation(annotation);\n }\n }, annotation._saveAgain * 1000);\n }\n }\n if (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(this.viewer._saving).length || (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh)) {\n this.$el.removeClass('saving');\n }\n });\n } else if (!annotation._inFetch && !annotation.get('loading')) {\n /* if we are saving, flag that we need to save again after we\n * finish as there are newer changes. */\n if (annotation._saveAgain !== 'delete') {\n annotation._saveAgain = 0;\n }\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n } else {\n annotation._saveAgain = false;\n delete this.viewer._saving[annotation.id];\n if (annotation.elements().models.filter((model) => model.get('type') === 'pixelmap').length === 0) {\n this.trigger('h:redraw', annotation);\n }\n if (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh) {\n this._refreshAnnotations();\n }\n if (!Object.keys(this.viewer._saving).length || (Object.keys(this.viewer._saving).length === 1 && this.viewer._saving.refresh)) {\n this.$el.removeClass('saving');\n }\n }\n },\n\n _writeAccess(annotation) {\n return annotation.get('_accessLevel') >= AccessType.ADMIN;\n },\n\n showAllAnnotations() {\n this._showAllAnnotationsState = true;\n this.collection.each((model) => {\n model.set('displayed', true);\n });\n },\n\n hideAllAnnotations() {\n this._showAllAnnotationsState = false;\n this.collection.each((model) => {\n model.set('displayed', false);\n });\n },\n\n selectAnnotationByRegion() {\n const btn = this.$('.h-annotation-select-by-region');\n // listen to escape key\n $(document).on('keydown.h-annotation-select-by-region', (evt) => {\n if (evt.keyCode === 27) {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n this.parentView.trigger('h:selectElementsByRegionCancel');\n }\n });\n this.listenToOnce(this.parentView, 'h:selectedElementsByRegion', () => {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n });\n\n if (!btn.hasClass('active')) {\n btn.addClass('active');\n this.parentView.trigger('h:selectElementsByRegion');\n } else {\n btn.removeClass('active');\n $(document).off('keydown.h-annotation-select-by-region');\n this.parentView.trigger('h:selectElementsByRegionCancel');\n }\n },\n\n _highlightAnnotation(evt) {\n const id = $(evt.currentTarget).data('id');\n const model = this.collection.get(id);\n if (model.get('displayed')) {\n this.parentView.trigger('h:highlightAnnotation', id);\n }\n },\n\n _unhighlightAnnotation() {\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _changeAnnotationHighlight(model) {\n this.$(`.h-annotation[data-id=\"${model.id}\"]`).toggleClass('h-highlight-annotation', model.get('highlighted'));\n },\n\n _changeGlobalOpacity() {\n this._opacity = this.$('#h-annotation-opacity').val();\n this.$('.h-annotation-opacity-container')\n .attr('title', `Annotation total opacity ${(this._opacity * 100).toFixed()}%`);\n this.trigger('h:annotationOpacity', this._opacity);\n },\n\n _changeGlobalFillOpacity() {\n this._fillOpacity = this.$('#h-annotation-fill-opacity').val();\n this.$('.h-annotation-fill-opacity-container')\n .attr('title', `Annotation fill opacity ${(this._fillOpacity * 100).toFixed()}%`);\n this.trigger('h:annotationFillOpacity', this._fillOpacity);\n },\n\n _toggleExpandGroup(evt) {\n const name = $(evt.currentTarget).parent().data('groupName');\n if (this._expandedGroups.has(name)) {\n this._expandedGroups.delete(name);\n } else {\n this._expandedGroups.add(name);\n }\n this._debounceRender();\n },\n\n _getAnnotationGroups() {\n // Annotations without elements don't have any groups, so we inject the null group\n // so that they are displayed in the panel.\n this.collection.each((a) => {\n const groups = a.get('groups') || [];\n if (!groups.length) {\n groups.push(null);\n }\n });\n const groupObject = {};\n const groups = _.union(...this.collection.map((a) => a.get('groups')));\n _.each(groups, (group) => {\n const groupList = this.collection.filter(\n (a) => _.contains(a.get('groups'), group));\n\n if (group === null) {\n group = 'Other';\n }\n groupObject[group] = _.sortBy(groupList, (a) => a.get('created'));\n });\n this._triggerGroupCountChange(groupObject);\n return groupObject;\n },\n\n _triggerGroupCountChange(groups) {\n const groupCount = {};\n _.each(groups, (annotations, name) => {\n if (name !== 'Other') {\n groupCount[name] = annotations.length;\n } else {\n groupCount[this.parentView._defaultGroup || 'default'] = annotations.length;\n }\n });\n this.trigger('h:groupCount', groupCount);\n }\n});\n\nexport default AnnotationSelector;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/AnnotationSelector.js","/* globals geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport events from '@girder/core/events';\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport { getCurrentUser } from '@girder/core/auth';\n\nimport convertAnnotation from '@girder/large_image_annotation/annotations/geojs/convert';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\n\nimport StyleCollection from '../collections/StyleCollection';\nimport StyleModel from '../models/StyleModel';\nimport editElement from '../dialogs/editElement';\nimport editStyleGroups from '../dialogs/editStyleGroups';\nimport drawWidget from '../templates/panels/drawWidget.pug';\nimport drawWidgetElement from '../templates/panels/drawWidgetElement.pug';\nimport '../stylesheets/panels/drawWidget.styl';\n\n/**\n * Create a panel with controls to draw and edit\n * annotation elements.\n */\nvar DrawWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .h-edit-element': 'editElement',\n 'click .h-view-element': 'viewElement',\n 'click .h-delete-element': 'deleteElement',\n 'click .h-draw': 'drawElement',\n 'change .h-style-group': '_setToSelectedStyleGroup',\n 'change .h-brush-shape,.h-brush-size,.h-brush-screen': '_changeBrush',\n 'change .h-fixed-shape,.h-fixed-height,.h-fixed-width': '_changeShapeConstraint',\n 'click .h-configure-style-group': '_styleGroupEditor',\n 'mouseenter .h-element': '_highlightElement',\n 'mouseleave .h-element': '_unhighlightElement',\n 'click .h-dropdown-title': '_dropdownControlClick'\n }),\n\n /**\n * Create the panel.\n *\n * @param {object} settings\n * @param {ItemModel} settings.image\n * The associate large_image \"item\"\n */\n initialize(settings) {\n this.image = settings.image;\n this.annotation = settings.annotation;\n this.collection = this.annotation.elements();\n this.newElementDisplayIdStart = this.collection.length;\n this.viewer = settings.viewer;\n this.setViewer(settings.viewer);\n this.setAnnotationSelector(settings.annotationSelector);\n this._drawingType = settings.drawingType || null;\n\n this._localId = (getCurrentUser() || {}).id || 'local';\n this._editOptions = this._getEditOptions()[this._localId] || {};\n this._verifyEditOptions(this._editOptions, false);\n\n this._highlighted = {};\n this._groups = new StyleCollection();\n this._style = new StyleModel({id: this.parentView._defaultGroup});\n this.listenTo(this._groups, 'add change', this._handleStyleGroupsUpdate);\n this.listenTo(this._groups, 'remove', this.render);\n this.listenTo(this.collection, 'add remove reset', this._recalculateGroupAggregation);\n this.listenTo(this.collection, 'change update reset', this.render);\n this._groups.fetch().done(() => {\n // ensure the default style exists\n if (this._groups.has(this.parentView._defaultGroup)) {\n this._style.set(this._groups.get(this.parentView._defaultGroup).toJSON());\n } else {\n this._groups.add(this._style.toJSON());\n this._groups.get(this._style.id).save();\n }\n if (this._editOptions.style && this._groups.get(this._editOptions.style)) {\n this._setStyleGroup(this._groups.get(this._editOptions.style).toJSON());\n }\n });\n this.on('h:mouseon', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = true;\n this.$(`.h-element[data-id=\"${model.id}\"]`).addClass('h-highlight-element');\n }\n });\n this.on('h:mouseoff', (model) => {\n if (model && model.id) {\n this._highlighted[model.id] = false;\n this.$(`.h-element[data-id=\"${model.id}\"]`).removeClass('h-highlight-element');\n }\n });\n },\n\n render(updatedElement) {\n if (!this.viewer) {\n this.$el.empty();\n delete this._skipRenderHTML;\n return;\n }\n const name = (this.annotation.get('annotation') || {}).name || 'Untitled';\n if (!updatedElement || (updatedElement.attributes && updatedElement.get('type') !== 'pixelmap')) {\n this.trigger('h:redraw', this.annotation);\n }\n if (this._skipRenderHTML) {\n delete this._skipRenderHTML;\n } else {\n this.$el.html(drawWidget({\n title: 'Draw',\n elements: this.collection.models,\n groups: this._groups,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n name,\n opts: this._editOptions,\n drawingType: this._drawingType,\n collapsed: this.$('.s-panel-content.collapse').length && !this.$('.s-panel-content').hasClass('in'),\n firstRender: true,\n displayIdStart: 0\n }));\n this.$('.h-dropdown-content').collapse({toggle: false});\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this.$('.h-group-count-option').length > 0) {\n this.$('.h-group-count-options').append(this.$('.h-group-count-option'));\n } else {\n this.$('.h-group-count').hide();\n }\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (let element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n this.drawElement(undefined, this._drawingType);\n }\n if (this.viewer.annotationLayer && this.viewer.annotationLayer._boundHUIModeChange !== this) {\n this.viewer.annotationLayer._boundHUIModeChange = this;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.mode);\n this.viewer.annotationLayer.geoOn(geo.event.annotation.mode, (event) => {\n if (event.mode === this.viewer.annotationLayer.modes.edit || event.oldmode === this.viewer.annotationLayer.modes.edit) {\n return;\n }\n this.$('button.h-draw').removeClass('active');\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n if (event.mode !== this._drawingType && this._drawingType) {\n /* This makes the draw modes stay on until toggled off.\n * To turn off drawing after each annotation, add\n * this._drawingType = null;\n */\n this.drawElement(undefined, this._drawingType);\n }\n });\n }\n this._updateConstraintValueInputs();\n return this;\n },\n\n /**\n * When a region should be drawn that isn't caused by a drawing button,\n * toggle off the drawing mode.\n *\n * @param {event} Girder event that triggered drawing a region.\n */\n _widgetDrawRegion(evt) {\n this._drawingType = null;\n this.$('button.h-draw').removeClass('active');\n },\n\n /**\n * Set the image \"viewer\" instance. This should be a subclass\n * of `large_image/imageViewerWidget` that is capable of rendering\n * annotations.\n */\n setViewer(viewer) {\n this.viewer = viewer;\n // make sure our listeners are in the correct order.\n this.stopListening(events, 's:widgetDrawRegion', this._widgetDrawRegion);\n if (viewer) {\n this.listenTo(events, 's:widgetDrawRegion', this._widgetDrawRegion);\n viewer.stopListening(events, 's:widgetDrawRegion', viewer.drawRegion);\n viewer.listenTo(events, 's:widgetDrawRegion', viewer.drawRegion);\n }\n return this;\n },\n\n /**\n * Set the image 'annotationSelector' instance.\n */\n setAnnotationSelector(annotationSelector) {\n this.annotationSelector = annotationSelector;\n return this;\n },\n\n /**\n * Respond to a click on the \"edit\" button by rendering\n * the EditAnnotation modal dialog.\n */\n editElement(evt) {\n var origGroup = this.collection.get(this._getId(evt)).attributes.group;\n var dialog = editElement(this.collection.get(this._getId(evt)));\n this.listenToOnce(dialog, 'h:editElement', (obj) => {\n if (obj.edited) {\n // update the html immediately instead of rerendering it\n let id = obj.element.id,\n label = (obj.data.label || {}).value,\n elemType = obj.element.get('type'),\n group = obj.data.group;\n let newLabel = '';\n const labelElement = this.$(`.h-element[data-id=\"${id}\"] .h-element-label`);\n const oldLabel = labelElement.text().split(' ');\n if (label) {\n newLabel = label;\n } else if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n newLabel = `${group || this.parentView._defaultGroup} ${elemType} ${parseInt(oldLabel[oldLabel.length - 1] || '')}`;\n } else {\n newLabel = oldLabel;\n }\n this.$(`.h-element[data-id=\"${id}\"] .h-element-label`).text(newLabel).attr('title', label);\n if (origGroup !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(elemType)) {\n this.updateCount(origGroup || this.parentView._defaultGroup, -1);\n this.updateCount(group || this.parentView._defaultGroup, 1);\n }\n }\n this._skipRenderHTML = true;\n });\n },\n\n /**\n * Respond to a click on the \"view\" button by changing the\n * viewer location and zoom level to focus on one annotation\n */\n viewElement(evt) {\n const annot = this.collection._byId[$(evt.target).parent().attr('data-id')];\n let points;\n let pointAnnot = false;\n switch (annot.get('type')) {\n case 'point':\n points = [annot.get('center')];\n pointAnnot = true;\n break;\n case 'polyline':\n points = annot.get('points');\n break;\n case 'rectangle':\n points = convertRectangle(annot.attributes).coordinates[0];\n break;\n case 'ellipse':\n points = convertEllipse(annot.attributes).coordinates[0];\n break;\n case 'circle':\n points = convertCircle(annot.attributes).coordinates[0];\n break;\n }\n const xCoords = points.map((point) => point[0]);\n const yCoords = points.map((point) => point[1]);\n const bounds = {\n left: Math.min(...xCoords),\n top: Math.min(...yCoords),\n right: Math.max(...xCoords),\n bottom: Math.max(...yCoords)\n };\n const map = this.parentView.viewer;\n const originalZoomRange = map.zoomRange();\n map.zoomRange({\n min: Number.NEGATIVE_INFINITY,\n max: Number.POSITIVE_INFINITY\n });\n const newView = pointAnnot\n ? {\n center: {\n x: bounds.left,\n y: bounds.top\n },\n zoom: false\n }\n : map.zoomAndCenterFromBounds(bounds, map.rotation());\n map.zoomRange({\n min: originalZoomRange.origMin,\n max: originalZoomRange.max\n });\n if (Math.abs(newView.zoom - 1.5 - map.zoom()) <= 0.5 && map.zoom() < newView.zoom) {\n newView.zoom = false;\n }\n const distance = ((newView.center.x - map.center().x) ** 2 + (newView.center.y - map.center().y) ** 2) ** 0.5;\n map.transition({\n center: newView.center,\n zoom: newView.zoom === false ? map.zoom() : newView.zoom - 1.5,\n duration: Math.min(1000, Math.max(100, distance)),\n endClamp: false,\n interp: distance < 500 ? undefined : window.d3.interpolateZoom,\n ease: window.d3.easeExpInOut\n });\n this._skipRenderHTML = true;\n },\n\n /**\n * Respond to a click on the \"delete\" button by removing\n * the element from the element collection.\n */\n deleteElement(evt, id, opts) {\n if (evt) {\n id = this._getId(evt);\n }\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(this.collection.get(id).attributes.type)) {\n this.updateCount(this.collection.get(id).attributes.group || this.parentView._defaultGroup, -1);\n } else if (this.collection.get(id).attributes.type === 'pixelmap') {\n this.countPixelmap(this.collection.get(id), -1);\n }\n this.$(`.h-element[data-id=\"${id}\"]`).remove();\n this._skipRenderHTML = true;\n this.collection.remove(id, opts);\n this.newElementDisplayIdStart = +(this.$el.find('.h-element>span.h-element-label[display_id]').last().attr('display_id') || 0);\n },\n\n /**\n * Add a list of elements, updating the element container efficiently.\n *\n * @params {object[]} elements The list of elements to add to the\n * collection.\n */\n addElements(elements) {\n this._skipRenderHTML = true;\n elements = this.collection.add(elements);\n this.$el.find('.h-elements-container').append(\n drawWidgetElement({\n elements: elements,\n style: this._style.id,\n defaultGroup: this.parentView._defaultGroup,\n highlighted: this._highlighted,\n firstRender: false,\n updateCount: this.updateCount,\n displayIdStart: this.newElementDisplayIdStart\n })\n );\n this.newElementDisplayIdStart += elements.length;\n if (this.$('.h-group-count-option.pixelmap').length > 0) {\n this.$('.h-group-count-option.pixelmap').remove();\n for (let element of this.collection.models) {\n if (element.attributes.type === 'pixelmap') {\n this.countPixelmap(element, 1);\n }\n }\n }\n },\n\n /**\n * Specify how precise ellipses are when converted to polygons.\n */\n /* eslint-disable underscore/prefer-constant */\n _pixelTolerance() {\n /* null : use default,1/10 pixel at max map zoom */\n // return null;\n /* number : pixel tolerance at current screen resolution */\n return 0.25;\n /* number / unitsPerPixel(zoom) : pixel tolerance on base image */\n // return 0.5 / this.viewer.viewer.unitsPerPixel(this.viewer.viewer.zoom();\n },\n /* eslint-enable underscore/prefer-constant */\n\n /**\n * Apply a boolean operation to the existign polygons.\n *\n * @param {geo.annotation[]} annotations The list of specified geojs\n * annotations.\n * @param {object} opts An object with the current boolean operation.\n * @returns {boolean} true if the operation was handled.\n */\n _applyBooleanOp(annotations, evtOpts) {\n if (!evtOpts.asPolygonList && (annotations.length !== 1 || !annotations[0].toPolygonList)) {\n return false;\n }\n const op = evtOpts.currentBooleanOperation;\n const existing = this.viewer._annotations[this.annotation.id].features.filter((f) => ['polygon', 'marker'].indexOf(f.featureType) >= 0);\n let polylist = evtOpts.asPolygonList ? annotations : annotations[0].toPolygonList({pixelTolerance: this._pixelTolerance()});\n if (!existing.length && polylist.length < 2) {\n return false;\n }\n const searchPoly = [];\n polylist.forEach((poly) => poly[0].forEach((pt) => searchPoly.push({x: pt[0], y: pt[1]})));\n const near = existing.map((f) => f.polygonSearch(\n searchPoly,\n {partial: true}, null));\n if (!near.some((n) => n.found.length) && polylist.length < 2) {\n return false;\n }\n const oldids = {};\n const geojson = {type: 'FeatureCollection', features: []};\n near.forEach((n) => n.found.forEach((element) => {\n // filter to match current style group\n if (element.properties.element && element.properties.element.group !== this._style.get('group')) {\n return;\n }\n element.properties.annotationId = element.properties.annotation;\n geojson.features.push(element);\n oldids[element.id] = true;\n }));\n if (!geojson.features.length && polylist.length < 2) {\n return false;\n }\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n this.viewer.annotationLayer.geojson(geojson);\n const opts = {\n correspond: {},\n keepAnnotations: 'exact',\n style: this.viewer.annotationLayer,\n pixelTolerance: this._pixelTolerance()\n };\n geo.util.polyops[op](this.viewer.annotationLayer, polylist, opts);\n const newAnnot = this.viewer.annotationLayer.annotations();\n\n this.viewer.annotationLayer.removeAllAnnotations(undefined, false);\n const elements = newAnnot.map((annot) => {\n const result = convertAnnotation(annot);\n if (!result.id) {\n result.id = this.viewer._guid();\n }\n return result;\n }).filter((annot) => !annot.points || annot.points.length);\n Object.keys(oldids).forEach((id) => this.deleteElement(undefined, id, {silent: elements.length}));\n this.addElements(\n _.map(elements, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n return true;\n },\n\n /**\n * When the brish is set to a specific screen size, adjust the size on zoom\n * events.\n */\n _brushPan() {\n const zoom = this.viewer.viewer.zoom();\n if (zoom !== this._brushZoom) {\n this._brushZoom = zoom;\n let size = parseFloat(this._editOptions.brush_size) || 50;\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n this._setBrushCoordinates(this.viewer.annotationLayer.annotations()[0], size);\n this.viewer.viewer.draw();\n }\n },\n\n /**\n * Based on the current mouse position, compute the size and position of\n * the current brush.\n *\n * @param {geo.annotation} annot The annotation to adjust.\n * @param {number} size The size of the brush.\n */\n _setBrushCoordinates(annot, size) {\n const center = this.viewer.viewer.interactor().mouse().mapgcs || {x: 0, y: 0};\n annot._coordinates([\n {x: center.x - size / 2, y: center.y - size / 2},\n {x: center.x - size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y + size / 2},\n {x: center.x + size / 2, y: center.y - size / 2}]);\n annot.modified();\n },\n\n /**\n * Handle a click or drag action for the current brush.\n *\n * @param {geo.event} evt The event that trigger this. This will either be\n * a cursor_action or cursor_click event. If no boolean operation is\n * specified, it is a union operation.\n */\n _brushAction(evt) {\n let annotations = this.viewer.annotationLayer.toPolygonList({pixelTolerance: this._pixelTolerance()});\n let elements = [convertAnnotation(this.viewer.annotationLayer.annotations()[0])];\n if (!elements[0].id) {\n elements[0].id = this.viewer._guid();\n }\n const opts = {\n currentBooleanOperation: evt.operation || 'union',\n asPolygonList: true\n };\n if (evt.event === geo.event.annotation.cursor_action) {\n if (evt.operation && evt.operation !== 'union' && evt.operation !== 'difference') {\n return;\n }\n // if this is the same action as the previous one, \"blur\" the brush\n // shapes along the direction of travel\n if (this._lastBrushState && this._lastBrushState.stateId && this._lastBrushState.stateId === evt.evt.state.stateId) {\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n if (this._editOptions.brush_screen) {\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const bbox1 = this.viewer.annotationLayer.annotations()[0]._coordinates();\n const bbox2 = this._lastBrushState.bbox;\n if (bbox1[0].x !== bbox2[0].x || bbox1[0].y !== bbox2[0].y) {\n let blur;\n if (shape === 'square') {\n const order = (bbox1[0].x - bbox2[0].x) * (bbox1[0].y - bbox2[0].y) < 0 ? 0 : 1;\n blur = [[[\n [bbox1[order].x, bbox1[order].y],\n [bbox1[order + 2].x, bbox1[order + 2].y],\n [bbox2[order + 2].x, bbox2[order + 2].y],\n [bbox2[order].x, bbox2[order].y]\n ]]];\n } else {\n const c1x = (bbox1[0].x + bbox1[2].x) * 0.5;\n const c1y = (bbox1[0].y + bbox1[2].y) * 0.5;\n const c2x = (bbox2[0].x + bbox2[2].x) * 0.5;\n const c2y = (bbox2[0].y + bbox2[2].y) * 0.5;\n const ang = Math.atan2(c2y - c1y, c2x - c1x) + Math.PI / 2;\n blur = [[[\n [c1x + size / 2 * Math.cos(ang), c1y + size / 2 * Math.sin(ang)],\n [c1x - size / 2 * Math.cos(ang), c1y - size / 2 * Math.sin(ang)],\n [c2x - size / 2 * Math.cos(ang), c2y - size / 2 * Math.sin(ang)],\n [c2x + size / 2 * Math.cos(ang), c2y + size / 2 * Math.sin(ang)]\n ]]];\n }\n annotations = geo.util.polyops.union(annotations, blur);\n elements = [{\n type: 'polyline',\n closed: true,\n points: annotations[0][0].map((pt) => ({x: pt[0], y: -pt[1], 'z': 0})),\n id: this.viewer._guid()\n }];\n }\n }\n this._lastBrushState = evt.evt.state;\n this._lastBrushState.bbox = this.viewer.annotationLayer.annotations()[0]._coordinates();\n } else {\n this._lastBrushState = null;\n }\n this._addDrawnElements(elements, annotations, opts);\n this._setBrushMode(true);\n // update sooner so that the hit test will work\n this.viewer.drawAnnotation(this.annotation);\n },\n\n /**\n * Switch to or update brush mode.\n *\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n _setBrushMode(forceRefresh) {\n if (!this._brushPanBound) {\n this._brushPanBound = _.bind(this._brushPan, this);\n }\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_click);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.cursor_action);\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n this.viewer.annotationLayer.removeAllAnnotations();\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_click, (evt) => this._brushAction(evt));\n this.viewer.annotationLayer.geoOn(geo.event.annotation.cursor_action, (evt) => this._brushAction(evt));\n const shape = this._editOptions.brush_shape || 'square';\n let size = parseFloat(this._editOptions.brush_size) || 50;\n const scale = this._editOptions.brush_screen;\n if (scale) {\n this.viewer.annotationLayer.geoOn(geo.event.pan, this._brushPanBound);\n this._brushZoom = this.viewer.viewer.zoom();\n size *= this.viewer.viewer.unitsPerPixel(this._brushZoom);\n }\n const annot = geo.registries.annotations[shape === 'square' ? 'rectangle' : shape].func({layer: this.viewer.annotationLayer});\n this.viewer.annotationLayer.addAnnotation(annot);\n this._setBrushCoordinates(annot, size);\n this.viewer.annotationLayer.mode(this.viewer.annotationLayer.modes.cursor, annot);\n this._drawingType = 'brush';\n this.viewer.viewer.draw();\n },\n\n /**\n * After determining the elements intended by the current shape, add them\n * to the existing annotations with the appropriate boolean operation.\n *\n * @param {object[]} element An array of elements in our jsonschema format.\n * @param {geo.annotation[]|geo.polygonList} annotations The annotations to\n * add in a geojs format.\n */\n _addDrawnElements(element, annotations, opts) {\n opts = opts || {};\n if (opts.currentBooleanOperation) {\n const processed = this._applyBooleanOp(annotations, opts);\n if (processed || ['difference', 'intersect'].indexOf(opts.currentBooleanOperation) >= 0) {\n this.drawElement(undefined, this._drawingType);\n return undefined;\n }\n }\n // add current style group information\n this.addElements(\n _.map(element, (el) => {\n el = _.extend(el, _.omit(this._style.toJSON(), 'id'));\n if (!this._style.get('group')) {\n delete el.group;\n }\n return el;\n })\n );\n this.drawElement(undefined, this._drawingType);\n return undefined;\n },\n\n /**\n * Respond to clicking an element type by putting the image viewer into\n * \"draw\" mode.\n *\n * @param {jQuery.Event} [evt] The button click that triggered this event.\n * `undefined` to use a passed-in type.\n * @param {string|null} [type] If `evt` is `undefined`, switch to this draw\n * mode.\n * @param {boolean} [forceRefresh] If true, update the annotation mode even\n * if it hasn't changed.\n */\n drawElement(evt, type, forceRefresh) {\n var $el;\n if (evt) {\n $el = this.$(evt.currentTarget);\n $el.tooltip('hide');\n type = $el.hasClass('active') ? null : $el.data('type');\n } else {\n $el = this.$('button.h-draw[data-type=\"' + type + '\"]');\n }\n if (this.viewer.annotationLayer.mode() === type && this._drawingType === type && (!type || this.viewer.annotationLayer.currentAnnotation) && !forceRefresh) {\n return;\n }\n if (this.viewer.annotationLayer.mode()) {\n this._drawingType = null;\n this.viewer.annotationLayer.mode(null);\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n if (this._brushPanBound) {\n this.viewer.annotationLayer.geoOff(geo.event.pan, this._brushPanBound);\n }\n this.viewer.annotationLayer.removeAllAnnotations();\n }\n if (type === 'brush') {\n this._setBrushMode(forceRefresh);\n } else if (type) {\n this.parentView._resetSelection();\n // always show the active annotation when drawing a new element\n this.annotation.set('displayed', true);\n this._drawingType = type;\n\n const options = { modeOptions: {} };\n if (this._editOptions.size_mode === 'fixed_aspect_ratio') {\n options.modeOptions.constraint = this._editOptions.fixed_width / this._editOptions.fixed_height;\n } else if (this._editOptions.size_mode === 'fixed_size') {\n options.modeOptions.constraint = { width: this._editOptions.fixed_width, height: this._editOptions.fixed_height };\n }\n\n this.viewer.startDrawMode(type, options)\n .then((element, annotations, opts) => this._addDrawnElements(element, annotations, opts));\n }\n this.$('button.h-draw[data-type]').removeClass('active');\n if (this._drawingType) {\n this.$('button.h-draw[data-type=\"' + this._drawingType + '\"]').addClass('active');\n }\n },\n\n cancelDrawMode() {\n this.drawElement(undefined, null);\n this.viewer.annotationLayer._boundHUIModeChange = false;\n this.viewer.annotationLayer.geoOff(geo.event.annotation.state);\n },\n\n drawingType() {\n return this._drawingType;\n },\n\n /**\n * Get the element id from a click event.\n */\n _getId(evt) {\n return this.$(evt.currentTarget).parent('.h-element').data('id');\n },\n\n /**\n * Fetch the current edit options from browser local storage. This is for\n * all users.\n *\n * @returns {object} The current edit options for all users.\n */\n _getEditOptions() {\n let hui = {};\n try {\n hui = JSON.parse(window.localStorage.getItem('histomicsui') || '{}');\n } catch (err) { }\n if (!_.isObject(hui)) {\n hui = {};\n }\n return hui;\n },\n\n /**\n * Set the current edit options for the current user.\n *\n * @param {object} [opts] A dictionary of options to update the existing\n * options. If unspecified, just store the current options.\n */\n _saveEditOptions(opts) {\n let update = false;\n if (opts) {\n Object.entries(opts).forEach(([key, value]) => {\n if (this._editOptions[key] !== value) {\n this._editOptions[key] = value;\n update = true;\n }\n });\n }\n if (update || !opts) {\n this._verifyEditOptions(this._editOptions);\n try {\n let hui = this._getEditOptions();\n hui[this._localId] = this._editOptions;\n window.localStorage.setItem('histomicsui', JSON.stringify(hui));\n } catch (err) {\n console.warn('Failed to write localStorage');\n console.log(err);\n }\n }\n },\n\n /**\n * Validate a set of edit options. Optional raise on error.\n *\n * @param {object} opts The options to validate and fix.\n * @param {boolean} [raiseOnError] If true, throw an error if validation\n * fails.\n */\n _verifyEditOptions(opts, raiseOnError) {\n if (raiseOnError && opts.brush_shape && ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n throw new Error('Brush is not a valid shape');\n }\n if (!opts.brush_shape || ['square', 'circle'].indexOf(opts.brush_shape) < 0) {\n opts.brush_shape = 'square';\n }\n if (raiseOnError && opts.brush_size && !(parseFloat(opts.brush_size) > 0)) {\n throw new Error('Brush size is not a positive number');\n }\n if (!opts.brush_size || !(parseFloat(opts.brush_size) > 0)) {\n opts.brush_size = 50;\n }\n if (!opts.size_mode) {\n opts.size_mode = 'unconstrained';\n }\n },\n\n updateCount(groupName, change) {\n const groupElem = $('.h-group-count-options > [data-group=\"' + groupName + '\"]');\n if (groupElem.length > 0) {\n let newCount = parseInt(groupElem.attr('data-count')) + change;\n groupElem.attr('data-count', newCount);\n if (newCount > 0) {\n for (let group of $('.h-group-count-option').toArray()) {\n let count = parseInt($(group).attr('data-count'));\n if (newCount > count) {\n $(group).before(groupElem);\n break;\n } else if (group !== groupElem[0] && newCount === count) {\n if ($(group).attr('data-group') < groupName) {\n $(group).after(groupElem);\n } else {\n $(group).before(groupElem);\n }\n break;\n } else if (group === $('.h-group-count-options:last-child')[0]) {\n $(group).after(groupElem);\n }\n }\n groupElem.html(newCount + ' ' + groupName).show();\n } else {\n groupElem.remove();\n }\n } else if (change !== 0) {\n for (let group of $('.h-group-count-option').toArray().reverse()) {\n if ($(group).attr('data-count') > change || ($(group).attr('data-count') === change && $(group).attr('data-group') < groupName)) {\n $(group).after('
' + change + ' ' + groupName + '
');\n break;\n } else if (group === $('.h-group-count-options:first-child')[0]) {\n $(group).before('
' + change + ' ' + groupName + '
');\n }\n }\n if ($('.h-group-count-options > [data-group=\"' + groupName + '\"]').length === 0) {\n $('.h-group-count-options').append('
' + change + ' ' + groupName + '
');\n }\n }\n if ($('.h-group-count-option').length === 0) {\n $('.h-group-count').hide();\n } else {\n $('.h-group-count').show();\n }\n },\n\n countPixelmap(pixelmap, operation) {\n let toChange = {};\n for (let ix = 0; ix < pixelmap.get('values').length; ix++) {\n let groupName = (pixelmap.get('categories')[pixelmap.get('values')[ix]]).label || this.parentView._defaultGroup;\n if (toChange[groupName]) {\n toChange[groupName]++;\n } else {\n toChange[groupName] = 1;\n }\n }\n for (let group in toChange) {\n this.updateCount(group, operation * toChange[group]);\n }\n },\n\n /**\n * Set the current style group. This should take a plain object, not a\n * backbone object. Given a group name, this can be obtained by something\n * like\n * this._setStyleGroup(this._groups.get(groupName).toJSON());\n *\n * @param {object} group The new group.\n */\n _setStyleGroup(group) {\n this._style.set(group);\n if (!this._style.get('group') && this._style.id !== this.parentView._defaultGroup) {\n this._style.set('group', this._style.id);\n } else if (this._style.get('group') && this._style.id === this.parentView._defaultGroup) {\n this._style.unset('group');\n }\n this.$('.h-style-group').val(group.id);\n this._saveEditOptions({style: group.id});\n },\n\n /**\n * Set the current style group based on the current controls.\n */\n _setToSelectedStyleGroup() {\n this._setStyleGroup(this._groups.get(this.$('.h-style-group').val()).toJSON());\n },\n\n /**\n * For a dropdown control widget, handle expanding and collapsing.\n *\n * @param {jquery.Event} e The event that triggered this toggle.\n */\n _dropdownControlClick(e) {\n e.stopImmediatePropagation();\n const content = $(e.target).parent().find('.h-dropdown-content');\n const isCollapsed = !content.hasClass('in');\n const buttons = $(e.target).closest('.h-draw-tools').find('.btn-group');\n buttons.find('.h-dropdown-content').each((idx, dropdown) => {\n dropdown = $(dropdown);\n if (!dropdown.is(content) && dropdown.hasClass('in')) {\n dropdown.collapse('toggle');\n dropdown.parent().find('.icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n });\n content.collapse('toggle');\n $(e.target).find('.icon-down-open,.icon-up-open').removeClass(\n isCollapsed ? 'icon-down-open' : 'icon-up-open').addClass(\n isCollapsed ? 'icon-up-open' : 'icon-down-open');\n // Select the corresponding radio button for the current size_mode\n $(`input[mode=\"${this._editOptions.size_mode || 'unconstrained'}\"]`, $(e.target.parentNode)).trigger('click');\n },\n\n /**\n * Change the size, shape, or screen flag on the current brush.\n */\n _changeBrush(e) {\n const opts = {\n brush_shape: this.$('.h-brush-shape:checked').attr('shape'),\n brush_size: parseFloat(this.$('.h-brush-size').val()),\n brush_screen: this.$('.h-brush-screen').is(':checked')\n };\n this._saveEditOptions(opts);\n this.$('.h-draw[data-type=\"brush\"]').attr('shape', this._editOptions.brush_shape);\n if (this._drawingType === 'brush') {\n this.drawElement(undefined, 'brush', true);\n }\n },\n\n /**\n * Show or hide width/height input depending on the currently selected drawing mode.\n */\n _updateConstraintValueInputs() {\n if (['fixed_aspect_ratio', 'fixed_size'].includes(this.$('.h-fixed-shape:checked').attr('mode'))) {\n this.$('.h-fixed-values').show();\n } else {\n this.$('.h-fixed-values').hide();\n }\n },\n\n /**\n * Update the width/height constraint for a shape being drawn with a fixed\n * aspect ratio or fixed size.\n */\n _changeShapeConstraint(evt) {\n const opts = {\n size_mode: this.$('.h-fixed-shape:checked').attr('mode'),\n fixed_width: parseFloat(this.$('.h-fixed-width').val()),\n fixed_height: parseFloat(this.$('.h-fixed-height').val())\n };\n this._saveEditOptions(opts);\n\n this._updateConstraintValueInputs();\n\n if (opts.size_mode === 'fixed_aspect_ratio') {\n this.viewer.startDrawMode(this._drawingType, { modeOptions: { constraint: opts.fixed_width / opts.fixed_height } });\n } else if (opts.size_mode === 'fixed_size') {\n this.viewer.startDrawMode(this._drawingType, { modeOptions: { constraint: { width: opts.fixed_width, height: opts.fixed_height } } });\n } else {\n this.viewer.startDrawMode(this._drawingType);\n }\n },\n\n /**\n * Cycle through available brush shapes.\n */\n nextBrushShape() {\n this.$('.h-brush-shape[name=\"h-brush-shape\"][shape=\"' + this.$('.h-brush-shape[name=\"h-brush-shape\"]:checked').attr('next_shape') + '\"]').prop('checked', true);\n this._changeBrush();\n },\n\n /**\n * Change the current brush size.\n *\n * @param {number} A number to add to the current size.\n */\n adjustBrushSize(delta) {\n let newval = Math.max(1, parseFloat(this.$('.h-brush-size').val()) + delta);\n this.$('.h-brush-size').val(newval);\n this._changeBrush();\n },\n\n /**\n * Set the style group to the next available group in the dropdown.\n *\n * If the currently selected group is the last group in the dropdown,\n * the first group in the dropdown is selected instead.\n */\n setToNextStyleGroup() {\n let nextGroup = this.$('.h-style-group option:selected').next().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (nextGroup === undefined) {\n nextGroup = this.$('.h-style-group option:first').val();\n }\n this._setStyleGroup(this._groups.get(nextGroup).toJSON());\n },\n\n /**\n * Set the style group to the previous available group in the dropdown.\n *\n * If the currently selected group is the first group in the dropdown,\n * the last group in the dropdown is selected instead.\n */\n setToPrevStyleGroup() {\n let prevGroup = this.$('.h-style-group option:selected').prev().val();\n // A style group can have an empty string for a name, so we must explicitly\n // test if this is undefined instead of just testing truthiness.\n if (prevGroup === undefined) {\n prevGroup = this.$('.h-style-group option:last-child').val();\n }\n this._setStyleGroup(this._groups.get(prevGroup).toJSON());\n },\n\n getStyleGroup() {\n return this._style;\n },\n\n _styleGroupEditor() {\n console.log(this);\n var dlg = editStyleGroups(this._style, this._groups, this.parentView._defaultGroup);\n dlg.$el.on('hidden.bs.modal', () => {\n this.render();\n this.parentView.trigger('h:styleGroupsEdited', this._groups);\n });\n },\n\n _handleStyleGroupsUpdate() {\n this.render();\n this.trigger('h:styleGroupsUpdated', this._groups);\n },\n\n _highlightElement(evt) {\n const id = $(evt.currentTarget).data('id');\n const annotType = this.collection._byId[id].get('type');\n if (this.annotationSelector._interactiveMode && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(annotType)) {\n $(evt.currentTarget).find('.h-view-element').show();\n }\n this.parentView.trigger('h:highlightAnnotation', this.annotation.id, id);\n },\n\n _unhighlightElement(evt) {\n $(evt.currentTarget).find('.h-view-element').hide();\n this.parentView.trigger('h:highlightAnnotation');\n },\n\n _recalculateGroupAggregation() {\n const groups = [];\n const used = {};\n this.collection.forEach((el) => {\n const group = el.get('group') || '__null__';\n if (!used[group]) {\n used[group] = true;\n if (group !== '__null__') {\n groups.push(group);\n }\n }\n });\n if (used.__null__) {\n groups.push(null);\n }\n this.annotation.set('groups', groups);\n }\n});\n\nexport default DrawWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/DrawWidget.js","import $ from 'jquery';\nimport _ from 'underscore';\n\nimport Panel from '@girder/slicer_cli_web/views/Panel';\nimport { AccessType } from '@girder/core/constants';\nimport { confirm } from '@girder/core/dialog';\nimport events from '@girder/core/events';\nimport { localeSort } from '@girder/core/misc';\nimport View from '@girder/core/views/View';\n\nimport JsonMetadatumEditWidgetTemplate from '@girder/core/templates/widgets/jsonMetadatumEditWidget.pug';\nimport JsonMetadatumViewTemplate from '@girder/core/templates/widgets/jsonMetadatumView.pug';\nimport MetadatumEditWidgetTemplate from '@girder/core/templates/widgets/metadatumEditWidget.pug';\nimport MetadatumViewTemplate from '@girder/core/templates/widgets/metadatumView.pug';\n\nimport JSONEditor from 'jsoneditor/dist/jsoneditor.js'; // can't 'jsoneditor'\nimport 'jsoneditor/dist/jsoneditor.css';\n\nimport 'bootstrap/js/dropdown';\n\nimport metadataWidgetTemplate from '../templates/panels/metadataWidget.pug';\nimport '../stylesheets/panels/metadataWidget.styl';\n\nfunction getMetadataRecord(item, fieldName) {\n if (item[fieldName]) {\n return item[fieldName];\n }\n let meta = item.attributes;\n fieldName.split('.').forEach((part) => {\n if (!meta[part]) {\n meta[part] = {};\n }\n meta = meta[part];\n });\n return meta;\n}\n\nvar MetadatumWidget = View.extend({\n className: 'g-widget-metadata-row',\n\n events: {\n 'click .g-widget-metadata-edit-button': 'editMetadata'\n },\n\n initialize: function (settings) {\n if (!_.has(this.parentView.modes, settings.mode)) {\n throw new Error('Unsupported metadatum mode ' + settings.mode + ' detected.');\n }\n this.mode = settings.mode;\n this.key = settings.key;\n this.value = settings.value;\n this.accessLevel = settings.accessLevel;\n this.parentView = settings.parentView;\n this.fieldName = settings.fieldName;\n this.apiPath = settings.apiPath;\n this.noSave = settings.noSave;\n this.onMetadataEdited = settings.onMetadataEdited;\n this.onMetadataAdded = settings.onMetadataAdded;\n },\n\n _validate: function (from, to, value) {\n var newMode = this.parentView.modes[to];\n\n if (_.has(newMode, 'validation') &&\n _.has(newMode.validation, 'from') &&\n _.has(newMode.validation.from, from)) {\n var validate = newMode.validation.from[from][0];\n var msg = newMode.validation.from[from][1];\n\n if (!validate(value)) {\n events.trigger('g:alert', {\n text: msg,\n type: 'warning'\n });\n return false;\n }\n }\n\n return true;\n },\n\n // @todo too much duplication with editMetadata\n toggleEditor: function (event, newEditorMode, existingEditor, overrides) {\n var fromEditorMode = (existingEditor instanceof JsonMetadatumEditWidget) ? 'json' : 'simple';\n var newValue = (overrides || {}).value || existingEditor.$el.attr('g-value');\n if (!this._validate(fromEditorMode, newEditorMode, newValue)) {\n return;\n }\n\n var row = existingEditor.$el;\n existingEditor.destroy();\n row.addClass('editing').empty();\n\n var opts = _.extend({\n el: row,\n item: this.parentView.item,\n key: row.attr('g-key'),\n value: row.attr('g-value'),\n accessLevel: this.accessLevel,\n newDatum: false,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n noSave: this.noSave,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n }, overrides || {});\n\n this.parentView.modes[newEditorMode].editor(opts).render();\n },\n\n editMetadata: function (event) {\n this.$el.addClass('editing');\n this.$el.empty();\n\n var opts = {\n item: this.parentView.item,\n key: this.$el.attr('g-key'),\n value: this.$el.attr('g-value'),\n accessLevel: this.accessLevel,\n newDatum: false,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n noSave: this.noSave,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n };\n\n // If they're trying to open false, null, 6, etc which are not stored as strings\n if (this.mode === 'json') {\n try {\n var jsonValue = JSON.parse(this.$el.attr('g-value'));\n\n if (jsonValue !== undefined && !_.isObject(jsonValue)) {\n opts.value = jsonValue;\n }\n } catch (e) {}\n }\n\n this.parentView.modes[this.mode].editor(opts)\n .render()\n .$el.appendTo(this.$el);\n },\n\n render: function () {\n this.$el.attr({\n 'g-key': this.key,\n 'g-value': _.bind(this.parentView.modes[this.mode].displayValue, this)()\n }).empty();\n\n this.$el.html(this.parentView.modes[this.mode].template({\n key: this.key,\n value: _.bind(this.parentView.modes[this.mode].displayValue, this)(),\n accessLevel: this.accessLevel,\n AccessType: AccessType\n }));\n\n return this;\n }\n});\n\nvar MetadatumEditWidget = View.extend({\n events: {\n 'click .g-widget-metadata-cancel-button': 'cancelEdit',\n 'click .g-widget-metadata-save-button': 'save',\n 'click .g-widget-metadata-delete-button': 'deleteMetadatum',\n 'click .g-widget-metadata-toggle-button': function (event) {\n var editorType;\n // @todo modal\n // in the future this event will have the new editorType (assuming a dropdown)\n if (this instanceof JsonMetadatumEditWidget) {\n editorType = 'simple';\n } else {\n editorType = 'json';\n }\n this.parentView.toggleEditor(event, editorType, this, {\n // Save state before toggling editor\n key: this.$el.find('.g-widget-metadata-key-input').val(),\n value: this.getCurrentValue()\n });\n return false;\n }\n },\n\n initialize: function (settings) {\n this.item = settings.item;\n this.key = settings.key || '';\n this.fieldName = settings.fieldName || 'meta';\n this.value = (settings.value !== undefined) ? settings.value : '';\n this.accessLevel = settings.accessLevel;\n this.newDatum = settings.newDatum;\n this.fieldName = settings.fieldName;\n this.apiPath = settings.apiPath;\n this.noSave = settings.noSave;\n this.onMetadataEdited = settings.onMetadataEdited;\n this.onMetadataAdded = settings.onMetadataAdded;\n },\n\n editTemplate: MetadatumEditWidgetTemplate,\n\n getCurrentValue: function () {\n return this.$el.find('.g-widget-metadata-value-input').val();\n },\n\n deleteMetadatum: function (event) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var metadataList = target.parent().parent();\n if (this.noSave) {\n delete getMetadataRecord(this.item, this.fieldName)[this.key];\n metadataList.remove();\n return;\n }\n var params = {\n text: 'Are you sure you want to delete the metadatum ' +\n _.escape(this.key) + '?',\n escapedHtml: true,\n yesText: 'Delete',\n confirmCallback: () => {\n this.item.removeMetadata(this.key, () => {\n metadataList.remove();\n // trigger the event\n this.parentView.parentView.trigger('h-metadata-panel-update', {\n });\n }, null, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n };\n confirm(params);\n },\n\n cancelEdit: function (event) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var curRow = target.parent().parent();\n if (this.newDatum) {\n curRow.remove();\n } else {\n this.parentView.render();\n }\n },\n\n save: function (event, value) {\n event.stopImmediatePropagation();\n const target = $(event.currentTarget);\n var curRow = target.parent(),\n tempKey = curRow.find('.g-widget-metadata-key-input').val().trim(),\n tempValue = (value !== undefined) ? value : curRow.find('.g-widget-metadata-value-input').val();\n if (this.newDatum && tempKey === '') {\n events.trigger('g:alert', {\n text: 'A key is required for all metadata.',\n type: 'warning'\n });\n return false;\n }\n var saveCallback = () => {\n this.key = tempKey;\n this.value = tempValue;\n\n this.parentView.key = this.key;\n this.parentView.value = this.value;\n if (this instanceof JsonMetadatumEditWidget) {\n this.parentView.mode = 'json';\n } else {\n this.parentView.mode = 'simple';\n }\n // re-render metadata panel header when metadata is edited\n this.parentView.parentView.trigger('h-metadata-panel-update', {\n });\n this.parentView.render();\n this.newDatum = false;\n };\n\n var errorCallback = function (out) {\n events.trigger('g:alert', {\n text: out.message,\n type: 'danger'\n });\n };\n\n if (this.newDatum) {\n if (this.onMetadataAdded) {\n this.onMetadataAdded(tempKey, tempValue, saveCallback, errorCallback);\n } else {\n if (this.noSave) {\n if (getMetadataRecord(this.item, this.fieldName)[tempKey] !== undefined) {\n events.trigger('g:alert', {\n text: tempKey + ' is already a metadata key',\n type: 'warning'\n });\n return false;\n }\n getMetadataRecord(this.item, this.fieldName)[tempKey] = tempValue;\n this.parentView.parentView.render();\n return;\n }\n this.item.addMetadata(tempKey, tempValue, saveCallback, errorCallback, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n } else {\n if (this.onMetadataEdited) {\n this.onMetadataEdited(tempKey, this.key, tempValue, saveCallback, errorCallback);\n } else {\n if (this.noSave) {\n tempKey = tempKey === '' ? this.key : tempKey;\n if (tempKey !== this.key && getMetadataRecord(this.item, this.fieldName)[tempKey] !== undefined) {\n events.trigger('g:alert', {\n text: tempKey + ' is already a metadata key',\n type: 'warning'\n });\n return false;\n }\n delete getMetadataRecord(this.item, this.fieldName)[this.key];\n getMetadataRecord(this.item, this.fieldName)[tempKey] = tempValue;\n this.parentView.parentView.render();\n return;\n }\n this.item.editMetadata(tempKey, this.key, tempValue, saveCallback, errorCallback, {\n field: this.fieldName,\n path: this.apiPath\n });\n }\n }\n },\n\n render: function () {\n this.$el.html(this.editTemplate({\n item: this.item,\n key: this.key,\n value: this.value,\n accessLevel: this.accessLevel,\n newDatum: this.newDatum,\n AccessType: AccessType\n }));\n this.$el.find('.g-widget-metadata-key-input').trigger('focus');\n return this;\n }\n});\n\nvar JsonMetadatumEditWidget = MetadatumEditWidget.extend({\n editTemplate: JsonMetadatumEditWidgetTemplate,\n\n getCurrentValue: function () {\n return this.editor.getText();\n },\n\n save: function (event) {\n try {\n MetadatumEditWidget.prototype.save.call(\n this, event, this.editor.get());\n } catch (err) {\n events.trigger('g:alert', {\n text: 'The field contains invalid JSON and can not be saved.',\n type: 'warning'\n });\n return false;\n }\n },\n\n render: function () {\n MetadatumEditWidget.prototype.render.apply(this, arguments);\n\n const jsonEditorEl = this.$el.find('.g-json-editor');\n this.editor = new JSONEditor(jsonEditorEl[0], {\n mode: 'tree',\n modes: ['code', 'tree'],\n onError: () => {\n events.trigger('g:alert', {\n text: 'The field contains invalid JSON and can not be viewed in Tree Mode.',\n type: 'warning'\n });\n }\n });\n\n if (this.value !== undefined) {\n this.editor.setText(JSON.stringify(this.value));\n this.editor.expandAll();\n }\n return this;\n }\n});\n\n/**\n * This widget shows a list of metadata in a given item.\n */\nvar MetadataWidget = Panel.extend({\n events: _.extend(Panel.prototype.events, {\n 'click .g-add-json-metadata': function (event) {\n this.addMetadata(event, 'json');\n },\n 'click .g-add-simple-metadata': function (event) {\n this.addMetadata(event, 'simple');\n },\n 'click .h-panel-maximize': function (event) {\n this.expand(event);\n this.$('.s-panel-content').addClass('in');\n let panelElem = this.$el.closest('.s-panel');\n let maximize = !panelElem.hasClass('h-panel-maximized');\n panelElem.toggleClass('h-panel-maximized', maximize);\n panelElem.toggleClass('s-no-panel-toggle', maximize);\n }\n }),\n\n /**\n * Creates a widget to display and optionally edit metadata fields.\n *\n * @param settings.item {Model} The model object whose metadata to display.\n * Can be any model type that inherits MetadataMixin.\n * @param [settings.fieldName='meta'] {string} The name of the model attribute\n * to display/edit. The model attribute with this name should be an object\n * whose top level keys represent metadata keys.\n * @param [settings.title='Metadata'] {string} Title for the widget.\n * @param [settings.apiPath] {string} The relative API path to use when editing\n * metadata keys for this model. Defaults to using the MetadataMixin default path.\n * @param [settings.accessLevel=AccessType.READ] {AccessType} The\n * access level for this widget. Use READ for read-only, or WRITE (or greater)\n * for adding editing capabilities as well.\n * @param [settings.onMetadataAdded] {Function} A custom callback for when a\n * new metadata key is added to the list. If passed, will override the\n * default behavior of calling MetadataMixin.addMetadata.\n * @param [settings.onMetadataEdited] {Function} A custom callback for when an\n * existing metadata key is updated. If passed, will override the default\n * behavior of calling MetadataMixin.editMetadata.\n */\n\n initialize: function (settings) {\n this.fieldName = settings.fieldName || 'meta';\n this.title = settings.title || 'Metadata';\n this.apiPath = settings.apiPath;\n this.accessLevel = settings.accessLevel;\n this.onMetadataEdited = settings.onMetadataEdited;\n this.panel = settings.panel === undefined ? true : settings.panel;\n this.noSave = settings.noSave;\n // the event is created\n this.on('h-metadata-panel-update', (event) => {\n this.renderMetadataWidgetHeader(event);\n });\n },\n\n modes: {\n simple: {\n editor: function (args) {\n return new MetadatumEditWidget(args);\n },\n displayValue: function () {\n return this.value;\n },\n template: MetadatumViewTemplate\n },\n json: {\n editor: function (args) {\n if (args.value !== undefined) {\n args.value = JSON.parse(args.value);\n }\n return new JsonMetadatumEditWidget(args);\n },\n displayValue: function () {\n return JSON.stringify(this.value, null, 4);\n },\n validation: {\n from: {\n simple: [\n function (value) {\n try {\n JSON.parse(value);\n return true;\n } catch (e) {}\n\n return false;\n },\n 'The simple field is not valid JSON and can not be converted.'\n ]\n }\n },\n template: JsonMetadatumViewTemplate\n }\n },\n\n setItem: function (item) {\n this.item = item;\n this.item.on('g:changed', function () {\n this.render();\n }, this);\n this.render();\n return this;\n },\n\n // Does not support modal editing\n getModeFromValue: function (value) {\n return _.isString(value) ? 'simple' : 'json';\n },\n\n addMetadata: function (event, mode) {\n var EditWidget = this.modes[mode].editor;\n var value = (mode === 'json') ? '{}' : '';\n // expand the widget when adding new metadata\n this.$('.s-panel-content').collapse('show');\n var widget = new MetadatumWidget({\n className: 'g-widget-metadata-row editing',\n mode: mode,\n key: '',\n value: value,\n item: this.item,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n accessLevel: this.accessLevel,\n parentView: this,\n noSave: this.noSave,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n });\n widget.$el.appendTo(this.$('.g-widget-metadata-container'));\n\n new EditWidget({\n item: this.item,\n key: '',\n value: value,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n accessLevel: this.accessLevel,\n noSave: this.noSave,\n newDatum: true,\n parentView: widget,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n })\n .render()\n .$el.appendTo(widget.$el);\n },\n\n renderMetadataWidgetHeader: function () {\n // prevent automatically collapsing the widget after rendering again\n this.render();\n },\n\n render: function () {\n if (this.item && this.item.id) {\n let func = this.item.getAccessLevel;\n if (this.item.get('_modelType') === 'annotation') {\n func = (callback) => {\n const accessLevel = this.item.getAccessLevel();\n callback(accessLevel);\n };\n }\n func.call(this.item, (accessLevel) => {\n const fieldParts = this.fieldName.split('.');\n let metaDict = this.item.get(fieldParts[0]) || {};\n fieldParts.slice(1).forEach((part) => {\n metaDict = metaDict[part] || {};\n });\n if (this.item[this.fieldName]) {\n metaDict = this.item[this.fieldName];\n }\n var metaKeys = Object.keys(metaDict);\n metaKeys.sort(localeSort);\n const firstKey = (metaKeys)[0];\n let firstValue = metaDict[firstKey];\n if (_.isObject(firstValue)) {\n // if the value is a json object, JSON.stringify to make it more readable\n firstValue = JSON.stringify(firstValue);\n }\n this.$el.html(metadataWidgetTemplate({\n item: this.item,\n title: this.title,\n firstKey: firstKey,\n firstValue: firstValue,\n accessLevel: this.item.attributes._accessLevel,\n AccessType: AccessType,\n panel: this.panel,\n // if never rendered, the jquery selector will be empty and won't be visible\n collapsed: this.panel && !this.$('.s-panel-content').hasClass('in') && !this.$el.closest('.s-panel').hasClass('h-panel-maximized')\n }));\n // Append each metadatum\n _.each(metaKeys, function (metaKey) {\n this.$el.find('.g-widget-metadata-container').append(new MetadatumWidget({\n mode: this.getModeFromValue(metaDict[metaKey]),\n key: metaKey,\n value: metaDict[metaKey],\n accessLevel: this.item.attributes._accessLevel,\n parentView: this,\n fieldName: this.fieldName,\n apiPath: this.apiPath,\n noSave: this.noSave,\n onMetadataEdited: this.onMetadataEdited,\n onMetadataAdded: this.onMetadataAdded\n }).render().$el);\n }, this);\n });\n }\n return this;\n }\n});\n\nexport default MetadataWidget;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/panels/MetadataWidget.js","import $ from 'jquery';\nimport _ from 'underscore';\nimport View from '@girder/core/views/View';\n\nimport PluginConfigBreadcrumbWidget from '@girder/core/views/widgets/PluginConfigBreadcrumbWidget';\nimport BrowserWidget from '@girder/core/views/widgets/BrowserWidget';\nimport { restRequest } from '@girder/core/rest';\nimport events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport { HuiSettings } from '../utils';\n\nimport ConfigViewTemplate from '../../templates/body/configView.pug';\nimport '../../stylesheets/body/configView.styl';\n\n/**\n * Show the default quota settings for users and collections.\n */\nvar ConfigView = View.extend({\n events: {\n 'click #g-hui-save': function (event) {\n this.$('#g-hui-error-message').text('');\n var settings = _.map(this.settingsKeys, (key) => {\n const element = this.$('#g-' + key.replace('histomicsui', 'hui').replace(/[_.]/g, '-'));\n var result = {\n key,\n value: element.val() || null\n };\n switch (key) {\n case 'histomicsui.quarantine_folder':\n result.value = result.value ? result.value.split(' ')[0] : '';\n break;\n case 'histomicsui.delete_annotations_after_ingest':\n result.value = this.$('.g-hui-delete-annotations-after-ingest').prop('checked');\n break;\n case 'histomicsui.help_url':\n case 'histomicsui.help_tooltip':\n case 'histomicsui.help_text':\n result.value = result.value === null || !result.value.trim() ? '' : result.value;\n break;\n }\n return result;\n });\n this._saveSettings(settings);\n },\n 'click #g-hui-brand-default-color': function () {\n this.$('#g-hui-brand-color').val(this.defaults['histomicsui.brand_color']);\n },\n 'click #g-hui-banner-default-color': function () {\n this.$('#g-hui-banner-color').val(this.defaults['histomicsui.banner_color']);\n },\n 'click #g-hui-help-default-url': function () {\n this.$('#g-hui-help-url').val(this.defaults['histomicsui.help_url']);\n this.$('#g-hui-help-url').trigger('change');\n },\n 'click #g-hui-help-default-text': function () {\n this.$('#g-hui-help-text').val(this.defaults['histomicsui.help_text']);\n },\n 'click #g-hui-help-default-tooltip': function () {\n this.$('#g-hui-help-tooltip').val(this.defaults['histomicsui.help_tooltip']);\n },\n 'click #g-hui-cancel': function (event) {\n router.navigate('plugins', { trigger: true });\n },\n 'change #g-hui-help-url': function (event) {\n if (this.$('#g-hui-help-url').val().trim() === '') {\n this.$('#g-hui-help-text-container').children().attr('disabled', 'disabled');\n this.$('#g-hui-help-tooltip-container').children().attr('disabled', 'disabled');\n } else {\n this.$('#g-hui-help-text-container').children().removeAttr('disabled');\n this.$('#g-hui-help-tooltip-container').children().removeAttr('disabled');\n }\n },\n 'click .g-open-browser': '_openBrowser'\n },\n initialize: function () {\n this.breadcrumb = new PluginConfigBreadcrumbWidget({\n pluginName: 'HistomicsUI',\n parentView: this\n });\n\n this.settingsKeys = [\n 'histomicsui.webroot_path',\n 'histomicsui.brand_name',\n 'histomicsui.brand_color',\n 'histomicsui.banner_color',\n 'histomicsui.default_draw_styles',\n 'histomicsui.panel_layout',\n 'histomicsui.quarantine_folder',\n 'histomicsui.delete_annotations_after_ingest',\n 'histomicsui.help_url',\n 'histomicsui.help_tooltip',\n 'histomicsui.help_text'\n ];\n $.when(\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'none'\n }\n }).done((resp) => {\n this.settings = resp;\n }),\n restRequest({\n method: 'GET',\n url: 'system/setting/default',\n data: {\n list: JSON.stringify(this.settingsKeys),\n default: 'default'\n }\n }).done((resp) => {\n this.defaults = resp;\n })\n ).done(() => {\n this.render();\n });\n\n this._browserWidgetView = new BrowserWidget({\n parentView: this,\n titleText: 'Quarantine Destination',\n helpText: 'Browse to a location to select it as the destination.',\n submitText: 'Select Destination',\n validate: function (model) {\n let isValid = $.Deferred();\n if (!model || model.get('_modelType') !== 'folder') {\n isValid.reject('Please select a folder.');\n } else {\n isValid.resolve();\n }\n return isValid.promise();\n }\n });\n this.listenTo(this._browserWidgetView, 'g:saved', function (val) {\n this.$('#g-hui-quarantine-folder').val(val.id);\n restRequest({\n url: `resource/${val.id}/path`,\n method: 'GET',\n data: { type: val.get('_modelType') }\n }).done((result) => {\n // Only add the resource path if the value wasn't altered\n if (this.$('#g-hui-quarantine-folder').val() === val.id) {\n this.$('#g-hui-quarantine-folder').val(`${val.id} (${result})`);\n }\n });\n });\n },\n\n render: function () {\n this.$el.html(ConfigViewTemplate({\n settings: this.settings,\n defaults: this.defaults\n }));\n this.$('#g-hui-help-url').trigger('change');\n this.breadcrumb.setElement(this.$('.g-config-breadcrumb-container')).render();\n return this;\n },\n\n _saveSettings: function (settings) {\n return restRequest({\n method: 'PUT',\n url: 'system/setting',\n data: {\n list: JSON.stringify(settings)\n },\n error: null\n }).done(() => {\n HuiSettings.clearSettingsCache();\n events.trigger('g:alert', {\n icon: 'ok',\n text: 'Settings saved.',\n type: 'success',\n timeout: 4000\n });\n }).fail((resp) => {\n this.$('#g-hui-error-message').text(\n resp.responseJSON.message\n );\n });\n },\n\n _openBrowser: function () {\n this._browserWidgetView.setElement($('#g-dialog-container')).render();\n }\n});\n\nexport default ConfigView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/body/ConfigView.js","/* global geo */\nimport _ from 'underscore';\nimport $ from 'jquery';\n\nimport { restRequest } from '@girder/core/rest';\nimport { getCurrentUser } from '@girder/core/auth';\nimport { AccessType } from '@girder/core/constants';\nimport ItemModel from '@girder/core/models/ItemModel';\nimport FileModel from '@girder/core/models/FileModel';\nimport FolderCollection from '@girder/core/collections/FolderCollection';\nimport { ViewerWidget } from '@girder/large_image_annotation/views';\n\nimport SlicerPanelGroup from '@girder/slicer_cli_web/views/PanelGroup';\nimport AnnotationModel from '@girder/large_image_annotation/models/AnnotationModel';\nimport AnnotationCollection from '@girder/large_image_annotation/collections/AnnotationCollection';\n\nimport { convert as convertToGeojson } from '@girder/large_image_annotation/annotations';\nimport { convert as convertFromGeojson } from '@girder/large_image_annotation/annotations/geojs';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport StyleModel from '../../models/StyleModel';\n\nimport AnnotationContextMenu from '../popover/AnnotationContextMenu';\nimport AnnotationPopover from '../popover/AnnotationPopover';\nimport PixelmapContextMenu from '../popover/PixelmapContextMenu';\nimport AnnotationSelector from '../../panels/AnnotationSelector';\nimport OverviewWidget from '../../panels/OverviewWidget';\nimport ZoomWidget from '../../panels/ZoomWidget';\nimport MetadataWidget from '../../panels/MetadataWidget';\nimport MetadataPlot from '../../panels/MetadataPlot';\nimport DrawWidget from '../../panels/DrawWidget';\nimport editElement from '../../dialogs/editElement';\nimport router from '../../router';\nimport events from '../../events';\nimport { HuiSettings } from '../utils';\nimport View from '../View';\n\nimport imageTemplate from '../../templates/body/image.pug';\nimport '../../stylesheets/body/image.styl';\n\nvar ImageView = View.extend({\n events: {\n 'keydown .h-image-body': '_onKeyDown',\n 'click': '_clearTooltips',\n 'click .h-control-panel-container .s-close-panel-group': '_closeAnalysis',\n 'mousemove .geojs-map': '_trackMousePosition'\n },\n initialize(settings) {\n this._defaultGroup = 'default';\n this.viewerWidget = null;\n this._mouseClickQueue = [];\n this._openId = null;\n this._displayedRegion = null;\n this._currentMousePosition = null;\n this._selectElementsByRegionCanceled = false;\n this._debounceUpdatePixelmapValues = _.debounce(this._updatePixelmapValues, 500);\n this._overlayLayers = {};\n this.selectedAnnotation = new AnnotationModel({ _id: 'selected' });\n this.selectedElements = this.selectedAnnotation.elements();\n\n // Allow zooming this many powers of 2 more than native pixel resolution\n this._increaseZoom2x = 1;\n this._increaseZoom2xRange = {min: 1, max: 4};\n\n if (!this.model) {\n this.model = new ItemModel();\n }\n this.listenTo(this.model, 'g:fetched', this.render);\n this.listenTo(events, 'h:analysis:rendered', this._setImageInput);\n this.listenTo(events, 'h:analysis:rendered', this._allowRootSelection);\n this.listenTo(events, 'h:analysis:rendered', this._setDefaultFileOutputs);\n this.listenTo(events, 'h:analysis:rendered', this._resetRegion);\n this.listenTo(this.selectedElements, 'add remove reset', this._redrawSelection);\n events.trigger('h:imageOpened', null);\n this.listenTo(events, 'query:image', this.openImage);\n this.annotations = new AnnotationCollection();\n\n this.controlPanel = new SlicerPanelGroup({\n parentView: this,\n closeButton: true\n });\n this.overviewWidget = new OverviewWidget({\n parentView: this\n });\n this.zoomWidget = new ZoomWidget({\n parentView: this\n });\n this.metadataWidget = new MetadataWidget({\n parentView: this\n });\n this.metadataPlot = new MetadataPlot({\n parentView: this\n });\n this.annotationSelector = new AnnotationSelector({\n parentView: this,\n collection: this.annotations,\n image: this.model\n });\n this.popover = new AnnotationPopover({\n parentView: this\n });\n this.contextMenu = new AnnotationContextMenu({\n parentView: this,\n collection: this.selectedElements\n });\n this.pixelmapContextMenu = new PixelmapContextMenu({\n parentView: this\n });\n this.listenTo(this, 'h:styleGroupsEdited', () => {\n this.contextMenu.refetchStyles();\n this.pixelmapContextMenu.refetchStyles();\n });\n\n this.listenTo(this.annotationSelector, 'h:groupCount', (obj) => {\n this.contextMenu.setGroupCount(obj);\n });\n this.listenTo(events, 'h:submit', (data) => {\n this.$('.s-jobs-panel .s-panel-controls .icon-down-open').click();\n events.trigger('g:alert', { type: 'success', text: 'Analysis job submitted.' });\n });\n this.listenTo(events, 'h:select-region', this.showRegion);\n this.listenTo(this.annotationSelector.collection, 'add update change:displayed', this.toggleAnnotation);\n this.listenTo(this.annotationSelector, 'h:toggleLabels', this.toggleLabels);\n this.listenTo(this.annotationSelector, 'h:toggleInteractiveMode', this._toggleInteractiveMode);\n this.listenTo(this.annotationSelector, 'h:editAnnotation', this._editAnnotation);\n this.listenTo(this.annotationSelector, 'h:deleteAnnotation', this._deleteAnnotation);\n this.listenTo(this.annotationSelector, 'h:annotationOpacity', this._setAnnotationOpacity);\n this.listenTo(this.annotationSelector, 'h:annotationFillOpacity', this._setAnnotationFillOpacity);\n this.listenTo(this.annotationSelector, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this, 'h:highlightAnnotation', this._highlightAnnotationForInteractiveMode);\n this.listenTo(this, 'h:selectElementsByRegion', this._selectElementsByRegion);\n this.listenTo(this, 'h:selectElementsByRegionCancel', this._selectElementsByRegionCancel);\n this.listenTo(this.contextMenu, 'h:edit', this._editElement);\n this.listenTo(this.contextMenu, 'h:editShape', this._editElementShape);\n this.listenTo(this.contextMenu, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.contextMenu, 'h:close', this._closeContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:update', this._handlePixelmapContextMenu);\n this.listenTo(this.pixelmapContextMenu, 'h:close', this._closePixelmapContextMenu);\n this.listenTo(this.selectedElements, 'h:save', this._saveSelection);\n this.listenTo(this.selectedElements, 'h:remove', this._removeSelection);\n\n this.listenTo(events, 's:widgetChanged:region', this.widgetRegion);\n this.listenTo(events, 'g:login g:logout.success g:logout.error', () => {\n this._openId = null;\n this.model.set({ _id: null });\n this._knownPanels = {};\n HuiSettings.clearSettingsCache();\n });\n $(document).on('mousedown.h-image-view', (evt) => {\n // let the context menu close itself\n if ($(evt.target).parents('#h-annotation-context-menu').length) {\n return;\n }\n this._closeContextMenu();\n\n if ($(evt.target).parents('#h-pixelmap-context-menu').length) {\n return;\n }\n this._closePixelmapContextMenu();\n });\n $(document).on('keydown.h-image-view', (evt) => {\n if (evt.keyCode === 27) {\n this._closeContextMenu();\n }\n });\n this.render();\n },\n render() {\n // Ensure annotations are removed from the popover widget on rerender.\n // This can happen when opening a new image while an annotation is\n // being hovered.\n this.mouseResetAnnotation();\n this._removeDrawWidget();\n\n if (this.model.id === this._openId) {\n this.controlPanel.setElement('#h-analysis-panel').render();\n this._orderPanels();\n return;\n }\n this.$el.html(imageTemplate());\n this.contextMenu.setElement(this.$('#h-annotation-context-menu')).render();\n this.pixelmapContextMenu.setElement(this.$('#h-pixelmap-context-menu')).render();\n\n if (this.model.id) {\n this._getConfig(this.model.id);\n this._openId = this.model.id;\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n /* eslint-disable new-cap */\n this.viewerWidget = new ViewerWidget.geojs({\n parentView: this,\n el: this.$('.h-image-view-container'),\n itemId: this.model.id,\n hoverEvents: true,\n // it is very confusing if this value is smaller than the\n // AnnotationSelector MAX_ELEMENTS_LIST_LENGTH\n highlightFeatureSizeLimit: 5000,\n scale: { position: { bottom: 20, right: 10 } }\n });\n // Don't unclamp bounds for the image even if image overlays are present.\n if (this.viewerWidget.setUnclampBoundsForOverlay) {\n this.viewerWidget.setUnclampBoundsForOverlay(false);\n }\n this.trigger('h:viewerWidgetCreated', this.viewerWidget);\n\n // handle annotation mouse events\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotation', this.mouseOverAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOutAnnotation', this.mouseOutAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOnAnnotation', this.mouseOnAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseOffAnnotation', this.mouseOffAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotation', this.mouseClickAnnotation);\n this.listenTo(this.viewerWidget, 'g:mouseResetAnnotation', this.mouseResetAnnotation);\n\n // handle overlay events\n this.listenTo(this.viewerWidget, 'g:mouseClickAnnotationOverlay', this.mouseClickOverlay);\n this.listenTo(this.viewerWidget, 'g:mouseOverAnnotationOverlay', this.mouseOverOverlay);\n this.listenTo(this.viewerWidget, 'g:drawOverlayAnnotation', this.overlayLayerDrawn);\n this.listenTo(this.viewerWidget, 'g:removeOverlayAnnotation', this.overlayLayerRemoved);\n\n this.viewerWidget.on('g:imageRendered', () => {\n events.trigger('h:imageOpened', this.model);\n // store a reference to the underlying viewer\n this.viewer = this.viewerWidget.viewer;\n this.viewer.interactor().removeAction(geo.geo_action.zoomselect);\n\n let currentOptions = this.viewer.interactor().options();\n currentOptions.click.cancelOnMove = 10; // a click can move up to 10 pixels before it is considered a move\n this.viewer.interactor().options(currentOptions);\n\n this.imageWidth = this.viewer.maxBounds().right;\n this.imageHeight = this.viewer.maxBounds().bottom;\n // allow panning off the image slightly\n var extraPanWidth = 0.1, extraPanHeight = 0;\n this.viewer.maxBounds({\n left: -this.imageWidth * extraPanWidth,\n right: this.imageWidth * (1 + extraPanWidth),\n top: -this.imageHeight * extraPanHeight,\n bottom: this.imageHeight * (1 + extraPanHeight)\n });\n\n // set the viewer bounds on first load\n this.setImageBounds();\n\n // also set the query string\n this.setBoundsQuery();\n\n this.viewer._originalZoomRange = this.viewer.zoomRange().max;\n this.viewer.zoomRange({ max: this.viewer.zoomRange().max + this._increaseZoom2x });\n\n // update the query string on pan events\n this.viewer.geoOn(geo.event.pan, () => {\n this.setBoundsQuery();\n });\n\n // update the coordinate display on mouse move\n this.viewer.geoOn(geo.event.mousemove, (evt) => {\n this.showCoordinates(evt);\n });\n\n // remove the hidden class from the coordinates display\n this.$('.h-image-coordinates-container').removeClass('hidden');\n\n // show the right side control container\n this.$('#h-annotation-selector-container').removeClass('hidden');\n\n this.overviewWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-overview-widget').render();\n\n this.zoomWidget\n .setViewer(this.viewerWidget)\n .setElement('.h-zoom-widget').render();\n\n this.metadataWidget\n .setItem(this.model)\n .setElement('.h-metadata-widget').render();\n\n this.metadataPlot\n .setItem(this.model)\n .setElement('.h-metadata-plot').render();\n\n this.annotationSelector\n .setViewer(this.viewerWidget)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(this.viewerWidget)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n this._orderPanels();\n });\n this.annotationSelector.setItem(this.model);\n\n this.annotationSelector\n .setViewer(null)\n .setElement('.h-annotation-selector').render();\n\n if (this.drawWidget) {\n this.$('.h-draw-widget').removeClass('hidden');\n this.drawWidget\n .setViewer(null)\n .setAnnotationSelector(this.annotationSelector)\n .setElement('.h-draw-widget').render();\n }\n }\n this.controlPanel.setElement('#h-analysis-panel').render();\n this.popover.setElement('#h-annotation-popover-container').render();\n this._orderPanels();\n return this;\n },\n destroy() {\n if (this.viewerWidget) {\n this.viewerWidget.destroy();\n }\n this.viewerWidget = null;\n events.trigger('h:imageOpened', null);\n $(document).off('.h-image-view');\n return View.prototype.destroy.apply(this, arguments);\n },\n openImage(id) {\n /* eslint-disable backbone/no-silent */\n this.model.clear({silent: true});\n delete this.model.parent;\n if (id) {\n this.model.set({ _id: id }).fetch().then(() => {\n this._setImageInput();\n return null;\n });\n } else {\n this.model.set({ _id: null });\n this.render();\n this._openId = null;\n events.trigger('h:imageOpened', null);\n }\n },\n /**\n * Set any input image parameters to the currently open image.\n * The jobs endpoints expect file id's rather than item id's,\n * so we have to choose an appropriate file id for a number of\n * scenarios.\n *\n * * A normal item: Pick the first file id. Here we have\n * to make another rest call to get the files contained\n * in the item.\n *\n * * A large image item: choose fileId over originalId.\n *\n * After getting the file id we have to make another rest\n * call to fetch the full file model from the server. Once\n * this is complete, set the widget value.\n */\n _setImageInput() {\n if (!this.model.id) {\n return;\n }\n\n // helper functions passed through promises\n var getItemFile = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/files',\n data: {\n limit: 1,\n offset: 0\n }\n }).then((files) => {\n if (!files.length) {\n throw new Error('Item does not contain a file.');\n }\n return new FileModel(files[0]);\n });\n };\n\n var getTilesDef = (itemId) => {\n return restRequest({\n url: 'item/' + itemId + '/tiles'\n }).then((tiles) => {\n this.zoomWidget.setMaxMagnification(tiles.magnification || 20, this._increaseZoom2x, this._increaseZoom2xRange);\n this.zoomWidget.render();\n this.overviewWidget.setImage(tiles);\n return null;\n });\n };\n\n var getFileModel = (fileId) => {\n return restRequest({\n url: 'file/' + fileId\n }).then((file) => {\n return new FileModel(file);\n });\n };\n var largeImage = this.model.get('largeImage');\n var promise;\n\n if (largeImage) {\n // Prefer the fileId, expecting that jobs can handle tiled input\n promise = $.when(\n getTilesDef(this.model.id),\n getFileModel(largeImage.fileId || largeImage.originalId)\n ).then((a, b) => b); // resolve with the file model\n } else {\n promise = getItemFile(this.model.id);\n }\n\n // set control panel models that use relative paths\n this.controlPanel.models().forEach((model) => {\n if (model.get('defaultRelativePath') && model.get('channel') === 'input') {\n model.set('defaultRelativePath_id', this.model.id);\n model.set('defaultRelativePath_type', this.model.get('_modelType'));\n Object.values((this.controlPanel._panelViews || {})).forEach((panel) => {\n if (panel._widgets && panel._widgets[model.id]) {\n panel._widgets[model.id]._getDefaultInputResource(model).then((resource) => {\n if (!resource) {\n return null;\n }\n panel._widgets[model.id].model.set({\n path: resource._path,\n value: resource\n });\n return null;\n });\n }\n });\n }\n });\n\n return promise.then((file) => {\n _.each(this.controlPanel.models(), (model) => {\n if (model.get('type') === 'image') {\n model.set('value', file, { trigger: true });\n }\n });\n return null;\n });\n },\n\n _getDefaultOutputFolder() {\n const user = getCurrentUser();\n if (!user) {\n return $.Deferred().resolve().promise();\n }\n const userFolders = new FolderCollection();\n return userFolders.fetch({\n parentId: user.id,\n parentType: 'user',\n name: 'Private',\n limit: 1\n }).then(() => {\n if (userFolders.isEmpty()) {\n throw new Error('Could not find the user\\'s private folder when setting defaults');\n }\n return userFolders.at(0);\n });\n },\n\n _allowRootSelection() {\n /* It would be better to adjust hierarchy widgets to start where\n * current selections are located, but showing the root selector is a\n * start. */\n _.chain(this.controlPanel._panelViews).pluck('_childViews').flatten().each((entry) => {\n entry._rootPath = entry._rootPath === undefined ? false : entry._rootPath;\n });\n },\n\n _setDefaultFileOutputs() {\n return this._getDefaultOutputFolder().done((folder) => {\n if (folder && router.getQuery('analysis')) {\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'new-file'),\n (model) => {\n var analysis = _.last(router.getQuery('analysis').split('/'));\n analysis = this.controlPanel.$el.find('.s-panel-title:first').text() || analysis;\n var extension = (model.get('extensions') || '').split('|')[0];\n var name = `${analysis}-${model.id}${extension}`;\n if (model.get('required') !== false || (model.get('reference') && extension)) {\n model.set({\n path: [folder.get('name'), name],\n parent: folder,\n value: new ItemModel({\n name,\n folderId: folder.id\n })\n });\n }\n }\n );\n }\n });\n },\n\n _clearTooltips() {\n $('.tooltip[role=\"tooltip\"]').remove();\n },\n\n _closeAnalysis(evt) {\n evt.preventDefault();\n router.setQuery('analysis', null, { trigger: false });\n this.controlPanel.$el.addClass('hidden');\n events.trigger('query:analysis', null);\n },\n\n /**\n * Set the view (image bounds) of the current image as a\n * query string parameter.\n */\n setBoundsQuery() {\n var bounds, left, right, top, bottom, rotation;\n if (this.viewer) {\n bounds = this.viewer.bounds();\n rotation = (this.viewer.rotation() * 180 / Math.PI).toFixed();\n left = bounds.left.toFixed();\n right = bounds.right.toFixed();\n top = bounds.top.toFixed();\n bottom = bounds.bottom.toFixed();\n router.setQuery('bounds', [\n left, top, right, bottom, rotation\n ].join(','), { replace: true });\n }\n },\n\n /**\n * Get the view from the query string and set it on the image.\n */\n setImageBounds() {\n var bounds = router.getQuery('bounds');\n if (!bounds || !this.viewer) {\n return;\n }\n bounds = bounds.split(',');\n this.viewer.bounds({\n left: parseFloat(bounds[0]),\n top: parseFloat(bounds[1]),\n right: parseFloat(bounds[2]),\n bottom: parseFloat(bounds[3])\n });\n var rotation = parseFloat(bounds[4]) || 0;\n this.viewer.rotation(rotation * Math.PI / 180);\n },\n\n _updatePixelmapElements(pixelmapElements, annotation) {\n const groups = new StyleCollection();\n const defaultStyle = new StyleModel({ id: this._defaultGroup });\n groups.fetch().done(() => {\n if (!groups.has(this._defaultGroup)) {\n groups.add(defaultStyle.toJSON());\n groups.get(this._defaultGroup).save();\n }\n _.each(pixelmapElements, (pixelmap) => {\n this._reconcilePixelmapCategories(pixelmap.get('id'), groups, annotation);\n });\n this.viewerWidget.drawAnnotation(annotation);\n });\n },\n\n _updatePixelmapsWithCategories(groups) {\n const pixelmapElements = _.pluck(this._overlayLayers, 'element');\n _.each(pixelmapElements, (element) => {\n const annotation = _.find(this.annotations.models, (annotation) => annotation.elements().get(element.id));\n this._reconcilePixelmapCategories(element.id, groups, annotation);\n this._redrawAnnotation(annotation);\n });\n },\n\n _reconcilePixelmapCategories(pixelmapId, groups, annotation) {\n if (!annotation || !annotation.elements()) {\n return;\n }\n const pixelmap = annotation.elements().get(pixelmapId);\n const existingCategories = pixelmap.get('categories') || [];\n const newCategories = [];\n const newStyleGroups = [];\n _.each(existingCategories, (category) => {\n const correspondingStyle = groups.get(category.label);\n if (!correspondingStyle) {\n const newStyle = new StyleModel({\n id: category.label,\n lineColor: category.strokeColor,\n fillColor: category.fillColor\n });\n newStyleGroups.push(newStyle);\n } else {\n if (category.strokeColor !== correspondingStyle.get('lineColor')) {\n category.strokeColor = correspondingStyle.get('lineColor');\n }\n if (category.fillColor !== correspondingStyle.get('fillColor')) {\n category.fillColor = correspondingStyle.get('fillColor');\n }\n }\n newCategories.push(category);\n });\n\n groups.each((group) => {\n const correspondingCategory = existingCategories.find((category) => (\n category.label === group.get('id')));\n if (!correspondingCategory) {\n newCategories.push({\n label: group.get('id'),\n strokeColor: group.get('lineColor'),\n fillColor: group.get('fillColor')\n });\n }\n });\n\n _.each(newStyleGroups, (group) => {\n groups.add(group);\n groups.get(group.get('id')).save();\n });\n\n // move the default category to index 0 and adjust data array if needed\n const originalDefaultIndex = _.findIndex(newCategories, { label: this._defaultGroup });\n const updatedCategories = _.where(newCategories, { label: this._defaultGroup })\n .concat(_.reject(newCategories, { label: this._defaultGroup }));\n pixelmap.set('categories', updatedCategories);\n if (originalDefaultIndex !== 0) {\n const originalData = pixelmap.get('values');\n const newData = _.map(originalData, (value) => {\n if (value === originalDefaultIndex) {\n return 0;\n }\n if (value < originalDefaultIndex) {\n return value + 1;\n }\n return value;\n });\n pixelmap.set('values', newData);\n }\n },\n\n toggleAnnotation(annotation) {\n if (!this.viewerWidget) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n if (annotation.get('displayed')) {\n var viewer = this.viewerWidget.viewer || {};\n if (viewer.zoomRange && annotation._pageElements === true) {\n annotation.setView(viewer.bounds(), viewer.zoom(), viewer.zoomRange().max, true);\n }\n annotation.set('loading', true);\n annotation.once('g:fetched', () => {\n annotation.unset('loading');\n });\n annotation.fetch().then(() => {\n // abandon this if the annotation should not longer be shown\n // or we are now showing a different image.\n if (!annotation.get('displayed') || annotation.get('itemId') !== this.model.id) {\n return null;\n }\n // update pixelmaps based on styles\n const pixelmapElements = annotation.elements().where({ type: 'pixelmap' });\n if (pixelmapElements.length > 0) {\n this._updatePixelmapElements(pixelmapElements, annotation);\n return null;\n }\n this.viewerWidget.drawAnnotation(annotation);\n return null;\n });\n } else {\n this.viewerWidget.removeAnnotation(annotation);\n }\n },\n\n _redrawAnnotation(annotation) {\n if (!this.viewerWidget || !annotation.get('displayed')) {\n // We may need a way to queue annotation draws while viewer\n // initializes, but for now ignore them.\n return;\n }\n this.viewerWidget.drawAnnotation(annotation);\n },\n\n _highlightAnnotationForInteractiveMode(annotation, element) {\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n this._closeContextMenu();\n this.viewerWidget.highlightAnnotation(annotation, annotation === false ? undefined : element);\n },\n\n widgetRegion(model) {\n var value = model.get('value');\n if (!this.viewerWidget || !this.viewerWidget.viewer) {\n model.set('value', '-1,-1,-1,-1');\n return;\n }\n this._displayedRegion = value.slice();\n if (value.length === 4) {\n this.showRegion({\n left: parseFloat(value[0]),\n right: parseFloat(value[0]) + parseFloat(value[2]),\n top: parseFloat(value[1]),\n bottom: parseFloat(value[1]) + parseFloat(value[3])\n });\n } else if (value.length === 6) {\n this.showRegion({\n left: parseFloat(value[0]) - parseFloat(value[3]),\n right: parseFloat(value[0]) + parseFloat(value[3]),\n top: parseFloat(value[1]) - parseFloat(value[4]),\n bottom: parseFloat(value[1]) + parseFloat(value[4])\n });\n } else if (value.length >= 8) {\n let points = [[]];\n for (let idx = 0; idx < value.length - 1; idx += 2) {\n if (parseFloat(value[idx]) === -1 && parseFloat(value[idx + 1]) === -1) {\n points.push([]);\n } else {\n points[points.length - 1].push([parseFloat(value[idx]), parseFloat(value[idx + 1])]);\n }\n }\n this.showRegion({\n elements: points.map((pts) => ({\n type: 'polyline',\n closed: true,\n points: pts\n }))\n });\n }\n },\n\n _resetRegion() {\n var hasRegionParameter;\n if (!this._displayedRegion) {\n return;\n }\n _.each(\n this.controlPanel.models().filter((model) => model.get('type') === 'region'),\n (model) => {\n model.set('value', this._displayedRegion);\n hasRegionParameter = true;\n }\n );\n if (!hasRegionParameter) {\n this._displayedRegion = null;\n this.showRegion(null);\n }\n },\n\n showRegion(region) {\n if (!this.viewerWidget) {\n return;\n }\n\n this.viewerWidget.removeAnnotation(\n new AnnotationModel({ _id: 'region-selection' })\n );\n if (!region) {\n return;\n }\n\n var fillColor = 'rgba(255,255,255,0)';\n var lineColor = 'rgba(0,0,0,1)';\n var lineWidth = 2;\n var annotation;\n if (region.elements) {\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: region.elements.map((entry) => _.extend({}, entry, {\n fillColor,\n lineColor,\n lineWidth\n }))\n }\n });\n } else {\n var center = [\n (region.left + region.right) / 2,\n (region.top + region.bottom) / 2,\n 0\n ];\n var width = region.right - region.left;\n var height = region.bottom - region.top;\n var rotation = 0;\n annotation = new AnnotationModel({\n _id: 'region-selection',\n name: 'Region',\n annotation: {\n elements: [{\n type: 'rectangle',\n center,\n width,\n height,\n rotation,\n fillColor,\n lineColor,\n lineWidth\n }]\n }\n });\n }\n this.viewerWidget.drawAnnotation(annotation, { fetch: false });\n },\n\n showCoordinates(evt) {\n if (this.viewer) {\n var pt = evt.geo;\n this.$('.h-image-coordinates').text(\n pt.x.toFixed() + ', ' + pt.y.toFixed()\n );\n }\n },\n\n mouseOnAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n this._lastMouseOnElement = {element: element, annotationId: annotationId};\n if (!this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.set('highlight', true);\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseon', elementModel);\n }\n },\n\n mouseOffAnnotation(element, annotationId) {\n this._lastMouseOnElement = null;\n if (annotationId === 'region-selection' || annotationId === 'selected' || !this.annotationSelector.interactiveMode()) {\n return;\n }\n const annotation = this.annotations.get(annotationId);\n const elementModel = annotation.elements().get(element.id);\n annotation.unset('highlight');\n if (this.drawWidget) {\n this.drawWidget.trigger('h:mouseoff', elementModel);\n }\n },\n\n mouseOverAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.add(element);\n }\n },\n\n mouseOutAnnotation(element, annotationId) {\n if (annotationId === 'region-selection' || annotationId === 'selected') {\n return;\n }\n element.annotation = this.annotations.get(annotationId);\n if (element.annotation) {\n this.popover.collection.remove(element);\n }\n },\n\n mouseResetAnnotation() {\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n },\n\n getPixelmapElements() {\n let allPixelmaps = [];\n this.annotations.each((annotation) => {\n const pixelmaps = annotation.elements().filter((element) => element.get('type') === 'pixelmap');\n allPixelmaps = allPixelmaps.concat(pixelmaps);\n });\n return allPixelmaps;\n },\n\n _getCategoryIndexFromStyleGroup(annotationElement, styleGroup) {\n const categories = annotationElement.get('categories');\n const groupId = styleGroup.get('id');\n const newIndex = _.findIndex(categories, { label: groupId });\n return (newIndex < 0) ? 0 : newIndex;\n },\n\n _updatePixelmapValues(pixelmapElementModel, layer, annotation) {\n let newData = layer.data();\n if (pixelmapElementModel.get('boundaries')) {\n newData = newData.filter((d, i) => i % 2 === 0);\n }\n pixelmapElementModel.set('values', newData);\n if (annotation) {\n this._redrawAnnotation(annotation);\n }\n },\n\n _closePixelmapContextMenu() {\n if (!this._pixelmapContextMenuActive) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap();\n this.$('#h-pixelmap-context-menu').addClass('hidden');\n this._pixelmapContextMenuActive = false;\n },\n\n _handlePixelmapContextMenu(pixelmap, dataIndex, group) {\n const categoryIndex = _.findIndex(pixelmap.get('categories'), { label: group });\n const pixelmapLayer = this.viewer.layers().find((layer) => layer.id() === pixelmap.get('id'));\n if (!pixelmapLayer || dataIndex < 0) {\n return;\n }\n const layerDataIndex = pixelmap.get('boundaries') ? (dataIndex - dataIndex % 2) : dataIndex;\n const offset = pixelmap.get('boundaries') ? 1 : 0;\n const data = pixelmapLayer.data();\n const categories = pixelmap.get('categories');\n const newValue = (categoryIndex < 0 || categoryIndex >= categories.length) ? 0 : categoryIndex;\n data[layerDataIndex] = data[layerDataIndex + offset] = newValue;\n pixelmapLayer.indexModified(layerDataIndex, layerDataIndex + offset).draw();\n this._debounceUpdatePixelmapValues(pixelmap, pixelmapLayer);\n },\n\n mouseClickOverlay(overlayElement, overlayLayer, event) {\n if (overlayElement.get('type') !== 'pixelmap') { return; }\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n if (event.mouse.buttonsDown.left && this.drawWidget && overlayAnnotationIsSelected) {\n // left click. check what the active style is and if it applies\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n } else if (event.mouse.buttonsDown.right) {\n const annotation = this.annotations.find((annotation) => annotation.elements().get(overlayElement.id));\n this._queueMouseClickAction(overlayElement, annotation.id, null, null);\n window.requestAnimationFrame(() => {\n const data = this._processMouseClickQueue();\n if (!data || data.element.id !== overlayElement.id) {\n return;\n }\n if (!this._canOpenContextMenu()) {\n return;\n }\n this.pixelmapContextMenu.updatePixelmap(overlayElement, event.index);\n // show pixelmap context menu\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-pixelmap-context-menu');\n const position = event.mouse.page;\n menu.removeClass('hidden');\n // adjust the vertical position of the context menu\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n const top = Math.max(0, position.y + belowWindow);\n\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({ left, top });\n this._pixelmapContextMenuActive = true;\n }, 1);\n });\n }\n },\n\n mouseOverOverlay(overlayElement, overlayLayer, event) {\n const overlayAnnotationIsSelected = this.activeAnnotation && this.activeAnnotation.elements().get(overlayElement.id);\n if (event.mouse.buttons.left && event.mouse.modifiers.shift && this.drawWidget && overlayAnnotationIsSelected) {\n const style = this.drawWidget.getStyleGroup();\n const newIndex = this._getCategoryIndexFromStyleGroup(overlayElement, style);\n\n const index = overlayElement.get('boundaries') ? (event.index - event.index % 2) : event.index;\n const offset = overlayElement.get('boundaries') ? 1 : 0;\n const data = overlayLayer.data();\n const categories = overlayElement.get('categories');\n const newValue = (newIndex < 0 || newIndex >= categories.length) ? 0 : newIndex;\n data[index] = data[index + offset] = newValue;\n overlayLayer.indexModified(index, index + offset).draw();\n this._debounceUpdatePixelmapValues(overlayElement, overlayLayer);\n }\n },\n\n overlayLayerDrawn(element, layer) {\n this._overlayLayers[element.id] = {\n layer: layer,\n element: element\n };\n },\n\n overlayLayerRemoved(element, layer) {\n if (this._overlayLayers[element.id]) {\n delete this._overlayLayers[element.id];\n }\n },\n\n mouseClickAnnotation(element, annotationId, evt) {\n if (!element.annotation) {\n // This is an instance of \"selectedElements\" and should be ignored.\n return;\n }\n\n /*\n * Click events on geojs features are triggered once per feature in a single animation frame.\n * Here we collect all click events occurring in a single animation frame and defer processing.\n * On the next frame, the queue is processed and the action is only performed on the \"closest\"\n * feature. Here \"closest\" is determined by a fast heuristic--the one with a vertex closest\n * to the point clicked. We can improve this heuristic as necessary.\n */\n this._queueMouseClickAction(element, annotationId, evt.data.geometry, evt.mouse.geo);\n if (this._mouseClickQueue.length > 1) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n const { element, annotationId } = this._processMouseClickQueue();\n if (!evt.mouse.modifiers.shift) {\n if (evt.mouse.buttonsDown.right) {\n this._openContextMenu(element.annotation.elements().get(element.id), annotationId, evt);\n } else if (evt.mouse.modifiers.ctrl && !this.viewerWidget.annotationLayer.mode()) {\n this._toggleSelectElement(element.annotation.elements().get(element.id));\n }\n }\n });\n },\n\n toggleLabels(options) {\n this.popover.toggle(options.show);\n },\n\n _queueMouseClickAction(element, annotationId, geometry, center) {\n let minimumDistance = Number.POSITIVE_INFINITY;\n if (geometry) {\n if (geometry.type !== 'Polygon') {\n // We don't current try to resolve any other geometry type, for the moment,\n // any point or line clicked on will always be chosen over a polygon.\n minimumDistance = 0;\n } else {\n const points = geometry.coordinates[0];\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n }\n }\n this._mouseClickQueue.push({ element, annotationId, value: minimumDistance });\n },\n\n _processMouseClickQueue(evt) {\n const sorted = _.sortBy(this._mouseClickQueue, _.property('value'));\n this._mouseClickQueue = [];\n return sorted[0];\n },\n\n _toggleInteractiveMode(interactive) {\n if (!interactive) {\n this.viewerWidget.highlightAnnotation();\n this.annotations.each((annotation) => {\n annotation.unset('highlight');\n if (this.drawWidget) {\n annotation.elements().each((element) => {\n this.drawWidget.trigger('h:mouseoff', element);\n });\n }\n });\n }\n },\n\n _removeDrawWidget() {\n if (this.drawWidget) {\n this._lastDrawingType = this.drawWidget.drawingType();\n this.drawWidget.cancelDrawMode();\n this.stopListening(this.drawWidget);\n this.drawWidget.remove();\n this.drawWidget = null;\n $('
').addClass('h-draw-widget s-panel hidden').attr('id', 'h-draw-panel')\n .appendTo(this.$('#h-annotation-selector-container'));\n this._orderPanels();\n }\n },\n\n _editAnnotation(model) {\n if (this.activeAnnotation === model) {\n return;\n }\n this.activeAnnotation = model;\n this.annotationSelector.$('.h-annotation').removeClass('h-active-annotation');\n this._removeDrawWidget();\n if (model) {\n this.annotationSelector.$('.h-annotation[data-id=\"' + model.id + '\"]').addClass('h-active-annotation');\n this.drawWidget = new DrawWidget({\n parentView: this,\n image: this.model,\n annotation: this.activeAnnotation,\n drawingType: this._lastDrawingType,\n el: this.$('.h-draw-widget'),\n viewer: this.viewerWidget,\n annotationSelector: this.annotationSelector\n }).render();\n this.listenTo(this.drawWidget, 'h:redraw', this._redrawAnnotation);\n this.listenTo(this.drawWidget, 'h:styleGroupsUpdated', this._updatePixelmapsWithCategories);\n this.$('.h-draw-widget').removeClass('hidden');\n }\n },\n\n _deleteAnnotation(model) {\n if (this.activeAnnotation && this.activeAnnotation.id === model.id) {\n this._removeDrawWidget();\n }\n },\n\n _setAnnotationOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationOpacity(opacity);\n },\n\n _setAnnotationFillOpacity(opacity) {\n this.viewerWidget.setGlobalAnnotationFillOpacity(opacity);\n },\n\n _onKeyDown(evt) {\n /* Don't trigger keys if we are in an input field. */\n if (/^(input|textarea|select)$/.test((document.activeElement.tagName || '').toLowerCase())) {\n return;\n }\n const drawModes = {\n o: 'point',\n r: 'rectangle',\n i: 'ellipse',\n c: 'circle',\n p: 'polygon',\n l: 'line',\n b: 'brush'\n };\n switch (evt.key) {\n case 'a':\n this._showOrHideAnnotations();\n break;\n case 'e':\n if (this._lastMouseOnElement) {\n const annotation = this.annotations.get(this._lastMouseOnElement.annotationId);\n const elementModel = annotation.elements().get(this._lastMouseOnElement.element.id);\n this._editElementShape(elementModel, annotation.id);\n }\n break;\n case 's':\n this.annotationSelector.selectAnnotationByRegion();\n break;\n case ' ': // pressing space bar creates a new annotation\n this.annotationSelector.createAnnotation();\n break;\n case 'B':\n if (this.activeAnnotation) {\n this.drawWidget.nextBrushShape();\n }\n break;\n case '[':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(-1);\n }\n break;\n case ']':\n if (this.activeAnnotation) {\n this.drawWidget.adjustBrushSize(1);\n }\n break;\n case 'q':\n if (this.activeAnnotation) {\n this.drawWidget.setToPrevStyleGroup();\n }\n break;\n case 'w':\n if (this.activeAnnotation) {\n this.drawWidget.setToNextStyleGroup();\n }\n break;\n case 'Enter':\n const drawingType = this.drawWidget && this.drawWidget._drawingType;\n if (this.activeAnnotation && ['polygon', 'line'].includes(drawingType)) {\n const annotation = this.viewerWidget.annotationLayer.annotations()[0];\n\n // The current mouse position is included as the last vertex, so remove\n // it before saving it\n annotation.options('vertices').pop();\n\n // Only save the annotation if there are enough vertices for it to form\n // a line or polygon\n if (\n (drawingType === 'polygon' && annotation.options('vertices').length > 2) ||\n (drawingType === 'line' && annotation.options('vertices').length > 1)\n ) {\n annotation.state(geo.annotation.state.done).modified().draw();\n }\n\n this.drawWidget.cancelDrawMode();\n }\n break;\n default:\n if (this.drawWidget && drawModes[evt.key] && this.activeAnnotation) {\n let mode = drawModes[evt.key];\n if (this.drawWidget._drawingType === mode) {\n this.drawWidget.cancelDrawMode();\n } else {\n this.drawWidget.drawElement(undefined, mode);\n }\n }\n break;\n }\n },\n\n _trackMousePosition(evt) {\n this._currentMousePosition = {\n page: {\n x: evt.pageX,\n y: evt.pageY\n },\n client: {\n x: evt.clientX,\n y: evt.clientY\n }\n };\n },\n\n _showOrHideAnnotations() {\n if (this.annotations.any((a) => a.get('displayed'))) {\n this.annotationSelector.hideAllAnnotations();\n } else {\n this.annotationSelector.showAllAnnotations();\n }\n },\n\n _selectElementsByRegion() {\n this._selectElementsByRegionCanceled = false;\n this.viewerWidget.drawRegion().then((coord) => {\n if (this._selectElementsByRegionCanceled) {\n return this;\n }\n const boundingBox = {\n left: coord[0],\n top: coord[1],\n width: coord[2],\n height: coord[3]\n };\n this._resetSelection();\n const found = this.getElementsInBox(boundingBox);\n found.forEach(({ element }, idx) => this._selectElement(element, {silent: idx !== found.length - 1}));\n if (this.selectedElements.length > 0 && this._currentMousePosition) {\n // fake an open context menu\n const { element, annotationId } = found[0];\n this._openContextMenu(element, annotationId, {\n mouse: this._currentMousePosition\n });\n }\n this.trigger('h:selectedElementsByRegion', this.selectedElements);\n return this;\n });\n },\n\n _selectElementsByRegionCancel() {\n this.viewerWidget.annotationLayer.mode(null);\n this._selectElementsByRegionCanceled = true;\n this.trigger('h:selectedElementsByRegion', []);\n },\n\n getElementsInBox(boundingBox) {\n const lowerLeft = { x: boundingBox.left, y: boundingBox.top + boundingBox.height };\n const upperRight = { x: boundingBox.left + boundingBox.width, y: boundingBox.top };\n\n const results = [];\n this.viewerWidget.featureLayer.features().forEach((feature) => {\n const r = feature.boxSearch(lowerLeft, upperRight, { partial: false });\n r.found.forEach((feature) => {\n const annotationId = feature.properties ? feature.properties.annotation : null;\n const element = feature.properties ? feature.properties.element : null;\n if (element && element.id && annotationId) {\n const annotation = this.annotations.get(annotationId);\n results.push({\n element: annotation.elements().get(element.id),\n annotationId\n });\n }\n });\n });\n return results;\n },\n\n _canOpenContextMenu() {\n return !this._contextMenuActive && !this._pixelmapContextMenuActive;\n },\n\n _openContextMenu(element, annotationId, evt) {\n if (!this._canOpenContextMenu() || !element) {\n return;\n }\n if (!this.selectedElements.get(element.id)) {\n this._resetSelection();\n this._selectElement(element);\n }\n\n if (!this.selectedElements.get(element.id)) {\n // If still not selected, then the user does not have access.\n return;\n }\n\n // Defer the context menu action into the next animation frame\n // to work around a problem with preventDefault on Windows\n window.setTimeout(() => {\n const $window = $(window);\n const menu = this.$('#h-annotation-context-menu');\n const position = evt.mouse.page;\n menu.removeClass('hidden');\n\n // adjust the vertical position of the context menu\n // == 0, above the bottom; < 0, number of pixels below the bottom\n // the menu height is bigger by 20 pixels due to extra padding\n const belowWindow = Math.min(0, $window.height() - position.y - menu.height() + 20);\n // ensure the top is not above the top of the window\n const top = Math.max(0, position.y + belowWindow);\n\n // Put the context menu to the left of the cursor if it is too close\n // to the right edge.\n const windowWidth = $window.width();\n const menuWidth = menu.width();\n let left = position.x;\n if (left + menuWidth > windowWidth) {\n left -= menuWidth;\n }\n left = Math.max(left, 0);\n\n menu.css({ left, top });\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = true;\n }, 1);\n },\n\n _closeContextMenu() {\n if (!this._contextMenuActive) {\n return;\n }\n this.$('#h-annotation-context-menu').addClass('hidden');\n this._resetSelection();\n if (this.popover.collection.length) {\n this.popover.collection.reset();\n }\n this._contextMenuActive = false;\n this.viewerWidget.viewer.node().focus();\n },\n\n _editElement(element) {\n const annotation = this.annotations.get(element.originalAnnotation);\n this._editAnnotation(annotation);\n editElement(annotation.elements().get(element.id), this._defaultGroup);\n },\n\n _editElementShape(element, annotationId) {\n const annotation = this.annotations.get(element.originalAnnotation || annotationId);\n this._editAnnotation(annotation);\n const geojson = convertToGeojson(element);\n this._currentAnnotationEditShape = {\n annotation: annotation,\n element: annotation.elements().get(element.id)\n };\n this.viewerWidget.hideAnnotation(annotation.id, element.id);\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n const count = this.viewerWidget.annotationLayer.geojson(geojson);\n if (count !== 1) {\n return;\n }\n const annot = this.viewerWidget.annotationLayer.annotations();\n if (annot.length !== 1) {\n return;\n }\n // geoOff state so the annotation isn't added by large_image_annotation\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state);\n this.viewerWidget.annotationLayer.mode(this.viewerWidget.annotationLayer.modes.edit, annot[0]).draw();\n if (!this._editElementShapeFinishBound) {\n this._editElementShapeFinishBound = _.bind(this._editElementShapeFinish, this);\n }\n this.viewerWidget.annotationLayer.geoOn(geo.event.annotation.state, this._editElementShapeFinishBound);\n },\n\n _editElementShapeFinish(event) {\n if (event.annotation.state() !== geo.annotation.state.done) {\n return;\n }\n this.viewerWidget.annotationLayer.geoOff(geo.event.annotation.state, this._editElementShapeFinishBound);\n const annot = convertFromGeojson(event.annotation);\n var update = {};\n ['points', 'center', 'width', 'height', 'rotation'].forEach((key) => {\n if (annot[key] !== undefined) {\n update[key] = annot[key];\n }\n });\n this._currentAnnotationEditShape.element.set(update);\n this._currentAnnotationEditShape = null;\n this.viewerWidget.annotationLayer.removeAllAnnotations();\n this.viewerWidget.hideAnnotation();\n },\n\n _redrawSelection() {\n this.viewerWidget.removeAnnotation(this.selectedAnnotation);\n this.viewerWidget.drawAnnotation(this.selectedAnnotation, {fetch: false});\n },\n\n _selectElement(element, options) {\n // don't allow selecting annotations with no write access or\n // elements not associated with a real annotation.\n const annotation = (element.collection || {}).annotation;\n if (!annotation || annotation.get('_accessLevel') < AccessType.WRITE) {\n return;\n }\n\n var elementModel = this.selectedElements.add(element.attributes, options);\n elementModel.originalAnnotation = annotation;\n this.viewerWidget.highlightAnnotation(this.selectedAnnotation.id);\n },\n\n _unselectElement(element) {\n this.selectedElements.remove(element.id);\n if (!this.selectedElements.length) {\n this.viewerWidget.highlightAnnotation();\n }\n },\n\n _toggleSelectElement(element) {\n if (element) {\n if (this.selectedElements.get(element.id)) {\n this._unselectElement(element);\n } else {\n this._selectElement(element);\n }\n }\n },\n\n _resetSelection() {\n if (this.viewerWidget._highlightAnnotation) {\n this.viewerWidget.highlightAnnotation();\n }\n if (this.selectedElements.length) {\n this.selectedElements.reset();\n }\n },\n\n _saveSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => {\n const annotation = this.annotations.get(annotationId);\n _.each(elements, (element) => { /* eslint-disable backbone/no-silent */\n const annotationElement = annotation.elements().get(element.id);\n // silence the event because we want to make one save call for each annotation.\n annotationElement.set(element.toJSON(), { silent: true });\n if (!element.get('group')) {\n annotationElement.unset('group', { silent: true });\n }\n });\n if (!elements.length) {\n return;\n }\n const annotationData = _.extend({}, annotation.get('annotation'));\n annotationData.elements = annotation.elements().toJSON();\n annotation.set('annotation', annotationData);\n });\n },\n\n _removeSelection() {\n const groupedAnnotations = this.selectedElements.groupBy((element) => element.originalAnnotation.id);\n _.each(groupedAnnotations, (elements, annotationId) => { /* eslint-disable backbone/no-silent */\n // silence the event because we want to make one save call for each annotation.\n const elementsCollection = this.annotations.get(annotationId).elements();\n elementsCollection.remove(elements, { silent: true });\n elementsCollection.trigger('reset', elementsCollection);\n });\n },\n _orderPanels() {\n if (!this._knownPanels) {\n this._knownPanels = {};\n }\n HuiSettings.getSettings().then((settings) => {\n let layout = settings['histomicsui.panel_layout'];\n if (!layout) {\n return null;\n }\n layout = JSON.parse(layout);\n const panels = this.$('[id^=h-][id$=-panel]');\n panels.each((idx, panel) => {\n panel = $(panel);\n let info = {\n name: panel.attr('id').substr(2, panel.attr('id').length - 8),\n position: 'left',\n state: 'open'\n };\n if (!panel.closest('.h-panel-group-left').length) {\n info.position = 'right';\n }\n if (!panel.find('.s-panel-content.collapse.in').length) {\n info.state = 'closed';\n }\n this._knownPanels[info.name] = info;\n });\n layout = layout.filter((spec) => this.$(`#h-${spec.name}-panel`).length).reverse();\n layout.forEach((spec) => {\n let panel = this.$(`#h-${spec.name}-panel`);\n let info = this._knownPanels[spec.name];\n\n if (spec.position === 'hidden') {\n panel.addClass('hidden');\n return;\n }\n const parent = spec.position === 'left' || (spec.position !== 'right' && info.position === 'left') ? '.h-panel-group-left' : '.h-panel-group-right';\n panel.prependTo(parent);\n if (!info.processed && panel.find('.s-panel-content').length) {\n if (spec.state === 'open') {\n panel.find('.s-panel-content').addClass('in');\n panel.find('.s-panel-controls .icon-down-open').removeClass('icon-down-open').addClass('icon-up-open');\n }\n if (spec.state === 'closed') {\n panel.find('.s-panel-content').removeClass('in');\n panel.find('.s-panel-controls .icon-up-open').removeClass('icon-up-open').addClass('icon-down-open');\n }\n info.processed = true;\n }\n });\n return null;\n });\n },\n _getConfig(modelId) {\n restRequest({\n url: `folder/${this.model.get('folderId')}/yaml_config/.histomicsui_config.yaml`\n }).done((val) => {\n if (!val || this.model.id !== modelId) {\n return;\n }\n if (val.annotationGroups) {\n let groups = new StyleCollection();\n groups.fetch().done(() => {\n if (!val || this.model.id !== modelId) {\n return;\n }\n this._defaultGroup = val.annotationGroups.defaultGroup || 'default';\n if ((val.annotationGroups.groups || []).length) {\n if (val.annotationGroups.replaceGroups) {\n while (groups.length) {\n groups.first().destroy();\n }\n }\n val.annotationGroups.groups.forEach((group) => {\n group.label = group.label ? {value: group.label} : undefined;\n groups.add(group);\n });\n groups.each((model) => { model.save(); });\n }\n });\n }\n });\n }\n});\nexport default ImageView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/body/ImageView.js","import { getCurrentUser } from '@girder/core/auth';\nimport GirderHeaderUserView from '@girder/core/views/layout/HeaderUserView';\n\nimport headerUserTemplate from '../../templates/layout/headerUser.pug';\n\nvar HeaderUserView = GirderHeaderUserView.extend({\n render() {\n this.$el.html(headerUserTemplate({\n user: getCurrentUser()\n }));\n return this;\n }\n});\n\nexport default HeaderUserView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/layout/HeaderUserView.js","import View from '../View';\nimport HeaderAnalysesView from './HeaderAnalysesView';\nimport HeaderUserView from './HeaderUserView';\nimport HeaderImageView from './HeaderImageView';\nimport router from '../../router';\n\nimport headerTemplate from '../../templates/layout/header.pug';\nimport '../../stylesheets/layout/header.styl';\n\nvar HeaderView = View.extend({\n events: {\n 'click #h-navbar-brand': function () {\n router.navigate('', {trigger: true});\n }\n },\n\n initialize(params) {\n this.settings = params.settings;\n return View.prototype.initialize.apply(this, arguments);\n },\n\n render() {\n this.$el.html(headerTemplate({\n brandName: this.settings.brandName,\n brandColor: this.settings.brandColor,\n bannerColor: this.settings.bannerColor,\n helpURL: this.settings.helpURL && this.settings.helpURL.trim() === '' ? false : this.settings.helpURL,\n helpTooltip: this.settings.helpTooltip,\n helpText: this.settings.helpText\n }));\n\n this.$('a[title]').tooltip({\n placement: 'bottom',\n delay: {show: 300}\n });\n\n new HeaderUserView({\n el: this.$('.h-current-user-wrapper'),\n parentView: this\n }).render();\n\n new HeaderImageView({\n el: this.$('.h-image-menu-wrapper'),\n parentView: this\n }).render();\n\n new HeaderAnalysesView({\n el: this.$('.h-analyses-wrapper'),\n parentView: this\n }).render();\n\n return this;\n }\n});\n\nexport default HeaderView;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/layout/HeaderView.js","import $ from 'jquery';\n\nimport StyleCollection from '../../collections/StyleCollection';\nimport View from '../View';\n\nimport template from '../../templates/popover/annotationContextMenu.pug';\nimport '../../stylesheets/popover/annotationContextMenu.styl';\n\nconst AnnotationContextMenu = View.extend({\n events: {\n 'click .h-remove-elements': '_removeElements',\n 'click .h-edit-elements': '_editElements',\n 'click .h-edit-shape': '_editElements',\n 'click .h-set-group': '_setGroup',\n 'click .h-remove-group': '_removeGroup'\n },\n initialize(settings) {\n this._cachedGroupCount = {};\n this.styles = new StyleCollection();\n this.styles.fetch().done(() => this.render());\n this.listenTo(this.collection, 'add remove reset', this.render);\n },\n render() {\n this.$el.html(template({\n groups: this._getAnnotationGroups(),\n numberSelected: this.collection.length\n }));\n return this;\n },\n refetchStyles() {\n this.styles.fetch().done(() => this.render());\n },\n setGroupCount(groupCount) {\n this._cachedGroupCount = groupCount;\n },\n _removeElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n this.collection.each((element) => {\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n } else if (element.attributes.type === 'pixelmap') {\n this.parentView.drawWidget.countPixelmap(element, -1);\n }\n }\n });\n this.collection.trigger('h:remove');\n this.trigger('h:close');\n },\n _editElements(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n if ($(evt.target).closest('.list-group-item').hasClass('h-edit-shape')) {\n this.trigger('h:editShape', this.collection.at(0));\n } else {\n this.trigger('h:edit', this.collection.at(0));\n }\n this.trigger('h:close');\n },\n _setStyleDefinition(group) {\n const style = this.styles.get({ id: group }) || this.styles.get({ id: this.parentView._defaultGroup });\n const styleAttrs = Object.assign({}, style.toJSON());\n delete styleAttrs.id;\n this.collection.each((element) => { /* eslint-disable backbone/no-silent */\n if (this.parentView.drawWidget && this.parentView.activeAnnotation.id === element.originalAnnotation.id &&\n element.attributes.group !== group && ['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.attributes.type)) {\n this.parentView.drawWidget.updateCount(element.attributes.group || this.parentView._defaultGroup, -1);\n this.parentView.drawWidget.updateCount(group || this.parentView._defaultGroup, 1);\n }\n if (group) {\n styleAttrs.group = group;\n } else {\n element.unset('group', {silent: true});\n }\n element.set(styleAttrs, {silent: true});\n });\n this.collection.trigger('h:save');\n this.trigger('h:close');\n },\n _getAnnotationGroups() {\n const groups = this.styles.map((style) => style.id);\n groups.sort((a, b) => {\n const countA = this._cachedGroupCount[a] || 0;\n const countB = this._cachedGroupCount[b] || 0;\n if (countA !== countB) {\n return countB - countA;\n }\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n });\n return groups;\n },\n _setGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n const group = $(evt.currentTarget).data('group');\n this._setStyleDefinition(group);\n },\n _removeGroup(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n\n this._setStyleDefinition(null);\n }\n});\n\nexport default AnnotationContextMenu;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/popover/AnnotationContextMenu.js","import _ from 'underscore';\nimport $ from 'jquery';\n\nimport { restRequest } from '@girder/core/rest';\nimport ElementCollection from '@girder/large_image_annotation/collections/ElementCollection';\nimport convertRectangle from '@girder/large_image_annotation/annotations/geometry/rectangle';\nimport convertEllipse from '@girder/large_image_annotation/annotations/geometry/ellipse';\nimport convertCircle from '@girder/large_image_annotation/annotations/geometry/circle';\nimport convert from '@girder/large_image_annotation/annotations/convert';\n\nimport events from '../../events';\nimport View from '../View';\nimport annotationPopover from '../../templates/popover/annotationPopover.pug';\nimport '../../stylesheets/popover/annotationPopover.styl';\n\n/**\n * Format a point as a string for the user.\n */\nfunction point(p) {\n return `(${parseInt(p[0])}, ${parseInt(p[1])})`;\n}\n\n/**\n * Format a distance as a string for the user.\n */\nfunction length(p, scale) {\n let result = `${Math.ceil(p)} px`;\n let scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n let scaleresult = scaleWidget.formatUnit(p * scale, 'si', undefined, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format an area as a string for the user.\n */\nfunction areaStr(p, scale) {\n let result = `${Math.ceil(p)} px\\xB2`;\n let scaleWidget = window.geo.gui.scaleWidget;\n if (scale && scaleWidget && scaleWidget.formatUnit) {\n let scaleresult = scaleWidget.formatUnit(p * scale * scale, 'si', scaleWidget.areaUnitsTable, 4);\n if (scaleresult) {\n result += ` (${scaleresult})`;\n }\n }\n return result;\n}\n\n/**\n * Format a rotation as a string for the user.\n */\nfunction rotation(r) {\n return `${parseInt(r * 180 / Math.PI)}°`;\n}\n\n/**\n * Format a Date object as a localized string.\n */\nfunction formatDate(s) {\n var d = new Date(s);\n return d.toLocaleString();\n}\n\n/**\n * This view behaves like a bootstrap \"popover\" that follows the mouse pointer\n * over the image canvas and dynamically updates according to the features\n * under the pointer.\n *\n * @param {object} [settings]\n * @param {number} [settings.debounce]\n * Debounce time in ms for rerendering due to mouse movements\n */\nvar AnnotationPopover = View.extend({\n initialize(settings) {\n if (settings.debounce) {\n this._position = _.debounce(this._position, settings.debounce);\n }\n\n $('body').on('mousemove', '.h-image-view-body', (evt) => this._position(evt));\n $('body').on('mouseout', '.h-image-view-body', () => this._hide());\n $('body').on('mouseover', '.h-image-view-body', () => this._show());\n\n this._hidden = !settings.visible;\n this._users = {};\n this.collection = new ElementCollection();\n this.listenTo(this.collection, 'add', this._getUser);\n this.listenTo(this.collection, 'all', this.render);\n this.listenTo(events, 'h:imageOpened', this._bindMoveEvent);\n\n this._recomputeClosestElementThrottled = _.throttle(this._recomputeClosestElement, 100);\n },\n\n render() {\n if (!this._closestElement) {\n this.$el.html('');\n } else {\n const element = this._closestElement;\n const annotation = element.get('annotation');\n this.$el.html(\n annotationPopover({\n annotations: [annotation],\n elements: {[annotation.id]: [element]},\n formatDate,\n users: this._users,\n elementProperties: (element) => this._elementProperties(element)\n })\n );\n }\n this._show();\n if (!this._visible()) {\n this._hide();\n }\n this._height = this.$('.h-annotation-popover').height();\n this._position();\n return this;\n },\n\n /**\n * Set the popover visibility state.\n *\n * @param {boolean} [show]\n * if true: show the popover\n * if false: hide the popover\n * if undefined: toggle the popover state\n */\n toggle(show) {\n if (show === undefined) {\n show = this._hidden;\n }\n this._hidden = !show;\n this.render();\n return this;\n },\n\n /**\n * Check the local cache for the given creator. If it has not already been\n * fetched, then send a rest request to get the user information and\n * rerender the popover.\n *\n * As a consequence to avoid always rendering asynchronously, the user name\n * will not be shown on the first render. In practice, this isn't usually\n * noticeable.\n */\n _getUser(model) {\n var id = model.get('annotation').get('creatorId');\n if (!_.has(this._users, id)) {\n restRequest({\n url: 'user/' + id\n }).done((user) => {\n this._users[id] = user;\n this.render();\n });\n }\n },\n\n /**\n * Get an object containing elements that are to be\n * displayed to the user in a popover. This object is\n * cached on the model to avoid recomputing these properties\n * every time they are displayed.\n */\n _elementProperties(element) {\n // cache the popover properties to reduce\n // computations on mouse move\n if (element._popover) {\n return element._popover;\n }\n\n function setIf(key, func = (v) => v) {\n const value = element.get(key);\n if (value) {\n let args = [value].concat(Array.prototype.slice.call(arguments, 2));\n props[key] = func.apply(this, args);\n }\n }\n\n const props = {};\n element._popover = props;\n\n if (element.get('label')) {\n props.label = element.get('label').value;\n }\n if (element.get('group')) {\n props.group = element.get('group');\n }\n let geojson = convert(element, {}).features[0];\n let geogeom = geojson.geometry;\n let area, edge, scale;\n if (geogeom.type === 'Polygon') {\n area = edge = 0;\n let lens = [];\n for (let j = 0; j < geogeom.coordinates.length; j += 1) {\n for (let i = 0; i < geogeom.coordinates[j].length - 1; i += 1) {\n let v0 = geogeom.coordinates[j][i];\n let v1 = geogeom.coordinates[j][i + 1];\n area += (v1[1] - v0[1]) * (v0[0] + v1[0]) / 2 * (!j ? 1 : -1);\n let len = ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n edge += len;\n lens.push(len);\n }\n }\n area = Math.abs(area);\n if ((geojson.properties.annotationType === 'ellipse' || geojson.properties.annotationType === 'circle') && edge) {\n area *= Math.PI / 4;\n const a = lens[0] / 2;\n const b = lens[1] / 2;\n const h = (a - b) ** 2 / (a + b) ** 2;\n // Ramanujan's approximation -- we actually need a series to\n // compute this properly.\n edge = Math.PI * (a + b) * (1 + 3 * h / (10 + (4 - 3 * h) ** 0.5));\n }\n }\n if (geogeom.type === 'LineString') {\n edge = 0;\n for (let i = 0; i < geogeom.coordinates.length - 1; i += 1) {\n let v0 = geogeom.coordinates[i];\n let v1 = geogeom.coordinates[i + 1];\n edge += ((v1[0] - v0[0]) ** 2 + (v1[1] - v0[1]) ** 2) ** 0.5;\n }\n }\n if (this && this.parentView && this.parentView.viewerWidget && this.parentView.viewerWidget._scale) {\n scale = this.parentView.viewerWidget._scale.scale;\n }\n setIf('center', point);\n setIf('width', length, scale);\n setIf('height', length, scale);\n setIf('radius', length, scale);\n setIf('rotation', rotation);\n if (area) {\n props.area = areaStr(area, scale);\n }\n if (edge) {\n props[geojson.type === 'LineString' ? 'length' : 'perimeter'] = length(edge, scale);\n }\n\n return props;\n },\n\n /**\n * Remove the hidden class on the popover element if this._visible()\n * returns true.\n */\n _show() {\n if (this._visible()) {\n this.$el.removeClass('hidden');\n }\n },\n\n /**\n * Unconditionally hide popover.\n */\n _hide() {\n this.$el.addClass('hidden');\n },\n\n /**\n * Determine if the popover should be visible. Returns true\n * if there are active annotations under the mouse pointer and\n * the label option is enabled.\n */\n _visible() {\n return !this._hidden && this.collection.length > 0;\n },\n\n /**\n * Reset the position of the popover to the position of the\n * mouse pointer.\n */\n _position(evt) {\n if (evt) {\n this._lastPositionEvt = evt;\n } else {\n evt = this._lastPositionEvt;\n }\n if (evt && this._visible()) {\n this.$el.css({\n left: evt.pageX + 5,\n top: evt.pageY - this._height / 2\n });\n }\n },\n\n _distanceToElement(points) {\n const center = this._lastCenter;\n if (!center) {\n return 0;\n }\n let minimumDistance = Number.POSITIVE_INFINITY;\n // use an explicit loop for speed\n for (let index = 0; index < points.length; index += 1) {\n const point = points[index];\n const dx = point[0] - center.x;\n const dy = point[1] - center.y;\n const distance = dx * dx + dy * dy;\n minimumDistance = Math.min(minimumDistance, distance);\n }\n return minimumDistance;\n },\n\n _bindMoveEvent() {\n this.parentView.viewerWidget.viewer.geoOn(\n window.geo.event.mousemove, (evt) => {\n this._lastCenter = _.extend({}, evt.geo);\n this._recomputeClosestElementThrottled();\n }\n );\n },\n\n _recomputeClosestElement() {\n let minimumDistance = Number.POSITIVE_INFINITY;\n const lastElement = this._closestElement;\n this._closestElement = null;\n this.collection.each((e) => {\n let distance = 0;\n // Distance calculation is only valid for polylines, rectangles,\n // ellipses, and circle. We should handle other annotations.\n // For ellipses and circles, we should take curvature into\n // account\n switch (e.get('type')) {\n case 'polyline':\n distance = this._distanceToElement(e.get('points'));\n break;\n case 'rectangle':\n distance = this._distanceToElement(\n convertRectangle(e.attributes).coordinates[0]\n );\n break;\n case 'ellipse':\n distance = this._distanceToElement(\n convertEllipse(e.attributes).coordinates[0]\n );\n break;\n case 'circle':\n distance = this._distanceToElement(\n convertCircle(e.attributes).coordinates[0]\n );\n break;\n }\n if (distance < minimumDistance) {\n this._closestElement = e;\n minimumDistance = distance;\n }\n });\n if (lastElement && this._closestElement && lastElement.id === this._closestElement.id) {\n // Don't rerender if the element didn't change;\n return;\n }\n this.render();\n }\n});\n\nexport default AnnotationPopover;\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/views/popover/AnnotationPopover.js","var pug = require(\"!../../../../pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;var pug_debug_filename, pug_debug_line;try {var pug_debug_sources = {\"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\":\"- var counts = {};\\n- var displayIdOffset = 0;\\n- var pixelmap = false;\\n- var typeCounts = {};\\nif elements.length\\n each element in elements\\n -\\n var classes = highlighted[element.id] ? ['h-highlight-element'] : [];\\n element = element.toJSON();\\n var groupName = element['group'] ? element['group'] : defaultGroup;\\n var type = element.type == 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\\n var displayId = ++displayIdOffset + displayIdStart;\\n var label = ((element.label || {}).value || type);\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n if (counts[groupName]) {\\n counts[groupName]++;\\n } else {\\n counts[groupName] = 1;\\n }\\n } else {\\n if (typeCounts[type] \\u003E 0) {\\n typeCounts[type]++;\\n } else {\\n typeCounts[type] = 1;\\n }\\n }\\n if (!(element.label || {}).value) {\\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\\n label = groupName + ' ' + label + ' ' + displayId;\\n } else {\\n if (typeCounts[type] \\u003E 1) {\\n label = label + ' ' + displayId;\\n }\\n }\\n }\\n if (element.type === 'pixelmap') {\\n pixelmap = true;\\n }\\n .h-element(data-id=element.id, class=classes)\\n span.icon-cog.h-edit-element(title='Change style')\\n span.h-element-label(title=label, display_id=displayId) #{label}\\n span.icon-zoom-in.h-view-element(title='View annotation')\\n span.icon-cancel.h-delete-element(title='Remove')\\nif pixelmap\\n .h-group-count-option.pixelmap.hidden\\nif firstRender\\n -\\n var order = (Object.entries(counts)).sort((a, b) =\\u003E {\\n if (a[1] === b[1]) {\\n if (a[0] \\u003E b[0]) {\\n return 1;\\n }\\n return -1;\\n }\\n return b[1] - a[1];\\n })\\n - for (let group of order)\\n .h-group-count-option(data-group=group[0], data-count=group[1]) #{group[1]} #{group[0]}\\nelse\\n - for (let group in counts)\\n - updateCount(group, counts[group]);\\n\"};\n;var locals_for_with = (locals || {});(function (Object, defaultGroup, displayIdStart, elements, firstRender, highlighted, updateCount) {;pug_debug_line = 1;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar counts = {};\n;pug_debug_line = 2;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar displayIdOffset = 0;\n;pug_debug_line = 3;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar pixelmap = false;\n;pug_debug_line = 4;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar typeCounts = {};\n;pug_debug_line = 5;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (elements.length) {\n;pug_debug_line = 6;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\n// iterate elements\n;(function(){\n var $$obj = elements;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type == 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var element = $$obj[pug_index0];\n;pug_debug_line = 7;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar classes = highlighted[element.id] ? ['h-highlight-element'] : [];\nelement = element.toJSON();\nvar groupName = element['group'] ? element['group'] : defaultGroup;\nvar type = element.type == 'polyline' ? (element.closed ? 'polygon' : 'line') : element.type;\nvar displayId = ++displayIdOffset + displayIdStart;\nvar label = ((element.label || {}).value || type);\nif (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n if (counts[groupName]) {\n counts[groupName]++;\n } else {\n counts[groupName] = 1;\n }\n} else {\n if (typeCounts[type] > 0) {\n typeCounts[type]++;\n } else {\n typeCounts[type] = 1;\n }\n}\nif (!(element.label || {}).value) {\n if (['point', 'polyline', 'rectangle', 'ellipse', 'circle'].includes(element.type)) {\n label = groupName + ' ' + label + ' ' + displayId;\n } else {\n if (typeCounts[type] > 1) {\n label = label + ' ' + displayId;\n }\n }\n}\nif (element.type === 'pixelmap') {\n pixelmap = true;\n}\n;pug_debug_line = 39;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (pug.attr(\"class\", pug.classes([\"h-element\",classes], [false,true]), false, true)+pug.attr(\"data-id\", element.id, true, true)) + \"\\u003E\";\n;pug_debug_line = 40;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cog h-edit-element\\\" title=\\\"Change style\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan\" + (\" class=\\\"h-element-label\\\"\"+pug.attr(\"title\", label, true, true)+pug.attr(\"display_id\", displayId, true, true)) + \"\\u003E\";\n;pug_debug_line = 41;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = label) ? \"\" : pug_interp)) + \"\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 42;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-zoom-in h-view-element\\\" title=\\\"View annotation\\\"\\u003E\\u003C\\u002Fspan\\u003E\";\n;pug_debug_line = 43;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cspan class=\\\"icon-cancel h-delete-element\\\" title=\\\"Remove\\\"\\u003E\\u003C\\u002Fspan\\u003E\\u003C\\u002Fdiv\\u003E\";\n }\n }\n}).call(this);\n\n}\n;pug_debug_line = 44;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (pixelmap) {\n;pug_debug_line = 45;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv class=\\\"h-group-count-option pixelmap hidden\\\"\\u003E\\u003C\\u002Fdiv\\u003E\";\n}\n;pug_debug_line = 46;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nif (firstRender) {\n;pug_debug_line = 47;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nvar order = (Object.entries(counts)).sort((a, b) => {\n if (a[1] === b[1]) {\n if (a[0] > b[0]) {\n return 1;\n }\n return -1;\n }\n return b[1] - a[1];\n})\n;pug_debug_line = 57;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group of order)\n{\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \"\\u003Cdiv\" + (\" class=\\\"h-group-count-option\\\"\"+pug.attr(\"data-group\", group[0], true, true)+pug.attr(\"data-count\", group[1], true, true)) + \"\\u003E\";\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[1]) ? \"\" : pug_interp));\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + \" \";\n;pug_debug_line = 58;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\npug_html = pug_html + (pug.escape(null == (pug_interp = group[0]) ? \"\" : pug_interp)) + \"\\u003C\\u002Fdiv\\u003E\";\n}\n}\nelse {\n;pug_debug_line = 60;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nfor (let group in counts)\n{\n;pug_debug_line = 61;pug_debug_filename = \"\\u002Fopt\\u002Fgirder\\u002Fgirder\\u002Fweb_client\\u002Fnode_modules\\u002F@girder\\u002Fhistomicsui\\u002Ftemplates\\u002Fpanels\\u002FdrawWidgetElement.pug\";\nupdateCount(group, counts[group]);\n}\n}}.call(this,\"Object\" in locals_for_with?locals_for_with.Object:typeof Object!==\"undefined\"?Object:undefined,\"defaultGroup\" in locals_for_with?locals_for_with.defaultGroup:typeof defaultGroup!==\"undefined\"?defaultGroup:undefined,\"displayIdStart\" in locals_for_with?locals_for_with.displayIdStart:typeof displayIdStart!==\"undefined\"?displayIdStart:undefined,\"elements\" in locals_for_with?locals_for_with.elements:typeof elements!==\"undefined\"?elements:undefined,\"firstRender\" in locals_for_with?locals_for_with.firstRender:typeof firstRender!==\"undefined\"?firstRender:undefined,\"highlighted\" in locals_for_with?locals_for_with.highlighted:typeof highlighted!==\"undefined\"?highlighted:undefined,\"updateCount\" in locals_for_with?locals_for_with.updateCount:typeof updateCount!==\"undefined\"?updateCount:undefined));} catch (err) {pug.rethrow(err, pug_debug_filename, pug_debug_line, pug_debug_sources[pug_debug_filename]);};return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/templates/panels/drawWidgetElement.pug","\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue","\n\n\n\n\n\n// WEBPACK FOOTER //\n// node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/panels/zoomWidget.styl\n// module id = 46\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/popover/annotationContextMenu.styl\n// module id = 47\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/stylesheets/views/itemList.styl\n// module id = 48\n// module chunks = 0","module.exports = (__webpack_require__(0))(121);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/collections/ItemCollection.js from dll-reference girder_lib\n// module id = 49\n// module chunks = 0","module.exports = (__webpack_require__(6))(14);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/models/AnnotationModel.js from dll-reference girder_plugin_large_image_annotation\n// module id = 50\n// module chunks = 0","module.exports = (__webpack_require__(6))(42);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/circle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 51\n// module chunks = 0","module.exports = (__webpack_require__(6))(43);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/ellipse.js from dll-reference girder_plugin_large_image_annotation\n// module id = 52\n// module chunks = 0","module.exports = (__webpack_require__(0))(44);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/models/ItemModel.js from dll-reference girder_lib\n// module id = 53\n// module chunks = 0","module.exports = (__webpack_require__(6))(46);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./node_modules/@girder/large_image_annotation/annotations/geometry/rectangle.js from dll-reference girder_plugin_large_image_annotation\n// module id = 54\n// module chunks = 0","module.exports = (__webpack_require__(0))(52);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/utilities/EventStream.js from dll-reference girder_lib\n// module id = 55\n// module chunks = 0","module.exports = (__webpack_require__(0))(83);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/views/widgets/BrowserWidget.js from dll-reference girder_lib\n// module id = 56\n// module chunks = 0","module.exports = (__webpack_require__(0))(9);\n\n\n//////////////////\n// WEBPACK FOOTER\n// delegated ./src/router.js from dll-reference girder_lib\n// module id = 57\n// module chunks = 0","module.exports = girder_plugin_slicer_cli_web;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"girder_plugin_slicer_cli_web\"\n// module id = 58\n// module chunks = 0","import events from '@girder/core/events';\nimport router from '@girder/core/router';\n\nimport { registerPluginNamespace } from '@girder/core/pluginUtils';\nimport { exposePluginConfig } from '@girder/core/utilities/PluginUtils';\n\n// expose symbols under girder.plugins\nimport * as histomicsui from '@girder/histomicsui';\n\n// import modules for side effects\nimport './views/itemList';\nimport './views/itemPage';\nimport './views/HierarchyWidget';\n\nimport ConfigView from './views/body/ConfigView';\n\nconst pluginName = 'histomicsui';\nconst configRoute = `plugins/${pluginName}/config`;\n\nregisterPluginNamespace(pluginName, histomicsui);\n\nexposePluginConfig(pluginName, configRoute);\n\nrouter.route(configRoute, 'HistomicsUIConfig', function () {\n events.trigger('g:navigateTo', ConfigView);\n});\n\n\n\n// WEBPACK FOOTER //\n// ./~/@girder/histomicsui/main.js","import { render, staticRenderFns } from \"./ColorPickerInput.vue?vue&type=template&id=65c96cfc&scoped=true&\"\nimport script from \"./ColorPickerInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ColorPickerInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ColorPickerInput.vue?vue&type=style&index=0&id=65c96cfc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"65c96cfc\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('65c96cfc')) {\n api.createRecord('65c96cfc', component.options)\n } else {\n api.reload('65c96cfc', component.options)\n }\n module.hot.accept(\"./ColorPickerInput.vue?vue&type=template&id=65c96cfc&scoped=true&\", function () {\n api.rerender('65c96cfc', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/@girder/histomicsui/vue/components/ColorPickerInput.vue\"\nexport default component.exports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/ColorPickerInput.vue\n// module id = 60\n// module chunks = 0","import { render, staticRenderFns } from \"./EditHeatmapOrGridData.vue?vue&type=template&id=0e0c107c&\"\nimport script from \"./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"\nexport * from \"./EditHeatmapOrGridData.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('0e0c107c')) {\n api.createRecord('0e0c107c', component.options)\n } else {\n api.reload('0e0c107c', component.options)\n }\n module.hot.accept(\"./EditHeatmapOrGridData.vue?vue&type=template&id=0e0c107c&\", function () {\n api.rerender('0e0c107c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue\"\nexport default component.exports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue\n// module id = 61\n// module chunks = 0","import { render, staticRenderFns } from \"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\nimport script from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./EditHeatmapOrGridDataContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/opt/HistomicsUI/histomicsui/web_client/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('8c11edd6')) {\n api.createRecord('8c11edd6', component.options)\n } else {\n api.reload('8c11edd6', component.options)\n }\n module.hot.accept(\"./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\", function () {\n api.rerender('8c11edd6', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"node_modules/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\"\nexport default component.exports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue\n// module id = 62\n// module chunks = 0","export * from \"-!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=template&id=65c96cfc&scoped=true&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=template&id=65c96cfc&scoped=true&\n// module id = 63\n// module chunks = 0","export * from \"-!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridData.vue?vue&type=template&id=0e0c107c&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?vue&type=template&id=0e0c107c&\n// module id = 64\n// module chunks = 0","export * from \"-!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 65\n// module chunks = 0","export * from \"-!../../../../extract-text-webpack-plugin/loader.js??ref--2-0!../../../../style-loader/index.js!../../../../css-loader/index.js!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../HistomicsUI/histomicsui/web_client/node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerInput.vue?vue&type=style&index=0&id=65c96cfc&scoped=true&lang=css&\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=style&index=0&id=65c96cfc&scoped=true&lang=css&\n// module id = 66\n// module chunks = 0","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { ref: \"colorpicker\", staticClass: \"input-group color-picker\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.colorValue,\n expression: \"colorValue\",\n },\n ],\n staticClass: \"form-control\",\n attrs: { type: \"text\" },\n domProps: { value: _vm.colorValue },\n on: {\n focus: _vm.showPicker,\n input: [\n function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.colorValue = $event.target.value\n },\n _vm.updateFromInput,\n ],\n },\n }),\n _vm._v(\" \"),\n _vm.colorValue\n ? _c(\n \"span\",\n { staticClass: \"input-group-addon color-picker-container\" },\n [\n _c(\n \"span\",\n {\n staticClass: \"current-color\",\n style: { \"background-color\": _vm.colorValue },\n on: { click: _vm.togglePicker },\n },\n [_c(\"i\", { style: { \"background-color\": _vm.colorValue } })]\n ),\n _vm._v(\" \"),\n _vm.displayPicker\n ? _c(\"chrome-picker\", {\n ref: \"colorPicker\",\n staticClass: \"picker-offset\",\n attrs: { value: _vm.pickerColor },\n on: { input: _vm.updateFromPicker },\n })\n : _vm._e(),\n ],\n 1\n )\n : _vm._e(),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib/loaders/templateLoader.js?{}!/opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib?{}!./~/@girder/histomicsui/vue/components/ColorPickerInput.vue?vue&type=template&id=65c96cfc&scoped=true&\n// module id = 67\n// module chunks = 0","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return this.colorRangeData\n ? _c(\"div\", { staticClass: \"modal-dialog\" }, [\n _c(\"div\", { staticClass: \"modal-content\" }, [\n _c(\"form\", { staticClass: \"modal-form\" }, [\n _c(\"div\", { staticClass: \"modal-header\" }, [\n _c(\n \"button\",\n {\n ref: \"close\",\n staticClass: \"close\",\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n return _vm.cancelDialog()\n },\n },\n },\n [_c(\"span\", [_vm._v(\"×\")])]\n ),\n _vm._v(\" \"),\n _c(\"h4\", [_vm._v(_vm._s(_vm.headerMessage))]),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-body\" }, [\n _vm.validationErrors.length > 0\n ? _c(\"div\", { staticClass: \"errors\" }, [\n _c(\"p\", [_vm._v(\"Errors\")]),\n _vm._v(\" \"),\n _c(\n \"ul\",\n _vm._l(this.validationErrors, function (error) {\n return _c(\"li\", { key: error }, [_vm._v(_vm._s(error))])\n }),\n 0\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n this.type === \"heatmap\"\n ? _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { attrs: { for: \"h-griddata-radius\" } }, [\n _vm._v(\"Radius\"),\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.radius,\n expression: \"radius\",\n },\n ],\n staticClass: \"input-sm form-control\",\n attrs: {\n id: \"h-griddata-radius\",\n type: \"number\",\n min: \"1\",\n },\n domProps: { value: _vm.radius },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.radius = $event.target.value\n },\n },\n }),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { attrs: { for: \"h-griddata-range\" } }, [\n _vm._v(\"Range Colors\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"table\",\n {\n staticClass: \"table table-bordered table-condensed\",\n attrs: { id: \"h-griddata-range\" },\n },\n [\n _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", [_vm._v(\"Value\")]),\n _vm._v(\" \"),\n _c(\"th\", [_vm._v(\"Color\")]),\n _vm._v(\" \"),\n _c(\"th\", [\n _c(\n \"a\",\n {\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.addNewFirstColor.apply(\n null,\n arguments\n )\n },\n },\n },\n [\n _c(\"span\", {\n staticClass: \"icon-plus\",\n attrs: { title: \"Add new first color\" },\n }),\n ]\n ),\n ]),\n ]),\n ]),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n [\n this.type === \"griddata\"\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n attrs: {\n title:\n \"The color of values below the lowest range value\",\n },\n },\n [\n _vm._v(\n \"\\n Minimum color\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\"color-picker-input\", {\n attrs: { color: _vm.minColor },\n model: {\n value: _vm.minColor,\n callback: function ($$v) {\n _vm.minColor = $$v\n },\n expression: \"minColor\",\n },\n }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.colorRangeData, function (entry, index) {\n return _c(\"tr\", { key: entry.key }, [\n _c(\"td\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: entry.value,\n expression: \"entry.value\",\n },\n ],\n staticClass: \"input-sm form-control\",\n attrs: { type: \"number\", step: \"0.1\" },\n domProps: { value: entry.value },\n on: {\n input: function ($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n entry,\n \"value\",\n $event.target.value\n )\n },\n },\n }),\n ]),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\"color-picker-input\", {\n attrs: { color: entry.colorString },\n model: {\n value: entry.colorString,\n callback: function ($$v) {\n _vm.$set(entry, \"colorString\", $$v)\n },\n expression: \"entry.colorString\",\n },\n }),\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"td\", [\n _c(\n \"a\",\n {\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.addColor(index)\n },\n },\n },\n [\n _c(\"span\", {\n staticClass: \"icon-plus\",\n attrs: { title: \"Add row below\" },\n }),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"a\",\n {\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.removeColor(index)\n },\n },\n },\n [\n _c(\"span\", {\n staticClass: \"icon-minus\",\n attrs: { title: \"Remove this row\" },\n }),\n ]\n ),\n ]),\n ])\n }),\n _vm._v(\" \"),\n this.type === \"griddata\"\n ? _c(\"tr\", [\n _c(\n \"td\",\n {\n attrs: {\n title:\n \"The color of values above the highest range value\",\n },\n },\n [\n _vm._v(\n \"\\n Maximum color\\n \"\n ),\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"td\",\n [\n _c(\"color-picker-input\", {\n attrs: { color: _vm.maxColor },\n model: {\n value: _vm.maxColor,\n callback: function ($$v) {\n _vm.maxColor = $$v\n },\n expression: \"maxColor\",\n },\n }),\n ],\n 1\n ),\n ])\n : _vm._e(),\n ],\n 2\n ),\n ]\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"checkbox\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.normalizeRange,\n expression: \"normalizeRange\",\n },\n ],\n attrs: { type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.normalizeRange)\n ? _vm._i(_vm.normalizeRange, null) > -1\n : _vm.normalizeRange,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.normalizeRange,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.normalizeRange = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.normalizeRange = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.normalizeRange = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Normalize Range\")]),\n ]),\n ]),\n _vm._v(\" \"),\n this.type === \"heatmap\"\n ? _c(\"div\", { staticClass: \"checkbox\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.scaleWithZoom,\n expression: \"scaleWithZoom\",\n },\n ],\n attrs: { type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.scaleWithZoom)\n ? _vm._i(_vm.scaleWithZoom, null) > -1\n : _vm.scaleWithZoom,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.scaleWithZoom,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.scaleWithZoom = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.scaleWithZoom = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.scaleWithZoom = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Scale With Zoom\")]),\n ]),\n ])\n : _vm._e(),\n _vm._v(\" \"),\n this.interpretation === \"contour\" ||\n this.interpretation === \"chloropleth\"\n ? _c(\"div\", { staticClass: \"checkbox\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.stepped,\n expression: \"stepped\",\n },\n ],\n attrs: { type: \"checkbox\" },\n domProps: {\n checked: Array.isArray(_vm.stepped)\n ? _vm._i(_vm.stepped, null) > -1\n : _vm.stepped,\n },\n on: {\n change: function ($event) {\n var $$a = _vm.stepped,\n $$el = $event.target,\n $$c = $$el.checked ? true : false\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 && (_vm.stepped = $$a.concat([$$v]))\n } else {\n $$i > -1 &&\n (_vm.stepped = $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1)))\n }\n } else {\n _vm.stepped = $$c\n }\n },\n },\n }),\n _vm._v(\" \"),\n _c(\"b\", [_vm._v(\"Stepped\")]),\n ]),\n ])\n : _vm._e(),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"modal-footer\" }, [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-default\",\n attrs: { type: \"button\", id: \"close\" },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.cancelDialog()\n },\n },\n },\n [_vm._v(\"\\n Cancel\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn btn-primary\",\n attrs: { type: \"button\" },\n on: {\n click: function ($event) {\n $event.preventDefault()\n return _vm.submitClicked()\n },\n },\n },\n [_vm._v(\"\\n Submit\\n \")]\n ),\n ]),\n ]),\n ]),\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib/loaders/templateLoader.js?{}!/opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib?{}!./~/@girder/histomicsui/vue/components/EditHeatmapOrGridData.vue?vue&type=template&id=0e0c107c&\n// module id = 68\n// module chunks = 0","var render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\"edit-heatmap-or-grid-data\", {\n attrs: { elementData: this.attributes },\n on: { submit: _vm.handleSubmit, cancel: _vm.close },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }\n\n\n//////////////////\n// WEBPACK FOOTER\n// /opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib/loaders/templateLoader.js?{}!/opt/HistomicsUI/histomicsui/web_client/~/vue-loader/lib?{}!./~/@girder/histomicsui/vue/components/EditHeatmapOrGridDataContainer.vue?vue&type=template&id=8c11edd6&\n// module id = 69\n// module chunks = 0","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"underscore\"), require(\"backbone\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"underscore\", \"backbone\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Backbone.LocalStorage\"] = factory(require(\"underscore\"), require(\"backbone\"));\n\telse\n\t\troot[\"Backbone.LocalStorage\"] = factory(root[\"_\"], root[\"Backbone\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.guid = guid;\nexports.getLocalStorage = getLocalStorage;\nexports.getWindow = getWindow;\n\nvar _underscore = __webpack_require__(1);\n\n/** Generates 4 random hex digits\n * @returns {string} 4 Random hex digits\n*/\nfunction s4() {\n var rand = (1 + Math.random()) * 0x10000;\n return (rand | 0).toString(16).substring(1);\n}\n\n/** Generate a pseudo-guid\n * @returns {string} A GUID-like string.\n */\nfunction guid() {\n return '' + s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();\n}\n\n/** Returns the localStorage attribute for a model\n * @param {Model} model - Model to get localStorage\n * @returns {Storage} The localstorage\n */\nfunction getLocalStorage(model) {\n return (0, _underscore.result)(model, 'localStorage') || (0, _underscore.result)(model.collection, 'localStorage');\n}\n\n/** Return the window or global object.\n * @returns {window} Window object\n */\nfunction getWindow() {\n return (0, _underscore.isUndefined)(window) ? global : window;\n}\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(6)))\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _localstorage = __webpack_require__(4);\n\nvar _sync = __webpack_require__(5);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_backbone2.default.LocalStorage = _localstorage.LocalStorage;\nvar ajaxSync = _backbone2.default.sync;\n\n/** Get the local or ajax sync call\n * @param {Model} model - Model to sync\n * @param {object} options - Options to pass, takes ajaxSync\n * @returns {function} The sync method that will be called\n */\nfunction getSyncMethod(model) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var forceAjaxSync = options.ajaxSync;\n var hasLocalStorage = (0, _utils.getLocalStorage)(model);\n\n return !forceAjaxSync && hasLocalStorage ? _sync.sync : ajaxSync;\n}\n\n_backbone2.default.sync = function (method, model, options) {\n return getSyncMethod(model, options).apply(this, [method, model, options]);\n};\n\nexports.LocalStorage = _localstorage.LocalStorage;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LocalStorage = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/** The default serializer for transforming your saved data to localStorage */\nvar defaultSerializer = {\n\n /** Return a JSON-serialized string representation of item\n * @param {Object} item - The encoded model data\n * @returns {string} A JSON-encoded string\n */\n serialize: function serialize(item) {\n return (0, _underscore.isObject)(item) ? JSON.stringify(item) : item;\n },\n\n\n /** Custom deserialization for data. This includes a fix for an Android bug\n * which raises an error attempting to deserialize null\n * @param {string} data - JSON-encoded string\n * @returns {Object} The object result of parsing data\n */\n deserialize: function deserialize(data) {\n return data && JSON.parse(data);\n }\n};\n\n/** LocalStorage proxy class for Backbone models.\n * Usage:\n * export const MyModel = Backbone.Model.extend({\n * localStorage: new LocalStorage('MyModelName')\n * });\n */\n\nvar LocalStorage = exports.LocalStorage = function () {\n function LocalStorage() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var serializer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultSerializer;\n\n _classCallCheck(this, LocalStorage);\n\n this.name = name;\n this.serializer = serializer;\n\n if (!this.localStorage) {\n throw 'Backbone.localStorage: Environment does not support localStorage.';\n }\n\n var store = this._getItem(this.name);\n this.records = store && store.split(',') || [];\n }\n\n /** Return the global localStorage variable\n * @returns {Object} Local Storage reference.\n */\n\n\n _createClass(LocalStorage, [{\n key: 'localStorage',\n value: function localStorage() {\n return (0, _utils.getWindow)().localStorage;\n }\n\n /** Save the current status to localStorage\n * @returns {undefined}\n */\n\n }, {\n key: 'save',\n value: function save() {\n this._setItem(this.name, this.records.join(','));\n }\n\n /** Add a new model with a unique GUID, if it doesn't already have its own ID\n * @param {Model} model - The Backbone Model to save to LocalStorage\n * @returns {Model} The saved model\n */\n\n }, {\n key: 'create',\n value: function create(model) {\n if (!model.id && model.id !== 0) {\n model.id = (0, _utils.guid)();\n model.set(model.idAttribute, model.id);\n }\n\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n this.records.push(model.id.toString());\n this.save();\n\n return this.find(model);\n }\n\n /** Update an existing model in LocalStorage\n * @param {Model} model - The model to update\n * @returns {Model} The updated model\n */\n\n }, {\n key: 'update',\n value: function update(model) {\n this._setItem(this._itemName(model.id), this.serializer.serialize(model));\n\n var modelId = model.id.toString();\n\n if (!(0, _underscore.contains)(this.records, modelId)) {\n this.records.push(modelId);\n this.save();\n }\n return this.find(model);\n }\n\n /** Retrieve a model from local storage by model id\n * @param {Model} model - The Backbone Model to lookup\n * @returns {Model} The model from LocalStorage\n */\n\n }, {\n key: 'find',\n value: function find(model) {\n return this.serializer.deserialize(this._getItem(this._itemName(model.id)));\n }\n\n /** Return all models from LocalStorage\n * @returns {Array} The array of models stored\n */\n\n }, {\n key: 'findAll',\n value: function findAll() {\n var _this = this;\n\n return (0, _underscore.chain)(this.records).map(function (id) {\n return _this.serializer.deserialize(_this._getItem(_this._itemName(id)));\n }).filter(function (item) {\n return item != null;\n }).value();\n }\n\n /** Delete a model from `this.data`, returning it.\n * @param {Model} model - Model to delete\n * @returns {Model} Model removed from this.data\n */\n\n }, {\n key: 'destroy',\n value: function destroy(model) {\n this._removeItem(this._itemName(model.id));\n var newRecords = (0, _underscore.without)(this.records, model.id.toString());\n\n this.records = newRecords;\n this.save();\n\n return model;\n }\n\n /** Clear localStorage for a collection\n * @returns {undefined}\n */\n\n }, {\n key: '_clear',\n value: function _clear() {\n var local = this.localStorage();\n var itemRe = new RegExp('^' + this.name + '-');\n\n // Remove id-tracking item (e.g., \"foo\").\n local.removeItem(this.name);\n\n // Match all data items (e.g., \"foo-ID\") and remove.\n for (var k in local) {\n if (itemRe.test(k)) {\n local.removeItem(k);\n }\n }\n\n this.records.length = 0;\n }\n\n /** Number of items in localStorage\n * @returns {integer} - Number of items\n */\n\n }, {\n key: '_storageSize',\n value: function _storageSize() {\n return this.localStorage().length;\n }\n\n /** Return the item from localStorage\n * @param {string} name - Name to lookup\n * @returns {string} Value from localStorage\n */\n\n }, {\n key: '_getItem',\n value: function _getItem(name) {\n return this.localStorage().getItem(name);\n }\n\n /** Return the item name to lookup in localStorage\n * @param {integer} id - Item ID\n * @returns {string} Item name\n */\n\n }, {\n key: '_itemName',\n value: function _itemName(id) {\n return this.name + '-' + id;\n }\n\n /** Proxy to the localStorage setItem value method\n * @param {string} key - LocalStorage key to set\n * @param {string} value - LocalStorage value to set\n * @returns {undefined}\n */\n\n }, {\n key: '_setItem',\n value: function _setItem(key, value) {\n this.localStorage().setItem(key, value);\n }\n\n /** Proxy to the localStorage removeItem method\n * @param {string} key - LocalStorage key to remove\n * @returns {undefined}\n */\n\n }, {\n key: '_removeItem',\n value: function _removeItem(key) {\n this.localStorage().removeItem(key);\n }\n }]);\n\n return LocalStorage;\n}();\n\n;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sync = sync;\n\nvar _backbone = __webpack_require__(2);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nvar _underscore = __webpack_require__(1);\n\nvar _utils = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** Get the Deferred status from $ if we have jQuery, otherwise use Backbone's\n * @returns {boolean} - Whether the request was deferred\n*/\nfunction getDeferred() {\n if (_backbone2.default.$) {\n return (0, _underscore.result)(_backbone2.default.$, 'Deferred', false);\n }\n return (0, _underscore.result)(_backbone2.default, 'Deferred', false);\n}\n\n/** Override Backbone's `sync` method to run against localStorage\n * @param {string} method - One of read/create/update/delete\n * @param {Model} model - Backbone model to sync\n * @param {Object} options - Options object, use `ajaxSync: true` to run the\n * operation against the server in which case, options will also be passed into\n * `jQuery.ajax`\n * @returns {undefined}\n */\nfunction sync(method, model) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var store = (0, _utils.getLocalStorage)(model);\n var resp = void 0,\n errorMessage = void 0;\n var syncDfd = getDeferred();\n\n try {\n switch (method) {\n case 'read':\n resp = (0, _underscore.isUndefined)(model.id) ? store.findAll() : store.find(model);\n break;\n case 'create':\n resp = store.create(model);\n break;\n case 'patch':\n case 'update':\n resp = store.update(model);\n break;\n case 'delete':\n resp = store.destroy(model);\n break;\n }\n } catch (error) {\n if (error.code === 22 && store._storageSize() === 0) {\n errorMessage = 'Private browsing is unsupported';\n } else {\n errorMessage = error.message;\n }\n }\n\n if (resp) {\n if (options.success) {\n options.success.call(model, resp, options);\n }\n if (syncDfd) {\n syncDfd.resolve(resp);\n }\n } else {\n errorMessage = errorMessage ? errorMessage : 'Record Not Found';\n\n if (options.error) {\n options.error.call(model, errorMessage, options);\n }\n if (syncDfd) {\n syncDfd.reject(errorMessage);\n }\n }\n\n // add compatibility with $.ajax\n // always execute callback for success and error\n if (options.complete) {\n options.complete.call(model, resp);\n }\n\n return syncDfd && syncDfd.promise();\n}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(3);\n\n\n/***/ })\n/******/ ]);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/~/backbone.localstorage/build/backbone.localStorage.js\n// module id = 70\n// module chunks = 0","/*!\n * Bootstrap-submenu v2.0.4 (https://vsn4ik.github.io/bootstrap-submenu/)\n * Copyright 2014-2016 Vasily A. (https://github.com/vsn4ik)\n * Licensed under the MIT license\n */\n\n/**\n * $.inArray: friends with IE8. Use Array.prototype.indexOf in future.\n * $.proxy: friends with IE8. Use Function.prototype.bind in future.\n */\n\n'use strict';\n\n(function(factory) {\n if (typeof define == 'function' && define.amd) {\n // AMD. Register as an anonymous module\n define(['jquery'], factory);\n }\n else if (typeof exports == 'object') {\n // Node/CommonJS\n module.exports = factory(require('jquery'));\n }\n else {\n // Browser globals\n factory(jQuery);\n }\n})(function($) {\n function Item(element) {\n this.$element = $(element);\n this.$menu = this.$element.closest('.dropdown-menu');\n this.$main = this.$menu.parent();\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Item.prototype = {\n init: function() {\n this.$element.on('keydown', $.proxy(this, 'keydown'));\n },\n close: function() {\n this.$main.removeClass('open');\n this.$items.trigger('hide.bs.submenu');\n },\n keydown: function(event) {\n // 27: Esc\n\n if (event.keyCode == 27) {\n event.stopPropagation();\n\n this.close();\n this.$main.children('a, button').trigger('focus');\n }\n }\n };\n\n function SubmenuItem(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$subs = this.$main.siblings('.dropdown-submenu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n $.extend(SubmenuItem.prototype, Item.prototype, {\n init: function() {\n this.$element.on({\n click: $.proxy(this, 'click'),\n keydown: $.proxy(this, 'keydown')\n });\n\n this.$main.on('hide.bs.submenu', $.proxy(this, 'hide'));\n },\n click: function(event) {\n // Fix a[href=\"#\"]. For community\n event.preventDefault();\n\n event.stopPropagation();\n\n this.toggle();\n },\n hide: function(event) {\n // Stop event bubbling\n event.stopPropagation();\n\n this.close();\n },\n open: function() {\n this.$main.addClass('open');\n this.$subs.trigger('hide.bs.submenu');\n },\n toggle: function() {\n if (this.$main.hasClass('open')) {\n this.close();\n }\n else {\n this.open();\n }\n },\n keydown: function(event) {\n // 13: Return, 32: Spacebar\n\n if (event.keyCode == 32) {\n // Off vertical scrolling\n event.preventDefault();\n }\n\n if ($.inArray(event.keyCode, [13, 32]) != -1) {\n this.toggle();\n }\n }\n });\n\n function Submenupicker(element) {\n this.$element = $(element);\n this.$main = this.$element.parent();\n this.$menu = this.$main.children('.dropdown-menu');\n this.$items = this.$menu.children('.dropdown-submenu');\n\n this.init();\n }\n\n Submenupicker.prototype = {\n init: function() {\n this.$menu.off('keydown.bs.dropdown.data-api');\n this.$menu.on('keydown', $.proxy(this, 'itemKeydown'));\n\n this.$menu.find('li > a').each(function() {\n new Item(this);\n });\n\n this.$menu.find('.dropdown-submenu > a').each(function() {\n new SubmenuItem(this);\n });\n\n this.$main.on('hidden.bs.dropdown', $.proxy(this, 'hidden'));\n },\n hidden: function() {\n this.$items.trigger('hide.bs.submenu');\n },\n itemKeydown: function(event) {\n // 38: Arrow up, 40: Arrow down\n\n if ($.inArray(event.keyCode, [38, 40]) != -1) {\n // Off vertical scrolling\n event.preventDefault();\n\n event.stopPropagation();\n\n var $items = this.$menu.find('li:not(.disabled):visible > a');\n var index = $items.index(event.target);\n\n if (event.keyCode == 38 && index !== 0) {\n index--;\n }\n else if (event.keyCode == 40 && index !== $items.length - 1) {\n index++;\n }\n else {\n return;\n }\n\n $items.eq(index).trigger('focus');\n }\n }\n };\n\n var old = $.fn.submenupicker;\n\n // For AMD/Node/CommonJS used elements (optional)\n // http://learn.jquery.com/jquery-ui/environments/amd/\n $.fn.submenupicker = function(elements) {\n var $elements = this instanceof $ ? this : $(elements);\n\n return $elements.each(function() {\n var data = $.data(this, 'bs.submenu');\n\n if (!data) {\n data = new Submenupicker(this);\n\n $.data(this, 'bs.submenu', data);\n }\n });\n };\n\n $.fn.submenupicker.Constructor = Submenupicker;\n $.fn.submenupicker.noConflict = function() {\n $.fn.submenupicker = old;\n return this;\n };\n\n return $.fn.submenupicker;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/~/bootstrap-submenu/dist/js/bootstrap-submenu.js\n// module id = 71\n// module chunks = 0","/**\n *\n *\n * @author Jerry Bendy \n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/@girder/histomicsui/~/url-search-params-polyfill/index.js\n// module id = 72\n// module chunks = 0","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueColor=t():e.VueColor=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=60)}([function(e,t){function n(e,t){var n=e[1]||\"\",i=e[3];if(!i)return n;if(t&&\"function\"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return\"/*# sourceURL=\"+i.sourceRoot+e+\" */\"})).concat([o]).join(\"\\n\")}return[n].join(\"\\n\")}function r(e){return\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+\" */\"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?\"@media \"+t[2]+\"{\"+r+\"}\":r}).join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i0?(0,o.default)(e.hex):e&&e.hsv?(0,o.default)(e.hsv):e&&e.rgba?(0,o.default)(e.rgba):e&&e.rgb?(0,o.default)(e.rgb):(0,o.default)(e))||void 0!==n._a&&null!==n._a||n.setAlpha(r||1);var i=n.toHsl(),a=n.toHsv();return 0===i.s&&(a.h=i.h=e.h||e.hsl&&e.hsl.h||t||0),{hsl:i,hex:n.toHexString().toUpperCase(),hex8:n.toHex8String().toUpperCase(),rgba:n.toRgb(),hsv:a,oldHue:e.h||t||i.h,source:e.source,a:e.a||n.getAlpha()}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(65),o=function(e){return e&&e.__esModule?e:{default:e}}(i);t.default={props:[\"value\"],data:function(){return{val:r(this.value)}},computed:{colors:{get:function(){return this.val},set:function(e){this.val=e,this.$emit(\"input\",e)}}},watch:{value:function(e){this.val=r(e)}},methods:{colorChange:function(e,t){this.oldHue=this.colors.hsl.h,this.colors=r(e,t||this.oldHue)},isValidHex:function(e){return(0,o.default)(e).isValid()},simpleCheckForValidColor:function(e){for(var t=[\"r\",\"g\",\"b\",\"a\",\"h\",\"s\",\"l\",\"v\"],n=0,r=0,i=0;i0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on \"+e);return e}},function(e,t,n){var r=n(12);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t){e.exports={}},function(e,t,n){var r=n(46),i=n(30);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(29)(\"keys\"),i=n(19);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(15),i=n(4),o=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(14)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){var r=n(8).f,i=n(6),o=n(11)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(11)},function(e,t,n){var r=n(4),i=n(15),o=n(14),a=n(32),s=n(8).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(3),o=r(i),a=n(5),s=r(a),c=[\"#4D4D4D\",\"#999999\",\"#FFFFFF\",\"#F44E3B\",\"#FE9200\",\"#FCDC00\",\"#DBDF00\",\"#A4DD00\",\"#68CCCA\",\"#73D8FF\",\"#AEA1FF\",\"#FDA1FF\",\"#333333\",\"#808080\",\"#CCCCCC\",\"#D33115\",\"#E27300\",\"#FCC400\",\"#B0BC00\",\"#68BC00\",\"#16A5A5\",\"#009CE0\",\"#7B64FF\",\"#FA28FF\",\"#000000\",\"#666666\",\"#B3B3B3\",\"#9F0500\",\"#C45100\",\"#FB9E00\",\"#808900\",\"#194D33\",\"#0C797D\",\"#0062B1\",\"#653294\",\"#AB149E\"];t.default={name:\"Compact\",mixins:[o.default],props:{palette:{type:Array,default:function(){return c}}},components:{\"ed-in\":s.default},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"editableInput\",props:{label:String,labelText:String,desc:String,value:[String,Number],max:Number,min:Number,arrowOffset:{type:Number,default:1}},computed:{val:{get:function(){return this.value},set:function(e){if(!(void 0!==this.max&&+e>this.max))return e;this.$refs.input.value=this.max}},labelId:function(){return\"input__label__\"+this.label+\"__\"+Math.random().toString().slice(2,5)},labelSpanText:function(){return this.labelText||this.label}},methods:{update:function(e){this.handleChange(e.target.value)},handleChange:function(e){var t={};t[this.label]=e,void 0===t.hex&&void 0===t[\"#\"]?this.$emit(\"change\",t):e.length>5&&this.$emit(\"change\",t)},handleKeyDown:function(e){var t=this.val,n=Number(t);if(n){var r=this.arrowOffset||1;38===e.keyCode&&(t=n+r,this.handleChange(t),e.preventDefault()),40===e.keyCode&&(t=n-r,this.handleChange(t),e.preventDefault())}}}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(3),i=function(e){return e&&e.__esModule?e:{default:e}}(r),o=[\"#FFFFFF\",\"#F2F2F2\",\"#E6E6E6\",\"#D9D9D9\",\"#CCCCCC\",\"#BFBFBF\",\"#B3B3B3\",\"#A6A6A6\",\"#999999\",\"#8C8C8C\",\"#808080\",\"#737373\",\"#666666\",\"#595959\",\"#4D4D4D\",\"#404040\",\"#333333\",\"#262626\",\"#0D0D0D\",\"#000000\"];t.default={name:\"Grayscale\",mixins:[i.default],props:{palette:{type:Array,default:function(){return o}}},components:{},computed:{pick:function(){return this.colors.hex.toUpperCase()}},methods:{handlerClick:function(e){this.colorChange({hex:e,source:\"hex\"})}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(5),o=r(i),a=n(3),s=r(a);t.default={name:\"Material\",mixins:[s.default],components:{\"ed-in\":o.default},methods:{onChange:function(e){e&&(e.hex?this.isValidHex(e.hex)&&this.colorChange({hex:e.hex,source:\"hex\"}):(e.r||e.g||e.b)&&this.colorChange({r:e.r||this.colors.rgba.r,g:e.g||this.colors.rgba.g,b:e.b||this.colors.rgba.b,a:e.a||this.colors.rgba.a,source:\"rgba\"}))}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(81),o=r(i),a=n(3),s=r(a),c=n(13),l=r(c);t.default={name:\"Slider\",mixins:[s.default],props:{swatches:{type:Array,default:function(){return[{s:.5,l:.8},{s:.5,l:.65},{s:.5,l:.5},{s:.5,l:.35},{s:.5,l:.2}]}}},components:{hue:l.default},computed:{normalizedSwatches:function(){return this.swatches.map(function(e){return\"object\"!==(void 0===e?\"undefined\":(0,o.default)(e))?{s:.5,l:e}:e})}},methods:{isActive:function(e,t){var n=this.colors.hsl;return 1===n.l&&1===e.l||(0===n.l&&0===e.l||Math.abs(n.l-e.l)<.01&&Math.abs(n.s-e.s)<.01)},hueChange:function(e){this.colorChange(e)},handleSwClick:function(e,t){this.colorChange({h:this.colors.hsl.h,s:t.s,l:t.l,source:\"hsl\"})}}}},function(e,t,n){\"use strict\";var r=n(14),i=n(41),o=n(44),a=n(7),s=n(26),c=n(88),l=n(31),u=n(95),f=n(11)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),h=function(){return this};e.exports=function(e,t,n,p,v,g,b){c(n,t,p);var x,m,_,w=function(e){if(!d&&e in F)return F[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},y=t+\" Iterator\",C=\"values\"==v,k=!1,F=e.prototype,S=F[f]||F[\"@@iterator\"]||v&&F[v],A=S||w(v),O=v?C?w(\"entries\"):A:void 0,E=\"Array\"==t?F.entries||S:S;if(E&&(_=u(E.call(new e)))!==Object.prototype&&_.next&&(l(_,y,!0),r||\"function\"==typeof _[f]||a(_,f,h)),C&&S&&\"values\"!==S.name&&(k=!0,A=function(){return S.call(this)}),r&&!b||!d&&!k&&F[f]||a(F,f,A),s[t]=A,s[y]=h,v)if(x={values:C?A:w(\"values\"),keys:g?A:w(\"keys\"),entries:O},b)for(m in x)m in F||o(F,m,x[m]);else i(i.P+i.F*(d||k),t,x);return x}},function(e,t,n){var r=n(4),i=n(15),o=n(86),a=n(7),s=n(6),c=function(e,t,n){var l,u,f,d=e&c.F,h=e&c.G,p=e&c.S,v=e&c.P,g=e&c.B,b=e&c.W,x=h?i:i[t]||(i[t]={}),m=x.prototype,_=h?r:p?r[t]:(r[t]||{}).prototype;h&&(n=t);for(l in n)(u=!d&&_&&void 0!==_[l])&&s(x,l)||(f=u?_[l]:n[l],x[l]=h&&\"function\"!=typeof _[l]?n[l]:g&&u?o(f,r):b&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):v&&\"function\"==typeof f?o(Function.call,f):f,v&&((x.virtual||(x.virtual={}))[l]=f,e&c.R&&m&&!m[l]&&a(m,l,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){e.exports=!n(9)&&!n(17)(function(){return 7!=Object.defineProperty(n(43)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(12),i=n(4).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){e.exports=n(7)},function(e,t,n){var r=n(16),i=n(89),o=n(30),a=n(28)(\"IE_PROTO\"),s=function(){},c=function(){var e,t=n(43)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(94).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(\"