{"payload":{"allShortcutsEnabled":false,"fileTree":{"ij/plugin/filter":{"items":[{"name":"AVI_Writer.java","path":"ij/plugin/filter/AVI_Writer.java","contentType":"file"},{"name":"Analyzer.java","path":"ij/plugin/filter/Analyzer.java","contentType":"file"},{"name":"BackgroundSubtracter.java","path":"ij/plugin/filter/BackgroundSubtracter.java","contentType":"file"},{"name":"Benchmark.java","path":"ij/plugin/filter/Benchmark.java","contentType":"file"},{"name":"Binary.java","path":"ij/plugin/filter/Binary.java","contentType":"file"},{"name":"Calibrator.java","path":"ij/plugin/filter/Calibrator.java","contentType":"file"},{"name":"Convolver.java","path":"ij/plugin/filter/Convolver.java","contentType":"file"},{"name":"Duplicater.java","path":"ij/plugin/filter/Duplicater.java","contentType":"file"},{"name":"EDM.java","path":"ij/plugin/filter/EDM.java","contentType":"file"},{"name":"ExtendedPlugInFilter.java","path":"ij/plugin/filter/ExtendedPlugInFilter.java","contentType":"file"},{"name":"FFTCustomFilter.java","path":"ij/plugin/filter/FFTCustomFilter.java","contentType":"file"},{"name":"FFTFilter.java","path":"ij/plugin/filter/FFTFilter.java","contentType":"file"},{"name":"Filler.java","path":"ij/plugin/filter/Filler.java","contentType":"file"},{"name":"Filters.java","path":"ij/plugin/filter/Filters.java","contentType":"file"},{"name":"FractalBoxCounter.java","path":"ij/plugin/filter/FractalBoxCounter.java","contentType":"file"},{"name":"GaussianBlur.java","path":"ij/plugin/filter/GaussianBlur.java","contentType":"file"},{"name":"ImageMath.java","path":"ij/plugin/filter/ImageMath.java","contentType":"file"},{"name":"ImageProperties.java","path":"ij/plugin/filter/ImageProperties.java","contentType":"file"},{"name":"Info.java","path":"ij/plugin/filter/Info.java","contentType":"file"},{"name":"LineGraphAnalyzer.java","path":"ij/plugin/filter/LineGraphAnalyzer.java","contentType":"file"},{"name":"LutApplier.java","path":"ij/plugin/filter/LutApplier.java","contentType":"file"},{"name":"LutViewer.java","path":"ij/plugin/filter/LutViewer.java","contentType":"file"},{"name":"MaximumFinder.java","path":"ij/plugin/filter/MaximumFinder.java","contentType":"file"},{"name":"ParticleAnalyzer.java","path":"ij/plugin/filter/ParticleAnalyzer.java","contentType":"file"},{"name":"PlugInFilter.java","path":"ij/plugin/filter/PlugInFilter.java","contentType":"file"},{"name":"PlugInFilterRunner.java","path":"ij/plugin/filter/PlugInFilterRunner.java","contentType":"file"},{"name":"Printer.java","path":"ij/plugin/filter/Printer.java","contentType":"file"},{"name":"RGBStackSplitter.java","path":"ij/plugin/filter/RGBStackSplitter.java","contentType":"file"},{"name":"RankFilters.java","path":"ij/plugin/filter/RankFilters.java","contentType":"file"},{"name":"RoiWriter.java","path":"ij/plugin/filter/RoiWriter.java","contentType":"file"},{"name":"Rotator.java","path":"ij/plugin/filter/Rotator.java","contentType":"file"},{"name":"SaltAndPepper.java","path":"ij/plugin/filter/SaltAndPepper.java","contentType":"file"},{"name":"ScaleDialog.java","path":"ij/plugin/filter/ScaleDialog.java","contentType":"file"},{"name":"Shadows.java","path":"ij/plugin/filter/Shadows.java","contentType":"file"},{"name":"StackLabeler.java","path":"ij/plugin/filter/StackLabeler.java","contentType":"file"},{"name":"ThresholdToSelection.java","path":"ij/plugin/filter/ThresholdToSelection.java","contentType":"file"},{"name":"Transformer.java","path":"ij/plugin/filter/Transformer.java","contentType":"file"},{"name":"Translator.java","path":"ij/plugin/filter/Translator.java","contentType":"file"},{"name":"UnsharpMask.java","path":"ij/plugin/filter/UnsharpMask.java","contentType":"file"},{"name":"Writer.java","path":"ij/plugin/filter/Writer.java","contentType":"file"},{"name":"XYWriter.java","path":"ij/plugin/filter/XYWriter.java","contentType":"file"}],"totalCount":41},"ij/plugin":{"items":[{"name":"filter","path":"ij/plugin/filter","contentType":"directory"},{"name":"frame","path":"ij/plugin/frame","contentType":"directory"},{"name":"tool","path":"ij/plugin/tool","contentType":"directory"},{"name":"AVI_Reader.java","path":"ij/plugin/AVI_Reader.java","contentType":"file"},{"name":"AboutBox.java","path":"ij/plugin/AboutBox.java","contentType":"file"},{"name":"Animator.java","path":"ij/plugin/Animator.java","contentType":"file"},{"name":"AppearanceOptions.java","path":"ij/plugin/AppearanceOptions.java","contentType":"file"},{"name":"ArrowToolOptions.java","path":"ij/plugin/ArrowToolOptions.java","contentType":"file"},{"name":"BMP_Reader.java","path":"ij/plugin/BMP_Reader.java","contentType":"file"},{"name":"BMP_Writer.java","path":"ij/plugin/BMP_Writer.java","contentType":"file"},{"name":"BatchConverter.java","path":"ij/plugin/BatchConverter.java","contentType":"file"},{"name":"BatchMeasure.java","path":"ij/plugin/BatchMeasure.java","contentType":"file"},{"name":"BatchProcessor.java","path":"ij/plugin/BatchProcessor.java","contentType":"file"},{"name":"Benchmark.java","path":"ij/plugin/Benchmark.java","contentType":"file"},{"name":"Binner.java","path":"ij/plugin/Binner.java","contentType":"file"},{"name":"BrowserLauncher.java","path":"ij/plugin/BrowserLauncher.java","contentType":"file"},{"name":"CalibrationBar.java","path":"ij/plugin/CalibrationBar.java","contentType":"file"},{"name":"CanvasResizer.java","path":"ij/plugin/CanvasResizer.java","contentType":"file"},{"name":"ChannelArranger.java","path":"ij/plugin/ChannelArranger.java","contentType":"file"},{"name":"ChannelSplitter.java","path":"ij/plugin/ChannelSplitter.java","contentType":"file"},{"name":"CircularRoiMaker.java","path":"ij/plugin/CircularRoiMaker.java","contentType":"file"},{"name":"ClassChecker.java","path":"ij/plugin/ClassChecker.java","contentType":"file"},{"name":"Clipboard.java","path":"ij/plugin/Clipboard.java","contentType":"file"},{"name":"Colors.java","path":"ij/plugin/Colors.java","contentType":"file"},{"name":"CommandFinder.java","path":"ij/plugin/CommandFinder.java","contentType":"file"},{"name":"CommandLister.java","path":"ij/plugin/CommandLister.java","contentType":"file"},{"name":"Commands.java","path":"ij/plugin/Commands.java","contentType":"file"},{"name":"Compiler.java","path":"ij/plugin/Compiler.java","contentType":"file"},{"name":"CompositeConverter.java","path":"ij/plugin/CompositeConverter.java","contentType":"file"},{"name":"Concatenator.java","path":"ij/plugin/Concatenator.java","contentType":"file"},{"name":"ContrastEnhancer.java","path":"ij/plugin/ContrastEnhancer.java","contentType":"file"},{"name":"ControlPanel.java","path":"ij/plugin/ControlPanel.java","contentType":"file"},{"name":"Converter.java","path":"ij/plugin/Converter.java","contentType":"file"},{"name":"Coordinates.java","path":"ij/plugin/Coordinates.java","contentType":"file"},{"name":"DICOM.java","path":"ij/plugin/DICOM.java","contentType":"file"},{"name":"Distribution.java","path":"ij/plugin/Distribution.java","contentType":"file"},{"name":"DragAndDrop.java","path":"ij/plugin/DragAndDrop.java","contentType":"file"},{"name":"Duplicator.java","path":"ij/plugin/Duplicator.java","contentType":"file"},{"name":"EventListener.java","path":"ij/plugin/EventListener.java","contentType":"file"},{"name":"FFT.java","path":"ij/plugin/FFT.java","contentType":"file"},{"name":"FFTMath.java","path":"ij/plugin/FFTMath.java","contentType":"file"},{"name":"FITS_Reader.java","path":"ij/plugin/FITS_Reader.java","contentType":"file"},{"name":"FITS_Writer.java","path":"ij/plugin/FITS_Writer.java","contentType":"file"},{"name":"FileInfoVirtualStack.java","path":"ij/plugin/FileInfoVirtualStack.java","contentType":"file"},{"name":"Filters3D.java","path":"ij/plugin/Filters3D.java","contentType":"file"},{"name":"FolderOpener.java","path":"ij/plugin/FolderOpener.java","contentType":"file"},{"name":"GIF_Reader.java","path":"ij/plugin/GIF_Reader.java","contentType":"file"},{"name":"GaussianBlur3D.java","path":"ij/plugin/GaussianBlur3D.java","contentType":"file"},{"name":"GelAnalyzer.java","path":"ij/plugin/GelAnalyzer.java","contentType":"file"},{"name":"GifWriter.java","path":"ij/plugin/GifWriter.java","contentType":"file"},{"name":"Grid.java","path":"ij/plugin/Grid.java","contentType":"file"},{"name":"GroupedZProjector.java","path":"ij/plugin/GroupedZProjector.java","contentType":"file"},{"name":"Histogram.java","path":"ij/plugin/Histogram.java","contentType":"file"},{"name":"Hotkeys.java","path":"ij/plugin/Hotkeys.java","contentType":"file"},{"name":"HyperStackConverter.java","path":"ij/plugin/HyperStackConverter.java","contentType":"file"},{"name":"HyperStackMaker.java","path":"ij/plugin/HyperStackMaker.java","contentType":"file"},{"name":"HyperStackReducer.java","path":"ij/plugin/HyperStackReducer.java","contentType":"file"},{"name":"ImageCalculator.java","path":"ij/plugin/ImageCalculator.java","contentType":"file"},{"name":"ImageInfo.java","path":"ij/plugin/ImageInfo.java","contentType":"file"},{"name":"ImageJ_Updater.java","path":"ij/plugin/ImageJ_Updater.java","contentType":"file"},{"name":"ImagesToStack.java","path":"ij/plugin/ImagesToStack.java","contentType":"file"},{"name":"JavaProperties.java","path":"ij/plugin/JavaProperties.java","contentType":"file"},{"name":"JavaScriptEvaluator.java","path":"ij/plugin/JavaScriptEvaluator.java","contentType":"file"},{"name":"JpegWriter.java","path":"ij/plugin/JpegWriter.java","contentType":"file"},{"name":"LUT_Editor.java","path":"ij/plugin/LUT_Editor.java","contentType":"file"},{"name":"ListVirtualStack.java","path":"ij/plugin/ListVirtualStack.java","contentType":"file"},{"name":"LutLoader.java","path":"ij/plugin/LutLoader.java","contentType":"file"},{"name":"MacroInstaller.java","path":"ij/plugin/MacroInstaller.java","contentType":"file"},{"name":"Macro_Runner.java","path":"ij/plugin/Macro_Runner.java","contentType":"file"},{"name":"MeasurementsWriter.java","path":"ij/plugin/MeasurementsWriter.java","contentType":"file"},{"name":"Memory.java","path":"ij/plugin/Memory.java","contentType":"file"},{"name":"MontageMaker.java","path":"ij/plugin/MontageMaker.java","contentType":"file"},{"name":"NewPlugin.java","path":"ij/plugin/NewPlugin.java","contentType":"file"},{"name":"NextImageOpener.java","path":"ij/plugin/NextImageOpener.java","contentType":"file"},{"name":"Options.java","path":"ij/plugin/Options.java","contentType":"file"},{"name":"Orthogonal_Views.java","path":"ij/plugin/Orthogonal_Views.java","contentType":"file"},{"name":"OverlayCommands.java","path":"ij/plugin/OverlayCommands.java","contentType":"file"},{"name":"OverlayLabels.java","path":"ij/plugin/OverlayLabels.java","contentType":"file"},{"name":"PGM_Reader.java","path":"ij/plugin/PGM_Reader.java","contentType":"file"},{"name":"PNG_Writer.java","path":"ij/plugin/PNG_Writer.java","contentType":"file"},{"name":"PNM_Writer.java","path":"ij/plugin/PNM_Writer.java","contentType":"file"},{"name":"PlugIn.java","path":"ij/plugin/PlugIn.java","contentType":"file"},{"name":"PlugInInterpreter.java","path":"ij/plugin/PlugInInterpreter.java","contentType":"file"},{"name":"PluginInstaller.java","path":"ij/plugin/PluginInstaller.java","contentType":"file"},{"name":"PointToolOptions.java","path":"ij/plugin/PointToolOptions.java","contentType":"file"},{"name":"Profiler.java","path":"ij/plugin/Profiler.java","contentType":"file"},{"name":"Projector.java","path":"ij/plugin/Projector.java","contentType":"file"},{"name":"ProxySettings.java","path":"ij/plugin/ProxySettings.java","contentType":"file"},{"name":"RGBStackConverter.java","path":"ij/plugin/RGBStackConverter.java","contentType":"file"},{"name":"RGBStackMerge.java","path":"ij/plugin/RGBStackMerge.java","contentType":"file"},{"name":"RandomOvals.txt","path":"ij/plugin/RandomOvals.txt","contentType":"file"},{"name":"Raw.java","path":"ij/plugin/Raw.java","contentType":"file"},{"name":"RectToolOptions.java","path":"ij/plugin/RectToolOptions.java","contentType":"file"},{"name":"Resizer.java","path":"ij/plugin/Resizer.java","contentType":"file"},{"name":"RoiEnlarger.java","path":"ij/plugin/RoiEnlarger.java","contentType":"file"},{"name":"RoiInterpolator.java","path":"ij/plugin/RoiInterpolator.java","contentType":"file"},{"name":"RoiReader.java","path":"ij/plugin/RoiReader.java","contentType":"file"},{"name":"RoiRotator.java","path":"ij/plugin/RoiRotator.java","contentType":"file"},{"name":"RoiScaler.java","path":"ij/plugin/RoiScaler.java","contentType":"file"},{"name":"ScaleBar.java","path":"ij/plugin/ScaleBar.java","contentType":"file"},{"name":"Scaler.java","path":"ij/plugin/Scaler.java","contentType":"file"},{"name":"ScreenGrabber.java","path":"ij/plugin/ScreenGrabber.java","contentType":"file"},{"name":"Selection.java","path":"ij/plugin/Selection.java","contentType":"file"},{"name":"SimpleCommands.java","path":"ij/plugin/SimpleCommands.java","contentType":"file"},{"name":"Slicer.java","path":"ij/plugin/Slicer.java","contentType":"file"},{"name":"SpecifyROI.java","path":"ij/plugin/SpecifyROI.java","contentType":"file"},{"name":"StackCombiner.java","path":"ij/plugin/StackCombiner.java","contentType":"file"},{"name":"StackEditor.java","path":"ij/plugin/StackEditor.java","contentType":"file"},{"name":"StackInserter.java","path":"ij/plugin/StackInserter.java","contentType":"file"},{"name":"StackMaker.java","path":"ij/plugin/StackMaker.java","contentType":"file"},{"name":"StackPlotter.java","path":"ij/plugin/StackPlotter.java","contentType":"file"},{"name":"StackReducer.java","path":"ij/plugin/StackReducer.java","contentType":"file"},{"name":"StackReverser.java","path":"ij/plugin/StackReverser.java","contentType":"file"},{"name":"StackWriter.java","path":"ij/plugin/StackWriter.java","contentType":"file"},{"name":"Stack_Statistics.java","path":"ij/plugin/Stack_Statistics.java","contentType":"file"},{"name":"Startup.java","path":"ij/plugin/Startup.java","contentType":"file"},{"name":"Straightener.java","path":"ij/plugin/Straightener.java","contentType":"file"},{"name":"SubHyperstackMaker.java","path":"ij/plugin/SubHyperstackMaker.java","contentType":"file"},{"name":"SubstackMaker.java","path":"ij/plugin/SubstackMaker.java","contentType":"file"},{"name":"SurfacePlotter.java","path":"ij/plugin/SurfacePlotter.java","contentType":"file"},{"name":"Text.java","path":"ij/plugin/Text.java","contentType":"file"},{"name":"TextFileReader.java","path":"ij/plugin/TextFileReader.java","contentType":"file"},{"name":"TextReader.java","path":"ij/plugin/TextReader.java","contentType":"file"},{"name":"TextWriter.java","path":"ij/plugin/TextWriter.java","contentType":"file"},{"name":"ThreadLister.java","path":"ij/plugin/ThreadLister.java","contentType":"file"},{"name":"Thresholder.java","path":"ij/plugin/Thresholder.java","contentType":"file"},{"name":"URLOpener.java","path":"ij/plugin/URLOpener.java","contentType":"file"},{"name":"WandToolOptions.java","path":"ij/plugin/WandToolOptions.java","contentType":"file"},{"name":"WindowOrganizer.java","path":"ij/plugin/WindowOrganizer.java","contentType":"file"},{"name":"XYCoordinates.java","path":"ij/plugin/XYCoordinates.java","contentType":"file"},{"name":"XY_Reader.java","path":"ij/plugin/XY_Reader.java","contentType":"file"},{"name":"ZAxisProfiler.java","path":"ij/plugin/ZAxisProfiler.java","contentType":"file"},{"name":"ZProjector.java","path":"ij/plugin/ZProjector.java","contentType":"file"},{"name":"Zoom.java","path":"ij/plugin/Zoom.java","contentType":"file"}],"totalCount":134},"ij":{"items":[{"name":"gui","path":"ij/gui","contentType":"directory"},{"name":"io","path":"ij/io","contentType":"directory"},{"name":"macro","path":"ij/macro","contentType":"directory"},{"name":"measure","path":"ij/measure","contentType":"directory"},{"name":"plugin","path":"ij/plugin","contentType":"directory"},{"name":"process","path":"ij/process","contentType":"directory"},{"name":"text","path":"ij/text","contentType":"directory"},{"name":"util","path":"ij/util","contentType":"directory"},{"name":"CommandListener.java","path":"ij/CommandListener.java","contentType":"file"},{"name":"CompositeImage.java","path":"ij/CompositeImage.java","contentType":"file"},{"name":"Executer.java","path":"ij/Executer.java","contentType":"file"},{"name":"IJ.java","path":"ij/IJ.java","contentType":"file"},{"name":"IJEventListener.java","path":"ij/IJEventListener.java","contentType":"file"},{"name":"ImageJ.java","path":"ij/ImageJ.java","contentType":"file"},{"name":"ImageJApplet.java","path":"ij/ImageJApplet.java","contentType":"file"},{"name":"ImageListener.java","path":"ij/ImageListener.java","contentType":"file"},{"name":"ImageListenerAdapter.java","path":"ij/ImageListenerAdapter.java","contentType":"file"},{"name":"ImagePlus.java","path":"ij/ImagePlus.java","contentType":"file"},{"name":"ImageStack.java","path":"ij/ImageStack.java","contentType":"file"},{"name":"LookUpTable.java","path":"ij/LookUpTable.java","contentType":"file"},{"name":"Macro.java","path":"ij/Macro.java","contentType":"file"},{"name":"Menus.java","path":"ij/Menus.java","contentType":"file"},{"name":"OtherInstance.java","path":"ij/OtherInstance.java","contentType":"file"},{"name":"Prefs.java","path":"ij/Prefs.java","contentType":"file"},{"name":"RecentOpener.java","path":"ij/RecentOpener.java","contentType":"file"},{"name":"Undo.java","path":"ij/Undo.java","contentType":"file"},{"name":"VirtualStack.java","path":"ij/VirtualStack.java","contentType":"file"},{"name":"WindowManager.java","path":"ij/WindowManager.java","contentType":"file"}],"totalCount":28},"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"ij","path":"ij","contentType":"directory"},{"name":"images","path":"images","contentType":"directory"},{"name":"macros","path":"macros","contentType":"directory"},{"name":"nbproject","path":"nbproject","contentType":"directory"},{"name":"plugins","path":"plugins","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":"IJ_Props.txt","path":"IJ_Props.txt","contentType":"file"},{"name":"LICENSE.txt","path":"LICENSE.txt","contentType":"file"},{"name":"MANIFEST.MF","path":"MANIFEST.MF","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"applet.html","path":"applet.html","contentType":"file"},{"name":"build.xml","path":"build.xml","contentType":"file"},{"name":"compile.bat","path":"compile.bat","contentType":"file"},{"name":"functions.html","path":"functions.html","contentType":"file"},{"name":"module-info.java","path":"module-info.java","contentType":"file"},{"name":"policy","path":"policy","contentType":"file"},{"name":"pom.xml","path":"pom.xml","contentType":"file"},{"name":"release-notes.html","path":"release-notes.html","contentType":"file"},{"name":"run_appletviewer.bat","path":"run_appletviewer.bat","contentType":"file"}],"totalCount":22}},"fileTreeProcessingTime":29.934677999999998,"foldersToFetch":[],"repo":{"id":2136580,"defaultBranch":"master","name":"ImageJ","ownerLogin":"imagej","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-08-01T12:29:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1268233?v=4","public":true,"private":false,"isOrgOwned":true},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1702704726.0","canEdit":false,"refType":"branch","currentOid":"a22d1f7e66214831442c1df8cfd6e59bc402e58d"},"path":"ij/plugin/filter/EDM.java","currentUser":null,"blob":{"rawLines":["package ij.plugin.filter;","import ij.*;","import ij.plugin.*;","import ij.process.*;","import ij.gui.*;","","/**"," * This plugin implements the Euclidean Distance Map (EDM), Watershed,"," * Ultimate Eroded Points and Voronoi commands in the Process/Binary submenu."," *"," * - Euclidean Distance Map: The value of each pixel is the distance to the nearest"," * background pixel (for background pixels, the EDM is 0)"," * - Ultimate Eroded Points (UEPs) are maxima of the EDM. In the output, the points"," * are assigned the EDM value, which is equal to the radius of the largest circle"," * that fits into the particle, with the UEP as the center."," * - Watershed segmentation of the EDM splits particles at \"necks\"; starting at"," * maxima of the EDM."," * - 'Voronoi' splits the image by lines of points having equal distance to the"," * borders of the two nearest particles. Thus, the Voronoi cell of each particle"," * includes all points that are nearer to this particle than any other particle."," * For the case of the priticles being single points, this is a Voronoi tessellation"," * (also known as Dirichlet tessellation)."," * In the output, the value inside the Voronoi cells is zero; the pixel values"," * of the dividing lines between the cells are equal to the distance to the two"," * nearest particles. This is similar to a medial axis transform of the background,"," * but there are no lines in inner holes of particles."," *"," * Watershed, Ultimate Eroded Points and Voronoi are handled by the MaximumFinder "," * plugin applied to the EDM"," * Note: These functions do not take ROIs into account."," * Setup is called with argument \"\" (empty string) for EDM,"," * \"watershed\" for watershed segmentation, \"points\" for ultimate eroded points and"," * \"voronoi\" for Voronoi segmentation of the background"," *"," * The EDM algorithm is similar to the 8SSEDT in"," * F. Leymarie, M. D. Levine, in: CVGIP Image Understanding, vol. 55 (1992), pp 84-94"," * http://dx.doi.org/10.1016/1049-9660(92)90008-Q"," *"," * The algorithm provides a fast approximation of the EDM, with the deviation from a"," * full calculation being between -0.09 and 0. The algorithm is exact for distances<13."," * For d>=13, deviations from the true result can occur, but are very rare: typically"," * the fraction of pixels deviating from the exact result is in the 10^-5 range, with"," * most deviations between -0.03 and -0.04."," *"," * Limitations:"," * Maximum image diagonal for EDM: 46340 pixels (sqrt(2^31)); if the particles are"," * dense enough it also works for width, height <=65534."," *"," * Version 30-Apr-2008 Michael Schmid: more accurate EDM algorithm,"," * 16-bit and float output possible,"," * parallel processing for stacks"," * Voronoi output added"," * @see Adjustable Watershed plugin"," */","public class EDM implements ExtendedPlugInFilter {"," /** Output type: overwrite current 8-bit image */"," public static final int BYTE_OVERWRITE = 0;"," /** Output type: new 8-bit image */"," public static final int BYTE = 1;"," /** Output type: new 16-bit image */"," public static final int SHORT = 2;"," /** Output type: new 32-bit image */"," public static final int FLOAT = 3;"," /** Unit in old make16bitEDM: this pixel value corresponds to a distance of one pixel."," * For compatibility only. */"," public static final int ONE = 41;"," /** In old make16bitEDM this pixel value corresponds to a pixel distance of sqrt(2) */"," public static final int SQRT2 = 58; // ~ 41 * sqrt(2)"," /** In old make16bitEDM this pixel value corresponds to a pixel distance of sqrt(5) */"," public static final int SQRT5 = 92; // ~ 41 * sqrt(5)",""," private ImagePlus imp; //input"," private ImagePlus outImp; //output if a new window is desired"," private PlugInFilterRunner pfr; //needed to extract the stack slice if needed"," private String command; //for showing status"," private int outImageType; //output type; BYTE_OVERWRITE, BYTE, SHORT or FLOAT"," private ImageStack outStack; //in case output should be a new stack"," private int processType; //can be EDM, WATERSHED, UEP, VORONOI"," private MaximumFinder maxFinder = new MaximumFinder(); //we use only one MaximumFinder (nice progress bar)"," private double progressDone; //for progress bar, fraction of work done so far"," private int nPasses; //for progress bar, how many images to process (sequentially or parallel threads)"," private boolean interrupted; //whether watershed segmentation has been interrrupted by the user",""," private boolean background255; //whether background for EDM is 255, not zero"," private int flags = DOES_8G | PARALLELIZE_STACKS | FINAL_PROCESSING;"," //processType can be:"," private static final int EDM = 0, WATERSHED = 1, UEP = 2, VORONOI = 3;"," //whether MaximumFinder is needed for processType:"," private static final boolean[] USES_MAX_FINDER = new boolean[] {"," false, true, true, true };"," //whether watershed segmentation is needed for processType:"," private static final boolean[] USES_WATERSHED = new boolean[] {"," false, true, false, true };"," //prefixes for titles of separate output images; for each processType:"," private static final String[] TITLE_PREFIX = new String[] {"," \"EDM of \", null, \"UEPs of \", \"Voronoi of \"};"," private static final int NO_POINT = -1; //no nearest point in array of nearest points"," private static final double MAXFINDER_TOLERANCE = 0.5; //reasonable values are 0.3 ... 0.8;"," //segmentation is more aggressive with smaller values"," /** Output type (BYTE_OVERWRITE, BYTE, SHORT or FLOAT) */"," private static int outputType = BYTE_OVERWRITE;",""," /** Prepare for processing; also called at the very end with argument 'final'"," * to show any newly created output image."," */"," public int setup (String arg, ImagePlus imp) {"," if (arg.equals(\"final\")) {"," showOutput();"," return DONE;"," }"," this.imp = imp;"," //'arg' is processing type; default is 'EDM' (0)"," if (arg.equals(\"watershed\")) {"," processType = WATERSHED;"," flags += KEEP_THRESHOLD;"," } else if (arg.equals(\"points\"))"," processType = UEP;"," else if (arg.equals(\"voronoi\"))"," processType = VORONOI;",""," //output type"," if (processType != WATERSHED) //Watershed always has output BYTE_OVERWRITE=0"," outImageType = outputType; //otherwise use the static variable from setOutputType"," if (outImageType != BYTE_OVERWRITE)"," flags |= NO_CHANGES;",""," //check image and prepare"," if (imp != null) {"," ImageProcessor ip = imp.getProcessor();"," if (!ip.isBinary()) {"," IJ.error(\"8-bit binary image (0 and 255) required.\");"," return DONE;"," }"," ip.resetRoi();"," //processing routines assume background=0; image may be otherwise"," boolean invertedLut = imp.isInvertedLut();"," background255 = (invertedLut && Prefs.blackBackground) || (!invertedLut && !Prefs.blackBackground);"," }"," return flags;"," } //public int setup",""," /** Called by the PlugInFilterRunner after setup."," * Asks the user in case of a stack and prepares a separate ouptut stack if required"," */",""," public int showDialog (ImagePlus imp, String command, PlugInFilterRunner pfr) {"," this.pfr = pfr;"," int width = imp.getWidth();"," int height= imp.getHeight();"," //ask whether to process all slices of stack & prepare stack"," //(if required) for writing into it in parallel threads"," flags = IJ.setupDialog(imp, flags);"," if ((flags&DOES_STACKS)!=0 && outImageType!=BYTE_OVERWRITE) {"," outStack = new ImageStack(width, height, imp.getStackSize());"," maxFinder.setNPasses(imp.getStackSize());"," }"," return flags;"," } //public int showDialog",""," /** Called by the PlugInFilterRunner to process the image or one frame of a stack */"," public void run (ImageProcessor ip) {"," if (interrupted) return;"," int width = ip.getWidth();"," int height = ip.getHeight();",""," int backgroundValue = (processType==VORONOI) ?"," (background255 ? 0 : (byte)255) : //Voronoi needs EDM of the background"," (background255 ? (byte)255 : 0); //all others do EDM of the foreground"," if (USES_WATERSHED[processType]) nPasses = 0; //watershed has its own progress bar"," FloatProcessor floatEdm = makeFloatEDM(ip, backgroundValue, false);",""," ByteProcessor maxIp = null;"," if (USES_MAX_FINDER[processType]) {"," if (processType == VORONOI) floatEdm.multiply(-1); //Voronoi starts from minima of EDM"," int maxOutputType = USES_WATERSHED[processType] ? MaximumFinder.SEGMENTED : MaximumFinder.SINGLE_POINTS;"," boolean isEDM = processType!=VORONOI;"," maxIp = maxFinder.findMaxima(floatEdm, MAXFINDER_TOLERANCE,"," ImageProcessor.NO_THRESHOLD, maxOutputType, false, isEDM);"," if (maxIp == null) { //segmentation cancelled by user?"," interrupted = true;"," return;"," } else if (processType != WATERSHED) {"," if (processType == VORONOI) floatEdm.multiply(-1);"," resetMasked(floatEdm, maxIp, processType == VORONOI ? -1 : 0);"," }"," }",""," ImageProcessor outIp = null;"," if (processType==WATERSHED) {"," if (background255) maxIp.invert();"," ip.copyBits(maxIp, 0, 0, Blitter.COPY);"," ip.setBinaryThreshold();"," } else switch (outImageType) { //for all these, output contains the values of the EDM"," case FLOAT:"," outIp = floatEdm;"," break;"," case SHORT:"," floatEdm.setMinAndMax(0., 65535.);"," outIp = floatEdm.convertToShort(true);"," break;"," case BYTE:"," floatEdm.setMinAndMax(0., 255.);"," outIp = floatEdm.convertToByte(true);"," break;"," case BYTE_OVERWRITE:"," ip.setPixels(0, floatEdm);"," if (floatEdm.getMax() > 255.)"," ip.resetMinAndMax(); //otherwise we have max of floatEdm"," }",""," if (outImageType != BYTE_OVERWRITE) { //new output image"," if (outStack==null) {"," outImp = new ImagePlus(TITLE_PREFIX[processType]+imp.getShortTitle(), outIp);"," } else"," outStack.setPixels(outIp.getPixels(), pfr.getSliceNumber());"," }"," } //public void run",""," /** Prepare the progress bar."," * Without calling it or if nPasses=0, no progress bar will be shown."," * @param nPasses Number of images that this EDM will process."," */"," public void setNPasses (int nPasses) {"," this.nPasses = nPasses;"," progressDone = 0;"," if (USES_MAX_FINDER[processType]) maxFinder.setNPasses(nPasses);"," }",""," /** Converts a binary image into a 8-bit grayscale Euclidean Distance Map"," * (EDM). Each foreground (nonzero) pixel in the binary image is"," * assigned a value equal to its distance from the nearest"," * background (zero) pixel."," */"," public void toEDM (ImageProcessor ip) {"," ip.setPixels(0, makeFloatEDM(ip, 0, false));"," ip.resetMinAndMax();"," }",""," /** Do watershed segmentation based on the EDM of the"," * foreground objects (nonzero pixels) in an 8-bit image."," * Particles are segmented by their shape; segmentation"," * lines added are background pixels (value = 0);"," */"," public void toWatershed (ImageProcessor ip) {"," FloatProcessor floatEdm = makeFloatEDM(ip, 0, false);"," ByteProcessor maxIp = maxFinder.findMaxima(floatEdm, MAXFINDER_TOLERANCE,"," ImageProcessor.NO_THRESHOLD, MaximumFinder.SEGMENTED, false, true);"," if (maxIp != null) ip.copyBits(maxIp, 0, 0, Blitter.AND);"," }",""," /** Calculates a 16-bit grayscale Euclidean Distance Map for a binary 8-bit image."," * Each foreground (nonzero) pixel in the binary image is assigned a value equal to"," * its distance from the nearest background (zero) pixel, multiplied by EDM.ONE."," * For compatibility with previous versions of ImageJ only."," */"," public ShortProcessor make16bitEDM (ImageProcessor ip) {"," FloatProcessor floatEdm = makeFloatEDM(ip, 0, false);"," floatEdm.setMinAndMax(0, 65535./ONE);"," return (ShortProcessor)floatEdm.convertToShort(true);"," }",""," /**"," * Creates the Euclidian Distance Map of a (binary) byte image."," * @param ip The input image, not modified; must be a ByteProcessor."," * @param backgroundValue Pixels in the input with this value are interpreted as background."," * Note: for pixel value 255, write either -1 or (byte)255."," * @param edgesAreBackground Whether out-of-image pixels are considered background"," * @return The EDM, containing the distances to the nearest background pixel."," * Returns null if the thread is interrupted."," */"," public FloatProcessor makeFloatEDM (ImageProcessor ip, int backgroundValue, boolean edgesAreBackground) {"," int width = ip.getWidth();"," int height = ip.getHeight();"," FloatProcessor fp = new FloatProcessor(width, height);"," byte[] bPixels = (byte[])ip.getPixels();"," float[] fPixels = (float[])fp.getPixels();"," final int progressInterval = 100;"," int nProgressUpdates = height/progressInterval; //how often the progress bar is updated when passing once through y range"," double progressAddendum = (nProgressUpdates>0) ? 0.5/nProgressUpdates : 0;",""," for (int i=0; i=0; y--) {"," if (edgesAreBackground) yDist = height-y;"," edmLine(bPixels, fPixels, pointBufs, width, y*width, y, backgroundValue, yDist);"," if (y%progressInterval == 0) {"," if (Thread.currentThread().isInterrupted()) return null;"," addProgress(progressAddendum);"," }"," }",""," fp.sqrt();"," return fp;"," } //public FloatProcessor makeFloatEDM",""," // Handle a line; two passes: left-to-right and right-to-left"," private void edmLine(byte[] bPixels, float[] fPixels, int[][] pointBufs, int width,"," int offset, int y, int backgroundValue, int yDist) {"," int[] points = pointBufs[0]; // the buffer for the left-to-right pass"," int pPrev = NO_POINT;"," int pDiag = NO_POINT; // point at (-/+1, -/+1) to current one (-1,-1 in the first pass)"," int pNextDiag;"," boolean edgesAreBackground = yDist != Integer.MAX_VALUE;"," int distSqr = Integer.MAX_VALUE; // this value is used only if edges are not background"," for (int x=0; x dist2) fPixels[offset] = dist2;"," }"," pPrev = points[x];"," pDiag = pNextDiag;"," }"," offset--; //now points to the last pixel in the line"," points = pointBufs[1]; // the buffer for the right-to-left pass. Low short contains x, high short y"," pPrev = NO_POINT;"," pDiag = NO_POINT;"," for (int x=width-1; x>=0; x--, offset--) {"," pNextDiag = points[x];"," if (bPixels[offset] == backgroundValue) {"," points[x] = x | y<<16; // remember coordinates as a candidate for nearest background point"," } else { // foreground pixel:"," if (edgesAreBackground)"," distSqr = (width-x < yDist) ? (width-x)*(width-x) : yDist*yDist;"," float dist2 = minDist2(points, pPrev, pDiag, x, y, distSqr);"," if (fPixels[offset] > dist2) fPixels[offset] = dist2;"," }"," pPrev = points[x];"," pDiag = pNextDiag;"," }"," } //private void edmLine",""," // Calculates minimum distance^2 of x,y from the following three points:"," // - points[x] (nearest point found for previous line, same x)"," // - pPrev (nearest point found for same line, previous x), and"," // - pDiag (nearest point found for diagonal, i.e., previous line, previous x)"," // Sets array element points[x] to the coordinates of the point having the minimum distance to x,y"," // If the distSqr parameter is lower than the distance^2, then distSqr is used"," // Returns to the minimum distance^2 obtained"," private float minDist2 (int[] points, int pPrev, int pDiag, int x, int y, int distSqr) {"," int p0 = points[x]; // the nearest background point for the same x in the previous line"," int nearestPoint = p0;"," if (p0 != NO_POINT) {"," int x0 = p0& 0xffff; int y0 = (p0>>16)&0xffff;"," int dist1Sqr = (x-x0)*(x-x0)+(y-y0)*(y-y0);"," if (dist1Sqr < distSqr)"," distSqr = dist1Sqr;"," }"," if (pDiag!=p0 && pDiag!=NO_POINT) {"," int x1 = pDiag&0xffff; int y1 = (pDiag>>16)&0xffff;"," int dist1Sqr = (x-x1)*(x-x1)+(y-y1)*(y-y1);"," if (dist1Sqr < distSqr) {"," nearestPoint = pDiag;"," distSqr = dist1Sqr;"," }"," }"," if (pPrev!=pDiag && pPrev!=NO_POINT) {"," int x1 = pPrev& 0xffff; int y1 = (pPrev>>16)&0xffff;"," int dist1Sqr = (x-x1)*(x-x1)+(y-y1)*(y-y1);"," if (dist1Sqr < distSqr) {"," nearestPoint = pPrev;"," distSqr = dist1Sqr;"," }"," }"," points[x] = nearestPoint;"," return (float)distSqr;"," } //private float minDist2",""," // overwrite ip with floatEdm converted to bytes"," private void byteFromFloat(ImageProcessor ip, FloatProcessor floatEdm) {"," int width = ip.getWidth();"," int height = ip.getHeight();"," byte[] bPixels = (byte[])ip.getPixels();"," float[] fPixels = (float[])floatEdm.getPixels();"," for (int i=0; iFLOAT)"," throw new IllegalArgumentException(\"Invalid type: \"+type);"," outputType = type;"," }",""," /** Returns the current output type (BYTE_OVERWRITE, BYTE, SHORT or FLOAT) */"," public static int getOutputType() {"," return outputType;"," }","","}"],"stylingDirectives":[[{"start":0,"end":7,"cssClass":"pl-k"},{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-s1"},{"start":18,"end":24,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":16,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":17,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":13,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":83,"cssClass":"pl-c"}],[{"start":0,"end":59,"cssClass":"pl-c"}],[{"start":0,"end":84,"cssClass":"pl-c"}],[{"start":0,"end":83,"cssClass":"pl-c"}],[{"start":0,"end":61,"cssClass":"pl-c"}],[{"start":0,"end":79,"cssClass":"pl-c"}],[{"start":0,"end":23,"cssClass":"pl-c"}],[{"start":0,"end":79,"cssClass":"pl-c"}],[{"start":0,"end":82,"cssClass":"pl-c"}],[{"start":0,"end":82,"cssClass":"pl-c"}],[{"start":0,"end":86,"cssClass":"pl-c"}],[{"start":0,"end":44,"cssClass":"pl-c"}],[{"start":0,"end":80,"cssClass":"pl-c"}],[{"start":0,"end":81,"cssClass":"pl-c"}],[{"start":0,"end":85,"cssClass":"pl-c"}],[{"start":0,"end":56,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":82,"cssClass":"pl-c"}],[{"start":0,"end":28,"cssClass":"pl-c"}],[{"start":0,"end":55,"cssClass":"pl-c"}],[{"start":0,"end":59,"cssClass":"pl-c"}],[{"start":0,"end":82,"cssClass":"pl-c"}],[{"start":0,"end":55,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":48,"cssClass":"pl-c"}],[{"start":0,"end":87,"cssClass":"pl-c"}],[{"start":0,"end":51,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":84,"cssClass":"pl-c"}],[{"start":0,"end":87,"cssClass":"pl-c"}],[{"start":0,"end":85,"cssClass":"pl-c"}],[{"start":0,"end":85,"cssClass":"pl-c"}],[{"start":0,"end":43,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":15,"cssClass":"pl-c"}],[{"start":0,"end":82,"cssClass":"pl-c"}],[{"start":0,"end":56,"cssClass":"pl-c"}],[{"start":0,"end":2,"cssClass":"pl-c"}],[{"start":0,"end":68,"cssClass":"pl-c"}],[{"start":0,"end":73,"cssClass":"pl-c"}],[{"start":0,"end":70,"cssClass":"pl-c"}],[{"start":0,"end":60,"cssClass":"pl-c"}],[{"start":0,"end":118,"cssClass":"pl-c"}],[{"start":0,"end":3,"cssClass":"pl-c"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":27,"cssClass":"pl-k"},{"start":28,"end":48,"cssClass":"pl-smi"}],[{"start":4,"end":53,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":42,"cssClass":"pl-c1"},{"start":45,"end":46,"cssClass":"pl-c1"}],[{"start":4,"end":39,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":32,"cssClass":"pl-c1"},{"start":35,"end":36,"cssClass":"pl-c1"}],[{"start":4,"end":40,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":33,"cssClass":"pl-c1"},{"start":36,"end":37,"cssClass":"pl-c1"}],[{"start":4,"end":40,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":33,"cssClass":"pl-c1"},{"start":36,"end":37,"cssClass":"pl-c1"}],[{"start":4,"end":90,"cssClass":"pl-c"}],[{"start":0,"end":34,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":31,"cssClass":"pl-c1"},{"start":34,"end":36,"cssClass":"pl-c1"}],[{"start":4,"end":90,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":33,"cssClass":"pl-c1"},{"start":36,"end":38,"cssClass":"pl-c1"},{"start":40,"end":57,"cssClass":"pl-c"}],[{"start":4,"end":90,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":23,"cssClass":"pl-k"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":33,"cssClass":"pl-c1"},{"start":36,"end":38,"cssClass":"pl-c1"},{"start":40,"end":57,"cssClass":"pl-c"}],[],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":21,"cssClass":"pl-smi"},{"start":22,"end":25,"cssClass":"pl-s1"},{"start":40,"end":47,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":21,"cssClass":"pl-smi"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":40,"end":75,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":30,"cssClass":"pl-smi"},{"start":31,"end":34,"cssClass":"pl-s1"},{"start":40,"end":85,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-smi"},{"start":19,"end":26,"cssClass":"pl-s1"},{"start":40,"end":60,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":28,"cssClass":"pl-s1"},{"start":40,"end":91,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":22,"cssClass":"pl-smi"},{"start":23,"end":31,"cssClass":"pl-s1"},{"start":40,"end":78,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":27,"cssClass":"pl-s1"},{"start":40,"end":77,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":25,"cssClass":"pl-smi"},{"start":26,"end":35,"cssClass":"pl-s1"},{"start":38,"end":41,"cssClass":"pl-k"},{"start":42,"end":55,"cssClass":"pl-smi"},{"start":62,"end":113,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-smi"},{"start":19,"end":31,"cssClass":"pl-s1"},{"start":40,"end":88,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":40,"end":121,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":19,"cssClass":"pl-smi"},{"start":20,"end":31,"cssClass":"pl-s1"},{"start":40,"end":106,"cssClass":"pl-c"}],[],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":19,"cssClass":"pl-smi"},{"start":20,"end":33,"cssClass":"pl-s1"},{"start":40,"end":85,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":24,"end":31,"cssClass":"pl-c1"},{"start":34,"end":52,"cssClass":"pl-c1"},{"start":55,"end":71,"cssClass":"pl-c1"}],[{"start":4,"end":25,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":28,"cssClass":"pl-smi"},{"start":29,"end":32,"cssClass":"pl-c1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":38,"end":47,"cssClass":"pl-c1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":53,"end":56,"cssClass":"pl-c1"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":62,"end":69,"cssClass":"pl-c1"},{"start":72,"end":73,"cssClass":"pl-c1"}],[{"start":4,"end":54,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":32,"cssClass":"pl-smi"},{"start":35,"end":50,"cssClass":"pl-c1"},{"start":53,"end":56,"cssClass":"pl-k"},{"start":57,"end":64,"cssClass":"pl-smi"}],[{"start":12,"end":17,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-c1"},{"start":25,"end":29,"cssClass":"pl-c1"},{"start":31,"end":35,"cssClass":"pl-c1"}],[{"start":4,"end":63,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":32,"cssClass":"pl-smi"},{"start":35,"end":49,"cssClass":"pl-c1"},{"start":52,"end":55,"cssClass":"pl-k"},{"start":56,"end":63,"cssClass":"pl-smi"}],[{"start":12,"end":17,"cssClass":"pl-c1"},{"start":19,"end":23,"cssClass":"pl-c1"},{"start":25,"end":30,"cssClass":"pl-c1"},{"start":32,"end":36,"cssClass":"pl-c1"}],[{"start":4,"end":74,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":31,"cssClass":"pl-smi"},{"start":34,"end":46,"cssClass":"pl-c1"},{"start":49,"end":52,"cssClass":"pl-k"},{"start":53,"end":59,"cssClass":"pl-smi"}],[{"start":12,"end":21,"cssClass":"pl-s"},{"start":23,"end":27,"cssClass":"pl-c1"},{"start":29,"end":39,"cssClass":"pl-s"},{"start":41,"end":54,"cssClass":"pl-s"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":28,"cssClass":"pl-smi"},{"start":29,"end":37,"cssClass":"pl-c1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":44,"end":89,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":24,"cssClass":"pl-k"},{"start":25,"end":31,"cssClass":"pl-smi"},{"start":32,"end":51,"cssClass":"pl-c1"},{"start":54,"end":57,"cssClass":"pl-c1"},{"start":59,"end":95,"cssClass":"pl-c"}],[{"start":36,"end":89,"cssClass":"pl-c"}],[{"start":4,"end":61,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-smi"},{"start":23,"end":33,"cssClass":"pl-s1"},{"start":36,"end":50,"cssClass":"pl-c1"}],[],[{"start":4,"end":81,"cssClass":"pl-c"}],[{"start":0,"end":47,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-smi"},{"start":15,"end":20,"cssClass":"pl-en"},{"start":22,"end":28,"cssClass":"pl-smi"},{"start":29,"end":32,"cssClass":"pl-s1"},{"start":34,"end":43,"cssClass":"pl-smi"},{"start":44,"end":47,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-en"},{"start":23,"end":30,"cssClass":"pl-s"}],[{"start":12,"end":22,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-k"},{"start":19,"end":23,"cssClass":"pl-c1"}],[],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":13,"end":16,"cssClass":"pl-s1"},{"start":19,"end":22,"cssClass":"pl-s1"}],[{"start":8,"end":56,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":16,"end":22,"cssClass":"pl-en"},{"start":23,"end":34,"cssClass":"pl-s"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":21,"end":35,"cssClass":"pl-c1"}],[{"start":10,"end":14,"cssClass":"pl-k"},{"start":15,"end":17,"cssClass":"pl-k"},{"start":19,"end":22,"cssClass":"pl-s1"},{"start":23,"end":29,"cssClass":"pl-en"},{"start":30,"end":38,"cssClass":"pl-s"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":26,"end":29,"cssClass":"pl-c1"}],[{"start":8,"end":12,"cssClass":"pl-k"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":17,"end":20,"cssClass":"pl-s1"},{"start":21,"end":27,"cssClass":"pl-en"},{"start":28,"end":37,"cssClass":"pl-s"}],[{"start":12,"end":23,"cssClass":"pl-s1"},{"start":26,"end":33,"cssClass":"pl-c1"}],[],[{"start":8,"end":21,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":27,"end":36,"cssClass":"pl-c1"},{"start":48,"end":94,"cssClass":"pl-c"}],[{"start":12,"end":24,"cssClass":"pl-s1"},{"start":27,"end":37,"cssClass":"pl-s1"},{"start":48,"end":102,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":28,"end":42,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":21,"end":31,"cssClass":"pl-c1"}],[],[{"start":8,"end":33,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":15,"cssClass":"pl-s1"},{"start":19,"end":23,"cssClass":"pl-c1"}],[{"start":12,"end":26,"cssClass":"pl-smi"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":32,"end":35,"cssClass":"pl-s1"},{"start":36,"end":48,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":17,"end":19,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-en"}],[{"start":16,"end":18,"cssClass":"pl-smi"},{"start":19,"end":24,"cssClass":"pl-en"},{"start":25,"end":67,"cssClass":"pl-s"}],[{"start":16,"end":22,"cssClass":"pl-k"},{"start":23,"end":27,"cssClass":"pl-c1"}],[],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":23,"cssClass":"pl-en"}],[{"start":12,"end":77,"cssClass":"pl-c"}],[{"start":12,"end":19,"cssClass":"pl-smi"},{"start":20,"end":31,"cssClass":"pl-s1"},{"start":34,"end":37,"cssClass":"pl-s1"},{"start":38,"end":51,"cssClass":"pl-en"}],[{"start":12,"end":25,"cssClass":"pl-s1"},{"start":29,"end":40,"cssClass":"pl-s1"},{"start":44,"end":49,"cssClass":"pl-smi"},{"start":50,"end":65,"cssClass":"pl-s1"},{"start":72,"end":83,"cssClass":"pl-s1"},{"start":88,"end":93,"cssClass":"pl-smi"},{"start":94,"end":109,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"}],[{"start":6,"end":24,"cssClass":"pl-c"}],[],[{"start":4,"end":53,"cssClass":"pl-c"}],[{"start":0,"end":89,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-smi"},{"start":15,"end":25,"cssClass":"pl-en"},{"start":27,"end":36,"cssClass":"pl-smi"},{"start":37,"end":40,"cssClass":"pl-s1"},{"start":42,"end":48,"cssClass":"pl-smi"},{"start":49,"end":56,"cssClass":"pl-s1"},{"start":58,"end":76,"cssClass":"pl-smi"},{"start":77,"end":80,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":13,"end":16,"cssClass":"pl-s1"},{"start":19,"end":22,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":20,"end":23,"cssClass":"pl-s1"},{"start":24,"end":33,"cssClass":"pl-en"}],[{"start":8,"end":68,"cssClass":"pl-c"}],[{"start":8,"end":63,"cssClass":"pl-c"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":16,"end":18,"cssClass":"pl-smi"},{"start":19,"end":30,"cssClass":"pl-en"},{"start":31,"end":34,"cssClass":"pl-s1"},{"start":36,"end":41,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":13,"end":18,"cssClass":"pl-s1"},{"start":19,"end":30,"cssClass":"pl-c1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":38,"end":50,"cssClass":"pl-s1"},{"start":52,"end":66,"cssClass":"pl-c1"}],[{"start":12,"end":20,"cssClass":"pl-s1"},{"start":23,"end":26,"cssClass":"pl-k"},{"start":27,"end":37,"cssClass":"pl-smi"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":45,"end":51,"cssClass":"pl-s1"},{"start":53,"end":56,"cssClass":"pl-s1"},{"start":57,"end":69,"cssClass":"pl-en"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":32,"cssClass":"pl-en"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":37,"end":49,"cssClass":"pl-en"}],[],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":20,"cssClass":"pl-s1"}],[{"start":6,"end":29,"cssClass":"pl-c"}],[],[{"start":4,"end":88,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-smi"},{"start":16,"end":19,"cssClass":"pl-en"},{"start":21,"end":35,"cssClass":"pl-smi"},{"start":36,"end":38,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-k"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":31,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":33,"cssClass":"pl-en"}],[],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":27,"cssClass":"pl-s1"},{"start":31,"end":42,"cssClass":"pl-s1"},{"start":44,"end":51,"cssClass":"pl-c1"}],[{"start":17,"end":30,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":38,"end":42,"cssClass":"pl-smi"},{"start":43,"end":46,"cssClass":"pl-c1"},{"start":50,"end":87,"cssClass":"pl-c"}],[{"start":17,"end":30,"cssClass":"pl-s1"},{"start":34,"end":38,"cssClass":"pl-smi"},{"start":39,"end":42,"cssClass":"pl-c1"},{"start":45,"end":46,"cssClass":"pl-c1"},{"start":50,"end":87,"cssClass":"pl-c"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":26,"cssClass":"pl-c1"},{"start":27,"end":38,"cssClass":"pl-s1"},{"start":41,"end":48,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":54,"end":90,"cssClass":"pl-c"}],[{"start":8,"end":22,"cssClass":"pl-smi"},{"start":23,"end":31,"cssClass":"pl-s1"},{"start":34,"end":46,"cssClass":"pl-en"},{"start":47,"end":49,"cssClass":"pl-s1"},{"start":51,"end":66,"cssClass":"pl-s1"},{"start":68,"end":73,"cssClass":"pl-c1"}],[],[{"start":8,"end":21,"cssClass":"pl-smi"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":27,"cssClass":"pl-c1"},{"start":28,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":27,"cssClass":"pl-s1"},{"start":31,"end":38,"cssClass":"pl-c1"},{"start":40,"end":48,"cssClass":"pl-s1"},{"start":49,"end":57,"cssClass":"pl-en"},{"start":59,"end":60,"cssClass":"pl-c1"},{"start":63,"end":98,"cssClass":"pl-c"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":29,"cssClass":"pl-s1"},{"start":32,"end":46,"cssClass":"pl-c1"},{"start":47,"end":58,"cssClass":"pl-s1"},{"start":62,"end":75,"cssClass":"pl-smi"},{"start":76,"end":85,"cssClass":"pl-c1"},{"start":88,"end":101,"cssClass":"pl-smi"},{"start":102,"end":115,"cssClass":"pl-c1"}],[{"start":12,"end":19,"cssClass":"pl-smi"},{"start":20,"end":25,"cssClass":"pl-s1"},{"start":28,"end":39,"cssClass":"pl-s1"},{"start":41,"end":48,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":29,"cssClass":"pl-s1"},{"start":30,"end":40,"cssClass":"pl-en"},{"start":41,"end":49,"cssClass":"pl-s1"},{"start":51,"end":70,"cssClass":"pl-c1"}],[{"start":16,"end":30,"cssClass":"pl-smi"},{"start":31,"end":43,"cssClass":"pl-c1"},{"start":45,"end":58,"cssClass":"pl-s1"},{"start":60,"end":65,"cssClass":"pl-c1"},{"start":67,"end":72,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":21,"cssClass":"pl-s1"},{"start":25,"end":29,"cssClass":"pl-c1"},{"start":34,"end":67,"cssClass":"pl-c"}],[{"start":16,"end":27,"cssClass":"pl-s1"},{"start":30,"end":34,"cssClass":"pl-c1"}],[{"start":16,"end":22,"cssClass":"pl-k"}],[{"start":14,"end":18,"cssClass":"pl-k"},{"start":19,"end":21,"cssClass":"pl-k"},{"start":23,"end":34,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":31,"cssClass":"pl-s1"},{"start":35,"end":42,"cssClass":"pl-c1"},{"start":44,"end":52,"cssClass":"pl-s1"},{"start":53,"end":61,"cssClass":"pl-en"},{"start":63,"end":64,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-en"},{"start":28,"end":36,"cssClass":"pl-s1"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":45,"end":56,"cssClass":"pl-s1"},{"start":60,"end":67,"cssClass":"pl-c1"},{"start":71,"end":72,"cssClass":"pl-c1"},{"start":75,"end":76,"cssClass":"pl-c1"}],[],[],[],[{"start":8,"end":22,"cssClass":"pl-smi"},{"start":23,"end":28,"cssClass":"pl-s1"},{"start":31,"end":35,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":25,"end":34,"cssClass":"pl-c1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":29,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":23,"cssClass":"pl-en"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":34,"end":35,"cssClass":"pl-c1"},{"start":37,"end":44,"cssClass":"pl-smi"},{"start":45,"end":49,"cssClass":"pl-c1"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":33,"cssClass":"pl-en"}],[{"start":10,"end":14,"cssClass":"pl-k"},{"start":15,"end":21,"cssClass":"pl-k"},{"start":23,"end":35,"cssClass":"pl-s1"},{"start":48,"end":102,"cssClass":"pl-c"}],[{"start":12,"end":16,"cssClass":"pl-k"},{"start":17,"end":22,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-k"},{"start":17,"end":22,"cssClass":"pl-c1"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":37,"cssClass":"pl-en"},{"start":38,"end":40,"cssClass":"pl-c1"},{"start":42,"end":48,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-s1"},{"start":33,"end":47,"cssClass":"pl-en"},{"start":48,"end":52,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-k"},{"start":17,"end":21,"cssClass":"pl-c1"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":37,"cssClass":"pl-en"},{"start":38,"end":40,"cssClass":"pl-c1"},{"start":42,"end":46,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-s1"},{"start":24,"end":32,"cssClass":"pl-s1"},{"start":33,"end":46,"cssClass":"pl-en"},{"start":47,"end":51,"cssClass":"pl-c1"}],[{"start":16,"end":21,"cssClass":"pl-k"}],[{"start":12,"end":16,"cssClass":"pl-k"},{"start":17,"end":31,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-s1"},{"start":19,"end":28,"cssClass":"pl-en"},{"start":29,"end":30,"cssClass":"pl-c1"},{"start":32,"end":40,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-en"},{"start":40,"end":44,"cssClass":"pl-c1"}],[{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":37,"cssClass":"pl-en"},{"start":48,"end":83,"cssClass":"pl-c"}],[],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":28,"end":42,"cssClass":"pl-c1"},{"start":48,"end":66,"cssClass":"pl-c"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":26,"end":30,"cssClass":"pl-c1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":25,"end":28,"cssClass":"pl-k"},{"start":29,"end":38,"cssClass":"pl-smi"},{"start":39,"end":51,"cssClass":"pl-c1"},{"start":52,"end":63,"cssClass":"pl-s1"},{"start":65,"end":68,"cssClass":"pl-s1"},{"start":69,"end":82,"cssClass":"pl-en"},{"start":86,"end":91,"cssClass":"pl-s1"}],[{"start":14,"end":18,"cssClass":"pl-k"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":34,"cssClass":"pl-en"},{"start":35,"end":40,"cssClass":"pl-s1"},{"start":41,"end":50,"cssClass":"pl-en"},{"start":54,"end":57,"cssClass":"pl-s1"},{"start":58,"end":72,"cssClass":"pl-en"}],[],[{"start":6,"end":23,"cssClass":"pl-c"}],[],[{"start":4,"end":33,"cssClass":"pl-c"}],[{"start":0,"end":74,"cssClass":"pl-c"}],[{"start":0,"end":67,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-smi"},{"start":16,"end":26,"cssClass":"pl-en"},{"start":28,"end":31,"cssClass":"pl-smi"},{"start":32,"end":39,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":13,"end":20,"cssClass":"pl-s1"},{"start":23,"end":30,"cssClass":"pl-s1"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":27,"cssClass":"pl-c1"},{"start":28,"end":39,"cssClass":"pl-s1"},{"start":42,"end":51,"cssClass":"pl-s1"},{"start":52,"end":62,"cssClass":"pl-en"},{"start":63,"end":70,"cssClass":"pl-s1"}],[],[],[{"start":4,"end":77,"cssClass":"pl-c"}],[{"start":0,"end":69,"cssClass":"pl-c"}],[{"start":0,"end":63,"cssClass":"pl-c"}],[{"start":0,"end":32,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-smi"},{"start":16,"end":21,"cssClass":"pl-en"},{"start":23,"end":37,"cssClass":"pl-smi"},{"start":38,"end":40,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":20,"cssClass":"pl-en"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":24,"end":36,"cssClass":"pl-en"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":44,"end":49,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":25,"cssClass":"pl-en"}],[],[],[{"start":4,"end":57,"cssClass":"pl-c"}],[{"start":0,"end":62,"cssClass":"pl-c"}],[{"start":0,"end":60,"cssClass":"pl-c"}],[{"start":0,"end":54,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":15,"cssClass":"pl-smi"},{"start":16,"end":27,"cssClass":"pl-en"},{"start":29,"end":43,"cssClass":"pl-smi"},{"start":44,"end":46,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-smi"},{"start":23,"end":31,"cssClass":"pl-s1"},{"start":34,"end":46,"cssClass":"pl-en"},{"start":47,"end":49,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":54,"end":59,"cssClass":"pl-c1"}],[{"start":8,"end":21,"cssClass":"pl-smi"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":30,"end":39,"cssClass":"pl-s1"},{"start":40,"end":50,"cssClass":"pl-en"},{"start":51,"end":59,"cssClass":"pl-s1"},{"start":61,"end":80,"cssClass":"pl-c1"}],[{"start":16,"end":30,"cssClass":"pl-smi"},{"start":31,"end":43,"cssClass":"pl-c1"},{"start":45,"end":58,"cssClass":"pl-smi"},{"start":59,"end":68,"cssClass":"pl-c1"},{"start":70,"end":75,"cssClass":"pl-c1"},{"start":77,"end":81,"cssClass":"pl-c1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-c1"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-en"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":52,"end":59,"cssClass":"pl-smi"},{"start":60,"end":63,"cssClass":"pl-c1"}],[],[],[{"start":4,"end":86,"cssClass":"pl-c"}],[{"start":0,"end":87,"cssClass":"pl-c"}],[{"start":0,"end":84,"cssClass":"pl-c"}],[{"start":0,"end":63,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":25,"cssClass":"pl-smi"},{"start":26,"end":38,"cssClass":"pl-en"},{"start":40,"end":54,"cssClass":"pl-smi"},{"start":55,"end":57,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-smi"},{"start":23,"end":31,"cssClass":"pl-s1"},{"start":34,"end":46,"cssClass":"pl-en"},{"start":47,"end":49,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-c1"},{"start":54,"end":59,"cssClass":"pl-c1"}],[{"start":8,"end":16,"cssClass":"pl-s1"},{"start":17,"end":29,"cssClass":"pl-en"},{"start":30,"end":31,"cssClass":"pl-c1"},{"start":33,"end":39,"cssClass":"pl-c1"},{"start":40,"end":43,"cssClass":"pl-c1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":16,"end":30,"cssClass":"pl-smi"},{"start":31,"end":39,"cssClass":"pl-s1"},{"start":40,"end":54,"cssClass":"pl-en"},{"start":55,"end":59,"cssClass":"pl-c1"}],[],[],[{"start":4,"end":7,"cssClass":"pl-c"}],[{"start":0,"end":67,"cssClass":"pl-c"}],[{"start":0,"end":87,"cssClass":"pl-c"}],[{"start":0,"end":98,"cssClass":"pl-c"}],[{"start":0,"end":88,"cssClass":"pl-c"}],[{"start":0,"end":86,"cssClass":"pl-c"}],[{"start":0,"end":98,"cssClass":"pl-c"}],[{"start":0,"end":74,"cssClass":"pl-c"}],[{"start":0,"end":7,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":25,"cssClass":"pl-smi"},{"start":26,"end":38,"cssClass":"pl-en"},{"start":40,"end":54,"cssClass":"pl-smi"},{"start":55,"end":57,"cssClass":"pl-s1"},{"start":59,"end":62,"cssClass":"pl-smi"},{"start":63,"end":78,"cssClass":"pl-s1"},{"start":80,"end":87,"cssClass":"pl-smi"},{"start":88,"end":106,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":31,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":33,"cssClass":"pl-en"}],[{"start":8,"end":22,"cssClass":"pl-smi"},{"start":23,"end":25,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-k"},{"start":32,"end":46,"cssClass":"pl-smi"},{"start":47,"end":52,"cssClass":"pl-s1"},{"start":54,"end":60,"cssClass":"pl-s1"}],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":15,"end":22,"cssClass":"pl-s1"},{"start":26,"end":30,"cssClass":"pl-smi"},{"start":33,"end":35,"cssClass":"pl-s1"},{"start":36,"end":45,"cssClass":"pl-en"}],[{"start":8,"end":13,"cssClass":"pl-smi"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":27,"end":32,"cssClass":"pl-smi"},{"start":35,"end":37,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-en"}],[{"start":8,"end":13,"cssClass":"pl-k"},{"start":14,"end":17,"cssClass":"pl-smi"},{"start":18,"end":34,"cssClass":"pl-s1"},{"start":37,"end":40,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":28,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-s1"},{"start":38,"end":54,"cssClass":"pl-s1"},{"start":57,"end":130,"cssClass":"pl-c"}],[{"start":8,"end":14,"cssClass":"pl-smi"},{"start":15,"end":31,"cssClass":"pl-s1"},{"start":35,"end":51,"cssClass":"pl-s1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":57,"end":60,"cssClass":"pl-c1"},{"start":61,"end":77,"cssClass":"pl-s1"},{"start":80,"end":81,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":28,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"},{"start":53,"end":54,"cssClass":"pl-s1"},{"start":58,"end":63,"cssClass":"pl-smi"},{"start":64,"end":73,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":16,"end":25,"cssClass":"pl-s1"},{"start":28,"end":31,"cssClass":"pl-k"},{"start":32,"end":35,"cssClass":"pl-smi"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":39,"end":44,"cssClass":"pl-s1"},{"start":48,"end":112,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":27,"cssClass":"pl-smi"},{"start":28,"end":37,"cssClass":"pl-c1"},{"start":48,"end":101,"cssClass":"pl-c"}],[{"start":8,"end":35,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":34,"cssClass":"pl-s1"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":44,"end":45,"cssClass":"pl-s1"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":49,"end":97,"cssClass":"pl-c"}],[{"start":12,"end":19,"cssClass":"pl-en"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":29,"end":36,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-s1"},{"start":49,"end":54,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-s1"},{"start":58,"end":63,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-s1"},{"start":68,"end":83,"cssClass":"pl-s1"},{"start":85,"end":90,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":34,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":26,"cssClass":"pl-smi"},{"start":27,"end":40,"cssClass":"pl-en"},{"start":43,"end":56,"cssClass":"pl-en"},{"start":60,"end":66,"cssClass":"pl-k"},{"start":67,"end":71,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-en"},{"start":28,"end":44,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":34,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-c1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-c1"}],[],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":25,"cssClass":"pl-s1"},{"start":26,"end":27,"cssClass":"pl-c1"},{"start":29,"end":30,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":35,"end":36,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":34,"cssClass":"pl-s1"},{"start":36,"end":41,"cssClass":"pl-s1"},{"start":44,"end":50,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-s1"}],[{"start":12,"end":19,"cssClass":"pl-en"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":29,"end":36,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-s1"},{"start":49,"end":54,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-s1"},{"start":58,"end":63,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-s1"},{"start":68,"end":83,"cssClass":"pl-s1"},{"start":85,"end":90,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":17,"cssClass":"pl-s1"},{"start":18,"end":34,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-c1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":26,"cssClass":"pl-smi"},{"start":27,"end":40,"cssClass":"pl-en"},{"start":43,"end":56,"cssClass":"pl-en"},{"start":60,"end":66,"cssClass":"pl-k"},{"start":67,"end":71,"cssClass":"pl-c1"}],[{"start":16,"end":27,"cssClass":"pl-en"},{"start":28,"end":44,"cssClass":"pl-s1"}],[],[],[],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":15,"cssClass":"pl-en"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":17,"cssClass":"pl-s1"}],[{"start":6,"end":42,"cssClass":"pl-c"}],[],[{"start":4,"end":65,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-smi"},{"start":17,"end":24,"cssClass":"pl-en"},{"start":25,"end":29,"cssClass":"pl-smi"},{"start":32,"end":39,"cssClass":"pl-s1"},{"start":41,"end":46,"cssClass":"pl-smi"},{"start":49,"end":56,"cssClass":"pl-s1"},{"start":58,"end":61,"cssClass":"pl-smi"},{"start":66,"end":75,"cssClass":"pl-s1"},{"start":77,"end":80,"cssClass":"pl-smi"},{"start":81,"end":86,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":22,"cssClass":"pl-s1"},{"start":24,"end":27,"cssClass":"pl-smi"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":31,"end":34,"cssClass":"pl-smi"},{"start":35,"end":50,"cssClass":"pl-s1"},{"start":52,"end":55,"cssClass":"pl-smi"},{"start":56,"end":61,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":14,"end":20,"cssClass":"pl-s1"},{"start":23,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":44,"end":84,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":28,"cssClass":"pl-c1"},{"start":44,"end":109,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":21,"cssClass":"pl-s1"}],[{"start":8,"end":15,"cssClass":"pl-smi"},{"start":16,"end":34,"cssClass":"pl-s1"},{"start":37,"end":42,"cssClass":"pl-s1"},{"start":46,"end":53,"cssClass":"pl-smi"},{"start":54,"end":63,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":22,"end":29,"cssClass":"pl-smi"},{"start":30,"end":39,"cssClass":"pl-c1"},{"start":44,"end":98,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":35,"end":50,"cssClass":"pl-s1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-s1"},{"start":35,"end":37,"cssClass":"pl-c1"},{"start":44,"end":111,"cssClass":"pl-c"}],[{"start":14,"end":18,"cssClass":"pl-k"},{"start":44,"end":64,"cssClass":"pl-c"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":38,"cssClass":"pl-s1"}],[{"start":20,"end":27,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"},{"start":33,"end":34,"cssClass":"pl-c1"},{"start":37,"end":42,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-c1"},{"start":53,"end":54,"cssClass":"pl-s1"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":60,"end":65,"cssClass":"pl-s1"},{"start":66,"end":71,"cssClass":"pl-s1"},{"start":73,"end":93,"cssClass":"pl-c"}],[{"start":16,"end":21,"cssClass":"pl-smi"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-en"},{"start":39,"end":45,"cssClass":"pl-s1"},{"start":47,"end":52,"cssClass":"pl-s1"},{"start":54,"end":59,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-s1"},{"start":67,"end":74,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"},{"start":53,"end":59,"cssClass":"pl-s1"},{"start":63,"end":68,"cssClass":"pl-s1"}],[],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":29,"cssClass":"pl-s1"}],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":18,"end":60,"cssClass":"pl-c"}],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":17,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":44,"end":120,"cssClass":"pl-c"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":16,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":13,"cssClass":"pl-s1"},{"start":16,"end":24,"cssClass":"pl-c1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-c1"},{"start":34,"end":35,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-s1"}],[{"start":12,"end":21,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":31,"end":32,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":35,"end":50,"cssClass":"pl-s1"}],[{"start":16,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-s1"},{"start":35,"end":37,"cssClass":"pl-c1"},{"start":44,"end":111,"cssClass":"pl-c"}],[{"start":14,"end":18,"cssClass":"pl-k"},{"start":44,"end":64,"cssClass":"pl-c"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":38,"cssClass":"pl-s1"}],[{"start":20,"end":27,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-s1"},{"start":41,"end":46,"cssClass":"pl-s1"},{"start":51,"end":56,"cssClass":"pl-s1"},{"start":57,"end":58,"cssClass":"pl-s1"},{"start":61,"end":66,"cssClass":"pl-s1"},{"start":67,"end":68,"cssClass":"pl-s1"},{"start":72,"end":77,"cssClass":"pl-s1"},{"start":78,"end":83,"cssClass":"pl-s1"}],[{"start":16,"end":21,"cssClass":"pl-smi"},{"start":22,"end":27,"cssClass":"pl-s1"},{"start":30,"end":38,"cssClass":"pl-en"},{"start":39,"end":45,"cssClass":"pl-s1"},{"start":47,"end":52,"cssClass":"pl-s1"},{"start":54,"end":59,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-s1"},{"start":67,"end":74,"cssClass":"pl-s1"}],[{"start":16,"end":18,"cssClass":"pl-k"},{"start":20,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":38,"end":43,"cssClass":"pl-s1"},{"start":45,"end":52,"cssClass":"pl-s1"},{"start":53,"end":59,"cssClass":"pl-s1"},{"start":63,"end":68,"cssClass":"pl-s1"}],[],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-s1"},{"start":27,"end":28,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":29,"cssClass":"pl-s1"}],[],[{"start":6,"end":28,"cssClass":"pl-c"}],[],[{"start":4,"end":76,"cssClass":"pl-c"}],[{"start":4,"end":67,"cssClass":"pl-c"}],[{"start":4,"end":68,"cssClass":"pl-c"}],[{"start":4,"end":83,"cssClass":"pl-c"}],[{"start":4,"end":102,"cssClass":"pl-c"}],[{"start":4,"end":82,"cssClass":"pl-c"}],[{"start":4,"end":49,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-smi"},{"start":18,"end":26,"cssClass":"pl-en"},{"start":28,"end":31,"cssClass":"pl-smi"},{"start":34,"end":40,"cssClass":"pl-s1"},{"start":42,"end":45,"cssClass":"pl-smi"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":56,"cssClass":"pl-smi"},{"start":57,"end":62,"cssClass":"pl-s1"},{"start":64,"end":67,"cssClass":"pl-smi"},{"start":68,"end":69,"cssClass":"pl-s1"},{"start":71,"end":74,"cssClass":"pl-smi"},{"start":75,"end":76,"cssClass":"pl-s1"},{"start":78,"end":81,"cssClass":"pl-smi"},{"start":82,"end":89,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":14,"cssClass":"pl-s1"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":41,"end":108,"cssClass":"pl-c"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":27,"end":29,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":14,"cssClass":"pl-s1"},{"start":18,"end":26,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-c1"},{"start":33,"end":36,"cssClass":"pl-smi"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":43,"end":45,"cssClass":"pl-s1"},{"start":47,"end":49,"cssClass":"pl-c1"},{"start":51,"end":57,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-s1"},{"start":51,"end":53,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":27,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":26,"end":34,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":19,"end":21,"cssClass":"pl-s1"},{"start":25,"end":30,"cssClass":"pl-s1"},{"start":32,"end":40,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":21,"end":26,"cssClass":"pl-s1"},{"start":27,"end":33,"cssClass":"pl-c1"},{"start":35,"end":38,"cssClass":"pl-smi"},{"start":39,"end":41,"cssClass":"pl-s1"},{"start":45,"end":50,"cssClass":"pl-s1"},{"start":52,"end":54,"cssClass":"pl-c1"},{"start":56,"end":62,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-s1"},{"start":51,"end":53,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":27,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":28,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":26,"end":34,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-s1"},{"start":28,"end":33,"cssClass":"pl-s1"},{"start":35,"end":43,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":18,"cssClass":"pl-s1"},{"start":21,"end":26,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-c1"},{"start":36,"end":39,"cssClass":"pl-smi"},{"start":40,"end":42,"cssClass":"pl-s1"},{"start":46,"end":51,"cssClass":"pl-s1"},{"start":53,"end":55,"cssClass":"pl-c1"},{"start":57,"end":63,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":28,"end":29,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-s1"},{"start":37,"end":39,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-s1"},{"start":44,"end":46,"cssClass":"pl-s1"},{"start":49,"end":50,"cssClass":"pl-s1"},{"start":51,"end":53,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":24,"cssClass":"pl-s1"},{"start":27,"end":34,"cssClass":"pl-s1"}],[{"start":16,"end":28,"cssClass":"pl-s1"},{"start":31,"end":36,"cssClass":"pl-s1"}],[{"start":16,"end":23,"cssClass":"pl-s1"},{"start":26,"end":34,"cssClass":"pl-s1"}],[],[],[{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-s1"},{"start":20,"end":32,"cssClass":"pl-s1"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":16,"end":21,"cssClass":"pl-smi"},{"start":22,"end":29,"cssClass":"pl-s1"}],[{"start":6,"end":30,"cssClass":"pl-c"}],[],[{"start":4,"end":52,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-smi"},{"start":17,"end":30,"cssClass":"pl-en"},{"start":31,"end":45,"cssClass":"pl-smi"},{"start":46,"end":48,"cssClass":"pl-s1"},{"start":50,"end":64,"cssClass":"pl-smi"},{"start":65,"end":73,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":31,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":33,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":15,"end":22,"cssClass":"pl-s1"},{"start":26,"end":30,"cssClass":"pl-smi"},{"start":33,"end":35,"cssClass":"pl-s1"},{"start":36,"end":45,"cssClass":"pl-en"}],[{"start":8,"end":13,"cssClass":"pl-smi"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":27,"end":32,"cssClass":"pl-smi"},{"start":35,"end":43,"cssClass":"pl-s1"},{"start":44,"end":53,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":17,"cssClass":"pl-smi"},{"start":18,"end":19,"cssClass":"pl-s1"},{"start":22,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-s1"}],[{"start":12,"end":19,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-s1"},{"start":27,"end":31,"cssClass":"pl-c1"},{"start":35,"end":39,"cssClass":"pl-smi"},{"start":41,"end":42,"cssClass":"pl-s1"},{"start":43,"end":46,"cssClass":"pl-c1"},{"start":51,"end":55,"cssClass":"pl-smi"},{"start":56,"end":59,"cssClass":"pl-c1"}],[],[],[],[{"start":4,"end":75,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-smi"},{"start":17,"end":28,"cssClass":"pl-en"},{"start":29,"end":43,"cssClass":"pl-smi"},{"start":44,"end":52,"cssClass":"pl-s1"},{"start":54,"end":68,"cssClass":"pl-smi"},{"start":69,"end":73,"cssClass":"pl-s1"},{"start":75,"end":78,"cssClass":"pl-smi"},{"start":79,"end":90,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":17,"cssClass":"pl-s1"},{"start":20,"end":24,"cssClass":"pl-s1"},{"start":25,"end":33,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-smi"},{"start":12,"end":18,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":26,"end":35,"cssClass":"pl-en"}],[{"start":8,"end":12,"cssClass":"pl-smi"},{"start":15,"end":22,"cssClass":"pl-s1"},{"start":26,"end":30,"cssClass":"pl-smi"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":47,"cssClass":"pl-en"}],[{"start":8,"end":13,"cssClass":"pl-smi"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":27,"end":32,"cssClass":"pl-smi"},{"start":35,"end":43,"cssClass":"pl-s1"},{"start":44,"end":53,"cssClass":"pl-en"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":13,"end":16,"cssClass":"pl-smi"},{"start":17,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":22,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":38,"end":39,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":25,"cssClass":"pl-s1"},{"start":30,"end":41,"cssClass":"pl-s1"},{"start":43,"end":50,"cssClass":"pl-s1"},{"start":51,"end":52,"cssClass":"pl-s1"},{"start":56,"end":57,"cssClass":"pl-c1"}],[],[],[{"start":4,"end":69,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-smi"},{"start":17,"end":27,"cssClass":"pl-en"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":23,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-k"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":20,"cssClass":"pl-s1"},{"start":22,"end":26,"cssClass":"pl-c1"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":21,"end":24,"cssClass":"pl-k"},{"start":25,"end":34,"cssClass":"pl-smi"},{"start":35,"end":47,"cssClass":"pl-c1"},{"start":48,"end":59,"cssClass":"pl-s1"},{"start":61,"end":64,"cssClass":"pl-s1"},{"start":65,"end":78,"cssClass":"pl-en"},{"start":82,"end":90,"cssClass":"pl-s1"}],[{"start":12,"end":15,"cssClass":"pl-smi"},{"start":18,"end":19,"cssClass":"pl-s1"},{"start":22,"end":25,"cssClass":"pl-s1"},{"start":26,"end":39,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":32,"cssClass":"pl-en"},{"start":33,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":39,"end":40,"cssClass":"pl-s1"},{"start":41,"end":42,"cssClass":"pl-c1"},{"start":45,"end":46,"cssClass":"pl-s1"},{"start":47,"end":48,"cssClass":"pl-c1"}],[{"start":12,"end":15,"cssClass":"pl-k"},{"start":17,"end":20,"cssClass":"pl-smi"},{"start":21,"end":22,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":26,"end":27,"cssClass":"pl-s1"},{"start":29,"end":32,"cssClass":"pl-s1"},{"start":33,"end":45,"cssClass":"pl-en"},{"start":49,"end":50,"cssClass":"pl-s1"}],[{"start":16,"end":24,"cssClass":"pl-s1"},{"start":25,"end":38,"cssClass":"pl-en"},{"start":39,"end":42,"cssClass":"pl-s1"},{"start":43,"end":51,"cssClass":"pl-en"},{"start":54,"end":67,"cssClass":"pl-en"},{"start":68,"end":69,"cssClass":"pl-s1"},{"start":72,"end":73,"cssClass":"pl-s1"}],[],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":24,"cssClass":"pl-s1"},{"start":28,"end":42,"cssClass":"pl-c1"}],[{"start":12,"end":26,"cssClass":"pl-smi"},{"start":27,"end":29,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":51,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-k"},{"start":17,"end":22,"cssClass":"pl-smi"},{"start":23,"end":38,"cssClass":"pl-s1"},{"start":40,"end":42,"cssClass":"pl-s1"},{"start":43,"end":52,"cssClass":"pl-en"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":29,"cssClass":"pl-en"}],[{"start":12,"end":18,"cssClass":"pl-s1"},{"start":19,"end":23,"cssClass":"pl-en"}],[],[],[],[{"start":4,"end":59,"cssClass":"pl-c"}],[{"start":4,"end":11,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-smi"},{"start":17,"end":28,"cssClass":"pl-en"},{"start":29,"end":35,"cssClass":"pl-smi"},{"start":36,"end":49,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":19,"cssClass":"pl-s1"},{"start":23,"end":24,"cssClass":"pl-c1"},{"start":26,"end":32,"cssClass":"pl-k"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":24,"end":37,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-smi"},{"start":11,"end":23,"cssClass":"pl-en"},{"start":24,"end":36,"cssClass":"pl-s1"},{"start":37,"end":44,"cssClass":"pl-s1"}],[],[],[{"start":4,"end":70,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":22,"cssClass":"pl-smi"},{"start":23,"end":36,"cssClass":"pl-en"},{"start":37,"end":40,"cssClass":"pl-smi"},{"start":41,"end":45,"cssClass":"pl-s1"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":12,"end":16,"cssClass":"pl-s1"},{"start":17,"end":31,"cssClass":"pl-c1"},{"start":35,"end":39,"cssClass":"pl-s1"},{"start":40,"end":45,"cssClass":"pl-c1"}],[{"start":12,"end":17,"cssClass":"pl-k"},{"start":18,"end":21,"cssClass":"pl-k"},{"start":22,"end":46,"cssClass":"pl-smi"},{"start":47,"end":63,"cssClass":"pl-s"},{"start":64,"end":68,"cssClass":"pl-s1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-s1"}],[],[],[{"start":4,"end":81,"cssClass":"pl-c"}],[{"start":4,"end":10,"cssClass":"pl-k"},{"start":11,"end":17,"cssClass":"pl-k"},{"start":18,"end":21,"cssClass":"pl-smi"},{"start":22,"end":35,"cssClass":"pl-en"}],[{"start":8,"end":14,"cssClass":"pl-k"},{"start":15,"end":25,"cssClass":"pl-s1"}],[],[],[]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/imagej/ImageJ/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"EDM.java","displayUrl":"https://github.com/imagej/ImageJ/blob/master/ij/plugin/filter/EDM.java?raw=true","headerInfo":{"blobSize":"21.4 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"bcc5a5c","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fimagej%2FImageJ%2Fblob%2Fmaster%2Fij%2Fplugin%2Ffilter%2FEDM.java","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"453","truncatedSloc":"423"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Java","languageID":181,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/imagej/ImageJ/blob/master/ij/plugin/filter/EDM.java","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/imagej/ImageJ/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/imagej/ImageJ/raw/master/ij/plugin/filter/EDM.java","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"EDM","kind":"class","ident_start":2944,"ident_end":2947,"extent_start":2931,"extent_end":21878,"fully_qualified_name":"EDM","ident_utf16":{"start":{"line_number":54,"utf16_col":13},"end":{"line_number":54,"utf16_col":16}},"extent_utf16":{"start":{"line_number":54,"utf16_col":0},"end":{"line_number":452,"utf16_col":1}}},{"name":"BYTE_OVERWRITE","kind":"field","ident_start":3064,"ident_end":3078,"extent_start":3040,"extent_end":3083,"fully_qualified_name":"EDM::BYTE_OVERWRITE","ident_utf16":{"start":{"line_number":56,"utf16_col":28},"end":{"line_number":56,"utf16_col":42}},"extent_utf16":{"start":{"line_number":56,"utf16_col":4},"end":{"line_number":56,"utf16_col":47}}},{"name":"BYTE","kind":"field","ident_start":3152,"ident_end":3156,"extent_start":3128,"extent_end":3161,"fully_qualified_name":"EDM::BYTE","ident_utf16":{"start":{"line_number":58,"utf16_col":28},"end":{"line_number":58,"utf16_col":32}},"extent_utf16":{"start":{"line_number":58,"utf16_col":4},"end":{"line_number":58,"utf16_col":37}}},{"name":"SHORT","kind":"field","ident_start":3231,"ident_end":3236,"extent_start":3207,"extent_end":3241,"fully_qualified_name":"EDM::SHORT","ident_utf16":{"start":{"line_number":60,"utf16_col":28},"end":{"line_number":60,"utf16_col":33}},"extent_utf16":{"start":{"line_number":60,"utf16_col":4},"end":{"line_number":60,"utf16_col":38}}},{"name":"FLOAT","kind":"field","ident_start":3311,"ident_end":3316,"extent_start":3287,"extent_end":3321,"fully_qualified_name":"EDM::FLOAT","ident_utf16":{"start":{"line_number":62,"utf16_col":28},"end":{"line_number":62,"utf16_col":33}},"extent_utf16":{"start":{"line_number":62,"utf16_col":4},"end":{"line_number":62,"utf16_col":38}}},{"name":"ONE","kind":"field","ident_start":3476,"ident_end":3479,"extent_start":3452,"extent_end":3485,"fully_qualified_name":"EDM::ONE","ident_utf16":{"start":{"line_number":65,"utf16_col":28},"end":{"line_number":65,"utf16_col":31}},"extent_utf16":{"start":{"line_number":65,"utf16_col":4},"end":{"line_number":65,"utf16_col":37}}},{"name":"SQRT2","kind":"field","ident_start":3605,"ident_end":3610,"extent_start":3581,"extent_end":3616,"fully_qualified_name":"EDM::SQRT2","ident_utf16":{"start":{"line_number":67,"utf16_col":28},"end":{"line_number":67,"utf16_col":33}},"extent_utf16":{"start":{"line_number":67,"utf16_col":4},"end":{"line_number":67,"utf16_col":39}}},{"name":"SQRT5","kind":"field","ident_start":3754,"ident_end":3759,"extent_start":3730,"extent_end":3765,"fully_qualified_name":"EDM::SQRT5","ident_utf16":{"start":{"line_number":69,"utf16_col":28},"end":{"line_number":69,"utf16_col":33}},"extent_utf16":{"start":{"line_number":69,"utf16_col":4},"end":{"line_number":69,"utf16_col":39}}},{"name":"imp","kind":"field","ident_start":3807,"ident_end":3810,"extent_start":3789,"extent_end":3811,"fully_qualified_name":"EDM::imp","ident_utf16":{"start":{"line_number":71,"utf16_col":22},"end":{"line_number":71,"utf16_col":25}},"extent_utf16":{"start":{"line_number":71,"utf16_col":4},"end":{"line_number":71,"utf16_col":26}}},{"name":"outImp","kind":"field","ident_start":3855,"ident_end":3861,"extent_start":3837,"extent_end":3862,"fully_qualified_name":"EDM::outImp","ident_utf16":{"start":{"line_number":72,"utf16_col":22},"end":{"line_number":72,"utf16_col":28}},"extent_utf16":{"start":{"line_number":72,"utf16_col":4},"end":{"line_number":72,"utf16_col":29}}},{"name":"pfr","kind":"field","ident_start":3940,"ident_end":3943,"extent_start":3913,"extent_end":3944,"fully_qualified_name":"EDM::pfr","ident_utf16":{"start":{"line_number":73,"utf16_col":31},"end":{"line_number":73,"utf16_col":34}},"extent_utf16":{"start":{"line_number":73,"utf16_col":4},"end":{"line_number":73,"utf16_col":35}}},{"name":"command","kind":"field","ident_start":4014,"ident_end":4021,"extent_start":3999,"extent_end":4022,"fully_qualified_name":"EDM::command","ident_utf16":{"start":{"line_number":74,"utf16_col":19},"end":{"line_number":74,"utf16_col":26}},"extent_utf16":{"start":{"line_number":74,"utf16_col":4},"end":{"line_number":74,"utf16_col":27}}},{"name":"outImageType","kind":"field","ident_start":4072,"ident_end":4084,"extent_start":4060,"extent_end":4085,"fully_qualified_name":"EDM::outImageType","ident_utf16":{"start":{"line_number":75,"utf16_col":16},"end":{"line_number":75,"utf16_col":28}},"extent_utf16":{"start":{"line_number":75,"utf16_col":4},"end":{"line_number":75,"utf16_col":29}}},{"name":"outStack","kind":"field","ident_start":4171,"ident_end":4179,"extent_start":4152,"extent_end":4180,"fully_qualified_name":"EDM::outStack","ident_utf16":{"start":{"line_number":76,"utf16_col":23},"end":{"line_number":76,"utf16_col":31}},"extent_utf16":{"start":{"line_number":76,"utf16_col":4},"end":{"line_number":76,"utf16_col":32}}},{"name":"processType","kind":"field","ident_start":4243,"ident_end":4254,"extent_start":4231,"extent_end":4255,"fully_qualified_name":"EDM::processType","ident_utf16":{"start":{"line_number":77,"utf16_col":16},"end":{"line_number":77,"utf16_col":27}},"extent_utf16":{"start":{"line_number":77,"utf16_col":4},"end":{"line_number":77,"utf16_col":28}}},{"name":"maxFinder","kind":"field","ident_start":4331,"ident_end":4340,"extent_start":4309,"extent_end":4363,"fully_qualified_name":"EDM::maxFinder","ident_utf16":{"start":{"line_number":78,"utf16_col":26},"end":{"line_number":78,"utf16_col":35}},"extent_utf16":{"start":{"line_number":78,"utf16_col":4},"end":{"line_number":78,"utf16_col":58}}},{"name":"progressDone","kind":"field","ident_start":4438,"ident_end":4450,"extent_start":4423,"extent_end":4451,"fully_qualified_name":"EDM::progressDone","ident_utf16":{"start":{"line_number":79,"utf16_col":19},"end":{"line_number":79,"utf16_col":31}},"extent_utf16":{"start":{"line_number":79,"utf16_col":4},"end":{"line_number":79,"utf16_col":32}}},{"name":"nPasses","kind":"field","ident_start":4524,"ident_end":4531,"extent_start":4512,"extent_end":4532,"fully_qualified_name":"EDM::nPasses","ident_utf16":{"start":{"line_number":80,"utf16_col":16},"end":{"line_number":80,"utf16_col":23}},"extent_utf16":{"start":{"line_number":80,"utf16_col":4},"end":{"line_number":80,"utf16_col":24}}},{"name":"interrupted","kind":"field","ident_start":4650,"ident_end":4661,"extent_start":4634,"extent_end":4662,"fully_qualified_name":"EDM::interrupted","ident_utf16":{"start":{"line_number":81,"utf16_col":20},"end":{"line_number":81,"utf16_col":31}},"extent_utf16":{"start":{"line_number":81,"utf16_col":4},"end":{"line_number":81,"utf16_col":32}}},{"name":"background255","kind":"field","ident_start":4758,"ident_end":4771,"extent_start":4742,"extent_end":4772,"fully_qualified_name":"EDM::background255","ident_utf16":{"start":{"line_number":83,"utf16_col":20},"end":{"line_number":83,"utf16_col":33}},"extent_utf16":{"start":{"line_number":83,"utf16_col":4},"end":{"line_number":83,"utf16_col":34}}},{"name":"flags","kind":"field","ident_start":4840,"ident_end":4845,"extent_start":4828,"extent_end":4896,"fully_qualified_name":"EDM::flags","ident_utf16":{"start":{"line_number":84,"utf16_col":16},"end":{"line_number":84,"utf16_col":21}},"extent_utf16":{"start":{"line_number":84,"utf16_col":4},"end":{"line_number":84,"utf16_col":72}}},{"name":"EDM","kind":"field","ident_start":4952,"ident_end":4955,"extent_start":4927,"extent_end":4997,"fully_qualified_name":"EDM::EDM","ident_utf16":{"start":{"line_number":86,"utf16_col":29},"end":{"line_number":86,"utf16_col":32}},"extent_utf16":{"start":{"line_number":86,"utf16_col":4},"end":{"line_number":86,"utf16_col":74}}},{"name":"WATERSHED","kind":"field","ident_start":4961,"ident_end":4970,"extent_start":4927,"extent_end":4997,"fully_qualified_name":"EDM::WATERSHED","ident_utf16":{"start":{"line_number":86,"utf16_col":38},"end":{"line_number":86,"utf16_col":47}},"extent_utf16":{"start":{"line_number":86,"utf16_col":4},"end":{"line_number":86,"utf16_col":74}}},{"name":"UEP","kind":"field","ident_start":4976,"ident_end":4979,"extent_start":4927,"extent_end":4997,"fully_qualified_name":"EDM::UEP","ident_utf16":{"start":{"line_number":86,"utf16_col":53},"end":{"line_number":86,"utf16_col":56}},"extent_utf16":{"start":{"line_number":86,"utf16_col":4},"end":{"line_number":86,"utf16_col":74}}},{"name":"VORONOI","kind":"field","ident_start":4985,"ident_end":4992,"extent_start":4927,"extent_end":4997,"fully_qualified_name":"EDM::VORONOI","ident_utf16":{"start":{"line_number":86,"utf16_col":62},"end":{"line_number":86,"utf16_col":69}},"extent_utf16":{"start":{"line_number":86,"utf16_col":4},"end":{"line_number":86,"utf16_col":74}}},{"name":"USES_MAX_FINDER","kind":"field","ident_start":5088,"ident_end":5103,"extent_start":5057,"extent_end":5160,"fully_qualified_name":"EDM::USES_MAX_FINDER","ident_utf16":{"start":{"line_number":88,"utf16_col":35},"end":{"line_number":88,"utf16_col":50}},"extent_utf16":{"start":{"line_number":88,"utf16_col":4},"end":{"line_number":89,"utf16_col":38}}},{"name":"USES_WATERSHED","kind":"field","ident_start":5260,"ident_end":5274,"extent_start":5229,"extent_end":5332,"fully_qualified_name":"EDM::USES_WATERSHED","ident_utf16":{"start":{"line_number":91,"utf16_col":35},"end":{"line_number":91,"utf16_col":49}},"extent_utf16":{"start":{"line_number":91,"utf16_col":4},"end":{"line_number":92,"utf16_col":39}}},{"name":"TITLE_PREFIX","kind":"field","ident_start":5442,"ident_end":5454,"extent_start":5412,"extent_end":5528,"fully_qualified_name":"EDM::TITLE_PREFIX","ident_utf16":{"start":{"line_number":94,"utf16_col":34},"end":{"line_number":94,"utf16_col":46}},"extent_utf16":{"start":{"line_number":94,"utf16_col":4},"end":{"line_number":95,"utf16_col":56}}},{"name":"NO_POINT","kind":"field","ident_start":5558,"ident_end":5566,"extent_start":5533,"extent_end":5572,"fully_qualified_name":"EDM::NO_POINT","ident_utf16":{"start":{"line_number":96,"utf16_col":29},"end":{"line_number":96,"utf16_col":37}},"extent_utf16":{"start":{"line_number":96,"utf16_col":4},"end":{"line_number":96,"utf16_col":43}}},{"name":"MAXFINDER_TOLERANCE","kind":"field","ident_start":5651,"ident_end":5670,"extent_start":5623,"extent_end":5677,"fully_qualified_name":"EDM::MAXFINDER_TOLERANCE","ident_utf16":{"start":{"line_number":97,"utf16_col":32},"end":{"line_number":97,"utf16_col":51}},"extent_utf16":{"start":{"line_number":97,"utf16_col":4},"end":{"line_number":97,"utf16_col":58}}},{"name":"outputType","kind":"field","ident_start":5890,"ident_end":5900,"extent_start":5871,"extent_end":5918,"fully_qualified_name":"EDM::outputType","ident_utf16":{"start":{"line_number":100,"utf16_col":23},"end":{"line_number":100,"utf16_col":33}},"extent_utf16":{"start":{"line_number":100,"utf16_col":4},"end":{"line_number":100,"utf16_col":51}}},{"name":"setup","kind":"method","ident_start":6073,"ident_end":6078,"extent_start":6062,"extent_end":7414,"fully_qualified_name":"EDM::setup","ident_utf16":{"start":{"line_number":105,"utf16_col":15},"end":{"line_number":105,"utf16_col":20}},"extent_utf16":{"start":{"line_number":105,"utf16_col":4},"end":{"line_number":139,"utf16_col":5}}},{"name":"showDialog","kind":"method","ident_start":7603,"ident_end":7613,"extent_start":7592,"extent_end":8181,"fully_qualified_name":"EDM::showDialog","ident_utf16":{"start":{"line_number":145,"utf16_col":15},"end":{"line_number":145,"utf16_col":25}},"extent_utf16":{"start":{"line_number":145,"utf16_col":4},"end":{"line_number":157,"utf16_col":5}}},{"name":"run","kind":"method","ident_start":8312,"ident_end":8315,"extent_start":8300,"extent_end":10906,"fully_qualified_name":"EDM::run","ident_utf16":{"start":{"line_number":160,"utf16_col":16},"end":{"line_number":160,"utf16_col":19}},"extent_utf16":{"start":{"line_number":160,"utf16_col":4},"end":{"line_number":216,"utf16_col":5}}},{"name":"setNPasses","kind":"method","ident_start":11127,"ident_end":11137,"extent_start":11115,"extent_end":11290,"fully_qualified_name":"EDM::setNPasses","ident_utf16":{"start":{"line_number":222,"utf16_col":16},"end":{"line_number":222,"utf16_col":26}},"extent_utf16":{"start":{"line_number":222,"utf16_col":4},"end":{"line_number":226,"utf16_col":5}}},{"name":"toEDM","kind":"method","ident_start":11561,"ident_end":11566,"extent_start":11549,"extent_end":11676,"fully_qualified_name":"EDM::toEDM","ident_utf16":{"start":{"line_number":233,"utf16_col":16},"end":{"line_number":233,"utf16_col":21}},"extent_utf16":{"start":{"line_number":233,"utf16_col":4},"end":{"line_number":236,"utf16_col":5}}},{"name":"toWatershed","kind":"method","ident_start":11939,"ident_end":11950,"extent_start":11927,"extent_end":12272,"fully_qualified_name":"EDM::toWatershed","ident_utf16":{"start":{"line_number":243,"utf16_col":16},"end":{"line_number":243,"utf16_col":27}},"extent_utf16":{"start":{"line_number":243,"utf16_col":4},"end":{"line_number":248,"utf16_col":5}}},{"name":"make16bitEDM","kind":"method","ident_start":12632,"ident_end":12644,"extent_start":12610,"extent_end":12842,"fully_qualified_name":"EDM::make16bitEDM","ident_utf16":{"start":{"line_number":255,"utf16_col":26},"end":{"line_number":255,"utf16_col":38}},"extent_utf16":{"start":{"line_number":255,"utf16_col":4},"end":{"line_number":259,"utf16_col":5}}},{"name":"makeFloatEDM","kind":"method","ident_start":13491,"ident_end":13503,"extent_start":13469,"extent_end":15565,"fully_qualified_name":"EDM::makeFloatEDM","ident_utf16":{"start":{"line_number":270,"utf16_col":26},"end":{"line_number":270,"utf16_col":38}},"extent_utf16":{"start":{"line_number":270,"utf16_col":4},"end":{"line_number":314,"utf16_col":5}}},{"name":"edmLine","kind":"method","ident_start":15687,"ident_end":15694,"extent_start":15674,"extent_end":17830,"fully_qualified_name":"EDM::edmLine","ident_utf16":{"start":{"line_number":317,"utf16_col":17},"end":{"line_number":317,"utf16_col":24}},"extent_utf16":{"start":{"line_number":317,"utf16_col":4},"end":{"line_number":355,"utf16_col":5}}},{"name":"minDist2","kind":"method","ident_start":18407,"ident_end":18415,"extent_start":18393,"extent_end":19523,"fully_qualified_name":"EDM::minDist2","ident_utf16":{"start":{"line_number":364,"utf16_col":18},"end":{"line_number":364,"utf16_col":26}},"extent_utf16":{"start":{"line_number":364,"utf16_col":4},"end":{"line_number":391,"utf16_col":5}}},{"name":"byteFromFloat","kind":"method","ident_start":19620,"ident_end":19633,"extent_start":19607,"extent_end":20013,"fully_qualified_name":"EDM::byteFromFloat","ident_utf16":{"start":{"line_number":394,"utf16_col":17},"end":{"line_number":394,"utf16_col":30}},"extent_utf16":{"start":{"line_number":394,"utf16_col":4},"end":{"line_number":403,"utf16_col":5}}},{"name":"resetMasked","kind":"method","ident_start":20108,"ident_end":20119,"extent_start":20095,"extent_end":20476,"fully_qualified_name":"EDM::resetMasked","ident_utf16":{"start":{"line_number":406,"utf16_col":17},"end":{"line_number":406,"utf16_col":28}},"extent_utf16":{"start":{"line_number":406,"utf16_col":4},"end":{"line_number":413,"utf16_col":5}}},{"name":"showOutput","kind":"method","ident_start":20565,"ident_end":20575,"extent_start":20552,"extent_end":21203,"fully_qualified_name":"EDM::showOutput","ident_utf16":{"start":{"line_number":416,"utf16_col":17},"end":{"line_number":416,"utf16_col":27}},"extent_utf16":{"start":{"line_number":416,"utf16_col":4},"end":{"line_number":431,"utf16_col":5}}},{"name":"addProgress","kind":"method","ident_start":21282,"ident_end":21293,"extent_start":21269,"extent_end":21443,"fully_qualified_name":"EDM::addProgress","ident_utf16":{"start":{"line_number":434,"utf16_col":17},"end":{"line_number":434,"utf16_col":28}},"extent_utf16":{"start":{"line_number":434,"utf16_col":4},"end":{"line_number":438,"utf16_col":5}}},{"name":"setOutputType","kind":"method","ident_start":21543,"ident_end":21556,"extent_start":21524,"extent_end":21719,"fully_qualified_name":"EDM::setOutputType","ident_utf16":{"start":{"line_number":441,"utf16_col":23},"end":{"line_number":441,"utf16_col":36}},"extent_utf16":{"start":{"line_number":441,"utf16_col":4},"end":{"line_number":445,"utf16_col":5}}},{"name":"getOutputType","kind":"method","ident_start":21825,"ident_end":21838,"extent_start":21807,"extent_end":21875,"fully_qualified_name":"EDM::getOutputType","ident_utf16":{"start":{"line_number":448,"utf16_col":22},"end":{"line_number":448,"utf16_col":35}},"extent_utf16":{"start":{"line_number":448,"utf16_col":4},"end":{"line_number":450,"utf16_col":5}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/imagej/ImageJ/branches":{"post":"_T6qpPVX0Iw5rrNW9zPFF3O38hAvluHGz4Z05AFU-otN1A8n4lrR9acsjcqfzLWG9IOvjDR2svG_OzuIEor7tA"},"/repos/preferences":{"post":"FWihjUO6f9lFH-Tnk9eGer4MBS6KqvSAPcziGCoOcDbZRH4n1VmtHOXWJ04_j6W0CQJKHCYQ2RKos7UjML-NNg"}}},"title":"ImageJ/ij/plugin/filter/EDM.java at master ยท imagej/ImageJ"}