Hacked By AnonymousFox

Current Path : C:/AppServ/www/financial/stacked/code/modules/
Upload File :
Current File : C:/AppServ/www/financial/stacked/code/modules/geoheatmap.js.map

{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module highcharts/modules/geoheatmap\n * @requires highcharts\n *\n * (c) 2009-2024\n *\n * License: www.highcharts.com/license\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(root[\"_Highcharts\"], root[\"_Highcharts\"][\"SeriesRegistry\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/modules/geoheatmap\", [\"highcharts/highcharts\"], function (amd1) {return factory(amd1,amd1[\"SeriesRegistry\"]);});\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/modules/geoheatmap\"] = factory(root[\"_Highcharts\"], root[\"_Highcharts\"][\"SeriesRegistry\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"SeriesRegistry\"]);\n})(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__512__) => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 512:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\n\n/***/ }),\n\n/***/ 944:\n/***/ ((module) => {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__944__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n  \"default\": () => (/* binding */ geoheatmap_src)\n});\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\"],\"commonjs\":[\"highcharts\"],\"commonjs2\":[\"highcharts\"],\"root\":[\"Highcharts\"]}\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_ = __webpack_require__(944);\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default = /*#__PURE__*/__webpack_require__.n(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SeriesRegistry\"],\"commonjs\":[\"highcharts\",\"SeriesRegistry\"],\"commonjs2\":[\"highcharts\",\"SeriesRegistry\"],\"root\":[\"Highcharts\",\"SeriesRegistry\"]}\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_ = __webpack_require__(512);\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default = /*#__PURE__*/__webpack_require__.n(highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_);\n;// ./code/es-modules/Series/GeoHeatmap/GeoHeatmapPoint.js\n/* *\n *\n *  (c) 2010-2024 Highsoft AS\n *\n *  Authors: Magdalena Gut, Piotr Madej\n *\n *  License: www.highcharts.com/license\n *\n *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nconst { map: { prototype: { pointClass: MapPoint } } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;\nconst { isNumber } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n/* *\n *\n *  Class\n *\n * */\nclass GeoHeatmapPoint extends MapPoint {\n    /* *\n     *\n     *  Functions\n     *\n     * */\n    /* eslint-disable valid-jsdoc */\n    /**\n     * @private\n     */\n    applyOptions(options, x) {\n        const point = super.applyOptions.call(this, options, x), { lat, lon } = point.options;\n        if (isNumber(lon) && isNumber(lat)) {\n            const { colsize = 1, rowsize = 1 } = this.series.options, x1 = lon - colsize / 2, y1 = lat - rowsize / 2;\n            point.geometry = point.options.geometry = {\n                type: 'Polygon',\n                // A rectangle centered in lon/lat\n                coordinates: [\n                    [\n                        [x1, y1],\n                        [x1 + colsize, y1],\n                        [x1 + colsize, y1 + rowsize],\n                        [x1, y1 + rowsize],\n                        [x1, y1]\n                    ]\n                ]\n            };\n        }\n        return point;\n        /* eslint-enable valid-jsdoc */\n    }\n}\n/* *\n *\n *  Default Export\n *\n * */\n/* harmony default export */ const GeoHeatmap_GeoHeatmapPoint = (GeoHeatmapPoint);\n\n;// ./code/es-modules/Series/InterpolationUtilities.js\n/* *\n *\n *  (c) 2010-2024 Hubert Kozik\n *\n *  License: www.highcharts.com/license\n *\n *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nconst { doc } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n\nconst { defined, pick } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n/* *\n *\n *  Functions\n *\n * */\n/**\n * Find color of point based on color axis.\n *\n * @function Highcharts.colorFromPoint\n *\n * @param {number | null} value\n *        Value to find corresponding color on the color axis.\n *\n * @param {Highcharts.Point} point\n *        Point to find it's color from color axis.\n *\n * @return {number[]}\n *        Color in RGBa array.\n */\nfunction colorFromPoint(value, point) {\n    const colorAxis = point.series.colorAxis;\n    if (colorAxis) {\n        const rgba = (colorAxis.toColor(value || 0, point)\n            .split(')')[0]\n            .split('(')[1]\n            .split(',')\n            .map((s) => pick(parseFloat(s), parseInt(s, 10))));\n        rgba[3] = pick(rgba[3], 1.0) * 255;\n        if (!defined(value) || !point.visible) {\n            rgba[3] = 0;\n        }\n        return rgba;\n    }\n    return [0, 0, 0, 0];\n}\n/**\n * Method responsible for creating a canvas for interpolation image.\n * @private\n */\nfunction getContext(series) {\n    const { canvas, context } = series;\n    if (canvas && context) {\n        context.clearRect(0, 0, canvas.width, canvas.height);\n    }\n    else {\n        series.canvas = doc.createElement('canvas');\n        series.context = series.canvas.getContext('2d', {\n            willReadFrequently: true\n        }) || void 0;\n        return series.context;\n    }\n    return context;\n}\nconst InterpolationUtilities = {\n    colorFromPoint,\n    getContext\n};\n/* harmony default export */ const Series_InterpolationUtilities = (InterpolationUtilities);\n\n;// ./code/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js\n/* *\n *\n *  (c) 2010-2024 Highsoft AS\n *\n *  Authors: Magdalena Gut, Piotr Madej\n *\n *  License: www.highcharts.com/license\n *\n *  !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nconst { animObject, stop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n\n\nconst { noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n\nconst { colorFromPoint: GeoHeatmapSeries_colorFromPoint, getContext: GeoHeatmapSeries_getContext } = Series_InterpolationUtilities;\n\nconst { seriesTypes: { map: MapSeries } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());\n\nconst { addEvent, extend, isNumber: GeoHeatmapSeries_isNumber, isObject, merge, pick: GeoHeatmapSeries_pick } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\n/**\n * Normalize longitute value to -180:180 range.\n * @private\n */\nfunction normalizeLonValue(lon) {\n    return lon - Math.floor((lon + 180) / 360) * 360;\n}\n/**\n * Get proper point's position for PixelData array.\n * @private\n */\nfunction scaledPointPos(lon, lat, canvasWidth, canvasHeight, colsize, rowsize) {\n    return Math.ceil((canvasWidth * (canvasHeight - 1 - (lat + 90) / rowsize)) +\n        ((lon + 180) / colsize));\n}\n/* *\n *\n *  Class\n *\n * */\n/**\n * The Geo Heatmap series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.geoheatmap\n *\n * @augments Highcharts.Series\n */\nclass GeoHeatmapSeries extends MapSeries {\n    constructor() {\n        /* *\n         *\n         *  Static Properties\n         *\n         * */\n        super(...arguments);\n        this.isDirtyCanvas = true;\n    }\n    /* *\n     *\n     *  Functions\n     *\n     * */\n    /* eslint-disable valid-jsdoc */\n    /**\n     * For updated colsize and rowsize options\n     * @private\n     */\n    update() {\n        const series = this;\n        series.options = merge(series.options, arguments[0]);\n        if (series.getInterpolation().enabled) {\n            series.isDirtyCanvas = true;\n            series.points.forEach((point) => {\n                if (point.graphic) {\n                    point.graphic.destroy();\n                    delete point.graphic;\n                }\n            });\n        }\n        super.update.apply(series, arguments);\n    }\n    /**\n     * Override translate method to not fire if not needed.\n     * @private\n     */\n    translate() {\n        if (this.getInterpolation().enabled &&\n            this.image &&\n            !this.isDirty &&\n            !this.isDirtyData) {\n            return;\n        }\n        super.translate.apply(this, arguments);\n    }\n    /**\n     * Create the extended object out of the boolean\n     * @private\n     */\n    getInterpolation() {\n        if (!isObject(this.options.interpolation)) {\n            return {\n                blur: 1,\n                enabled: this.options.interpolation\n            };\n        }\n        return this.options.interpolation;\n    }\n    /**\n     * Overriding drawPoints original method to apply new features.\n     * @private\n     */\n    drawPoints() {\n        const series = this, chart = series.chart, mapView = chart.mapView, seriesOptions = series.options;\n        if (series.getInterpolation().enabled && mapView && series.bounds) {\n            const ctx = series.context || GeoHeatmapSeries_getContext(series), { canvas, colorAxis, image, chart, points } = series, [colsize, rowsize] = [\n                GeoHeatmapSeries_pick(seriesOptions.colsize, 1),\n                GeoHeatmapSeries_pick(seriesOptions.rowsize, 1)\n            ], \n            // Calculate dimensions based on series bounds\n            topLeft = mapView.projectedUnitsToPixels({\n                x: series.bounds.x1,\n                y: series.bounds.y2\n            }), bottomRight = mapView.projectedUnitsToPixels({\n                x: series.bounds.x2,\n                y: series.bounds.y1\n            });\n            if (canvas && ctx && colorAxis && topLeft && bottomRight) {\n                const dimensions = {\n                    x: topLeft.x,\n                    y: topLeft.y,\n                    width: bottomRight.x - topLeft.x,\n                    height: bottomRight.y - topLeft.y\n                };\n                if (\n                // Do not calculate new canvas if not necessary\n                series.isDirtyCanvas ||\n                    // Calculate new canvas if data is dirty\n                    series.isDirtyData ||\n                    // Always calculate new canvas for Orthographic projection\n                    mapView.projection.options.name === 'Orthographic') {\n                    series.isDirtyCanvas = true;\n                    const canvasWidth = canvas.width = ~~(360 / colsize) + 1, canvasHeight = canvas.height = ~~(180 / rowsize) + 1, canvasArea = canvasWidth * canvasHeight, pixelData = new Uint8ClampedArray(canvasArea * 4);\n                    series.directTouch = false; // Needed for tooltip\n                    // First pixelData represents the geo coordinates\n                    for (let i = 0; i < points.length; i++) {\n                        const p = points[i], sourceArr = new Uint8ClampedArray(GeoHeatmapSeries_colorFromPoint(p.value, p)), { lon, lat } = p.options;\n                        if (GeoHeatmapSeries_isNumber(lon) && GeoHeatmapSeries_isNumber(lat)) {\n                            pixelData.set(sourceArr, scaledPointPos(lon, lat, canvasWidth, canvasHeight, colsize, rowsize) * 4);\n                        }\n                    }\n                    const blur = series.getInterpolation().blur, blurFactor = blur === 0 ? 1 : blur * 11, upscaledWidth = ~~(canvasWidth * blurFactor), upscaledHeight = ~~(canvasHeight * blurFactor), projectedWidth = ~~dimensions.width, projectedHeight = ~~dimensions.height, img = new ImageData(pixelData, canvasWidth, canvasHeight);\n                    canvas.width = upscaledWidth;\n                    canvas.height = upscaledHeight;\n                    // Next step is to upscale pixelData to big image to get\n                    // the blur on the interpolation\n                    ctx.putImageData(img, 0, 0);\n                    // Now we have an unscaled version of our ImageData\n                    // let's make the compositing mode to 'copy' so that\n                    // our next drawing op erases whatever was there\n                    // previously just like putImageData would have done\n                    ctx.globalCompositeOperation = 'copy';\n                    // Now we can draw ourself over ourself\n                    ctx.drawImage(canvas, 0, 0, img.width, img.height, // Grab the ImageData\n                    0, 0, canvas.width, canvas.height // Scale it\n                    );\n                    // Add projection to upscaled ImageData\n                    const cartesianImageData = ctx.getImageData(0, 0, canvas.width, canvas.height), projectedPixelData = this.getProjectedImageData(mapView, projectedWidth, projectedHeight, cartesianImageData, canvas, dimensions.x, dimensions.y), projectedImg = new ImageData(projectedPixelData, projectedWidth, projectedHeight);\n                    ctx.globalCompositeOperation = 'copy';\n                    canvas.width = projectedWidth;\n                    canvas.height = projectedHeight;\n                    ctx.putImageData(projectedImg, 0, 0);\n                }\n                if (image) {\n                    if (chart.renderer.globalAnimation && chart.hasRendered) {\n                        const startX = Number(image.attr('x')), startY = Number(image.attr('y')), startWidth = Number(image.attr('width')), startHeight = Number(image.attr('height'));\n                        const step = (now, fx) => {\n                            image.attr({\n                                x: (startX + (dimensions.x - startX) * fx.pos),\n                                y: (startY + (dimensions.y - startY) * fx.pos),\n                                width: (startWidth + (dimensions.width - startWidth) * fx.pos),\n                                height: (startHeight + (dimensions.height - startHeight) * fx.pos)\n                            });\n                        };\n                        const animOptions = merge(animObject(chart.renderer.globalAnimation)), userStep = animOptions.step;\n                        animOptions.step =\n                            function () {\n                                if (userStep) {\n                                    userStep.apply(this, arguments);\n                                }\n                                step.apply(this, arguments);\n                            };\n                        image\n                            .attr(merge({ animator: 0 }, series.isDirtyCanvas ? {\n                            href: canvas.toDataURL('image/png', 1)\n                        } : void 0))\n                            .animate({ animator: 1 }, animOptions);\n                        // When dragging or first rendering, animation is off\n                    }\n                    else {\n                        stop(image);\n                        image.attr(merge(dimensions, series.isDirtyCanvas ? {\n                            href: canvas.toDataURL('image/png', 1)\n                        } : void 0));\n                    }\n                }\n                else {\n                    series.image = chart.renderer.image(canvas.toDataURL('image/png', 1))\n                        .attr(dimensions)\n                        .add(series.group);\n                }\n                series.isDirtyCanvas = false;\n            }\n        }\n        else {\n            super.drawPoints.apply(series, arguments);\n        }\n    }\n    /**\n     * Project ImageData to actual mapView projection used on a chart.\n     * @private\n     */\n    getProjectedImageData(mapView, projectedWidth, projectedHeight, cartesianImageData, canvas, horizontalShift, verticalShift) {\n        const projectedPixelData = new Uint8ClampedArray(projectedWidth * projectedHeight * 4), lambda = GeoHeatmapSeries_pick(mapView.projection.options.rotation?.[0], 0), widthFactor = canvas.width / 360, heightFactor = -1 * canvas.height / 180;\n        let y = -1;\n        // For each pixel on the map plane, find the map\n        // coordinate and get the color value\n        for (let i = 0; i < projectedPixelData.length; i += 4) {\n            const x = (i / 4) % projectedWidth;\n            if (x === 0) {\n                y++;\n            }\n            const projectedCoords = mapView.pixelsToLonLat({\n                x: horizontalShift + x,\n                y: verticalShift + y\n            });\n            if (projectedCoords) {\n                // Normalize lon values\n                if (projectedCoords.lon > -180 - lambda &&\n                    projectedCoords.lon < 180 - lambda) {\n                    projectedCoords.lon =\n                        normalizeLonValue(projectedCoords.lon);\n                }\n                const projected = [\n                    projectedCoords.lon,\n                    projectedCoords.lat\n                ], cvs2PixelX = projected[0] * widthFactor + canvas.width / 2, cvs2PixelY = projected[1] * heightFactor +\n                    canvas.height / 2;\n                if (cvs2PixelX >= 0 &&\n                    cvs2PixelX <= canvas.width &&\n                    cvs2PixelY >= 0 &&\n                    cvs2PixelY <= canvas.height) {\n                    const redPos = (\n                    // Rows\n                    Math.floor(cvs2PixelY) *\n                        canvas.width * 4 +\n                        // Columns\n                        Math.round(cvs2PixelX) * 4);\n                    projectedPixelData[i] =\n                        cartesianImageData.data[redPos];\n                    projectedPixelData[i + 1] =\n                        cartesianImageData.data[redPos + 1];\n                    projectedPixelData[i + 2] =\n                        cartesianImageData.data[redPos + 2];\n                    projectedPixelData[i + 3] =\n                        cartesianImageData.data[redPos + 3];\n                }\n            }\n        }\n        return projectedPixelData;\n    }\n    searchPoint(e, compareX) {\n        const series = this, chart = this.chart, mapView = chart.mapView;\n        if (mapView &&\n            series.bounds &&\n            series.image &&\n            chart.tooltip &&\n            chart.tooltip.options.enabled) {\n            if (\n            // If user drags map do not build k-d-tree\n            !chart.pointer.hasDragged &&\n                // If user zooms in/out map do not build k-d-tree\n                (+series.image.attr('animator') <= 0.01 ||\n                    +series.image.attr('animator') >= 0.99)) {\n                const topLeft = mapView.projectedUnitsToPixels({\n                    x: series.bounds.x1,\n                    y: series.bounds.y2\n                }), bottomRight = mapView.projectedUnitsToPixels({\n                    x: series.bounds.x2,\n                    y: series.bounds.y1\n                });\n                chart.pointer.normalize(e);\n                if (e.lon && e.lat &&\n                    topLeft && bottomRight &&\n                    e.chartX - chart.plotLeft > topLeft.x &&\n                    e.chartX - chart.plotLeft < bottomRight.x &&\n                    e.chartY - chart.plotTop > topLeft.y &&\n                    e.chartY - chart.plotTop < bottomRight.y) {\n                    return this.searchKDTree({\n                        clientX: e.chartX,\n                        lon: normalizeLonValue(e.lon),\n                        lat: e.lat\n                    }, compareX, e);\n                }\n            }\n            else {\n                chart.tooltip.destroy();\n            }\n        }\n    }\n}\n/**\n * A `geoheatmap` series is a variety of heatmap series, composed into\n * the map projection, where the units are expressed in the latitude\n * and longitude, and individual values contained in a matrix are\n * represented as colors.\n *\n * @sample maps/demo/geoheatmap-europe/\n *         GeoHeatmap Chart with interpolation on Europe map\n * @sample maps/series-geoheatmap/geoheatmap-equalearth/\n *         GeoHeatmap Chart on the Equal Earth Projection\n *\n * @extends      plotOptions.map\n * @since        11.0.0\n * @product      highmaps\n * @excluding    allAreas, dragDrop, findNearestPointBy, geometry, joinBy,\n * negativeColor, onPoint, stickyTracking\n * @requires     modules/geoheatmap\n * @optionparent plotOptions.geoheatmap\n */\nGeoHeatmapSeries.defaultOptions = merge(MapSeries.defaultOptions, {\n    nullColor: 'transparent',\n    tooltip: {\n        pointFormat: 'Lat: {point.lat}, Lon: {point.lon}, Value: {point.value}<br/>'\n    },\n    /**\n     * The border width of each geoheatmap tile.\n     *\n     * In styled mode, the border stroke width is given in the\n     * `.highcharts-point` class.\n     *\n     * @sample maps/demo/geoheatmap-orthographic/\n     *         borderWidth set to 1 to create a grid\n     *\n     * @type      {number|null}\n     * @default   0\n     * @product   highmaps\n     * @apioption plotOptions.geoheatmap.borderWidth\n     */\n    borderWidth: 0,\n    /**\n     * The column size - how many longitude units each column in the\n     * geoheatmap should span.\n     *\n     * @sample maps/demo/geoheatmap-europe/\n     *         1 by default, set to 5\n     *\n     * @product   highmaps\n     * @apioption plotOptions.geoheatmap.colsize\n     */\n    colsize: 1,\n    /**\n     * The main color of the series. In heat maps this color is rarely\n     * used, as we mostly use the color to denote the value of each\n     * point. Unless options are set in the [colorAxis](#colorAxis), the\n     * default value is pulled from the [options.colors](#colors) array.\n     *\n     * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n     * @product   highmaps\n     * @apioption plotOptions.geoheatmap.color\n     */\n    /**\n     * The rowsize size - how many latitude units each row in the\n     * geoheatmap should span.\n     *\n     * @sample maps/demo/geoheatmap-europe/\n     *         1 by default, set to 5\n     *\n     * @product   highmaps\n     * @apioption plotOptions.geoheatmap.rowsize\n     */\n    rowsize: 1,\n    stickyTracking: true,\n    /**\n     * Make the geoheatmap render its data points as an interpolated\n     * image. It can be used to show a Temperature Map-like charts.\n     *\n     * @sample maps/demo/geoheatmap-earth-statistics\n     *         Advanced demo of GeoHeatmap interpolation with multiple\n     *         datasets\n     *\n     * @type      {boolean|Highcharts.InterpolationOptionsObject}\n     * @since     11.2.0\n     * @product   highmaps\n     */\n    interpolation: {\n        /**\n         * Enable or disable the interpolation of the geoheatmap series.\n         *\n         * @since 11.2.0\n         */\n        enabled: false,\n        /**\n         * Represents how much blur should be added to the interpolated\n         * image. Works best in the range of 0-1, all higher values\n         * would need a lot more performance of the machine to calculate\n         * more detailed interpolation.\n         *\n         *  * **Note:** Useful, if the data is spread into wide range of\n         *  longitude and latitude values.\n         *\n         * @sample maps/series-geoheatmap/turkey-fire-areas\n         *         Simple demo of GeoHeatmap interpolation\n         *\n         * @since  11.2.0\n         */\n        blur: 1\n    }\n});\naddEvent(GeoHeatmapSeries, 'afterDataClassLegendClick', function () {\n    this.isDirtyCanvas = true;\n    this.drawPoints();\n});\nextend(GeoHeatmapSeries.prototype, {\n    type: 'geoheatmap',\n    applyJitter: noop,\n    pointClass: GeoHeatmap_GeoHeatmapPoint,\n    pointArrayMap: ['lon', 'lat', 'value'],\n    kdAxisArray: ['lon', 'lat'] // Search k-d-tree by lon/lat values\n});\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('geoheatmap', GeoHeatmapSeries);\n/* *\n *\n *  Default Export\n *\n * */\n/* harmony default export */ const GeoHeatmap_GeoHeatmapSeries = ((/* unused pure expression or super */ null && (GeoHeatmapSeries)));\n/* *\n *\n *  API Options\n *\n * */\n/**\n * A `geoheatmap` series. If the [type](#series.map.type) option is not\n * specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends   series,plotOptions.geoheatmap\n * @excluding allAreas, dataParser, dataURL, dragDrop, findNearestPointBy,\n *            joinBy, marker, mapData, negativeColor, onPoint, shadow,\n *            stickyTracking\n * @product   highmaps\n * @apioption series.geoheatmap\n */\n/**\n * An array of data points for the series. For the `geoheatmap` series\n * type, points can be given in the following ways:\n *\n * 1.  An array of arrays with 3 or 2 values. In this case, the values\n * correspond to `lon,lat,value`. The `value` refers to the color on the `colorAxis`.\n *\n *  ```js\n *     data: [\n *         [51.50, -0.12, 7],\n *         [54.59, -5.93, 4],\n *         [55.8, -4.25, 3]\n *     ]\n *  ```\n *\n * 2.  An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of data\n * points exceeds the series' [turboThreshold](#series.heatmap.turboThreshold),\n * this option is not available.\n *\n *  ```js\n *     data: [{\n *         lat: 51.50,\n *         lon: -0.12,\n *         value: 7,\n *         name: \"London\"\n *     }, {\n *         lat: 54.59,\n *         lon: -5.93,\n *         value: 4,\n *         name: \"Belfast\"\n *     }]\n *  ```\n *\n * @sample maps/demo/geoheatmap-europe/\n *         GeoHeatmap Chart with interpolation on Europe map\n * @sample maps/series-geoheatmap/geoheatmap-equalearth/\n *         GeoHeatmap Chart on the Equal Earth Projection\n *\n * @type      {Array<Array<number>|*>}\n * @extends   series.map.data\n * @product   highmaps\n * @apioption series.geoheatmap.data\n */\n/**\n * Individual color for the point. By default the color is either used\n * to denote the value, or pulled from the global `colors` array.\n *\n * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product   highmaps\n * @apioption series.geoheatmap.data.color\n */\n/**\n * The value of the point, resulting in a color controlled by options\n * as set in the [colorAxis](#colorAxis) configuration.\n *\n * @type      {number|null}\n * @product   highmaps\n * @apioption series.geoheatmap.data.value\n */\n/**\n * Detailed options for interpolation object.\n *\n * @interface Highcharts.InterpolationOptionsObject\n */ /**\n*  Enable or disable the interpolation.\n*\n* @name Highcharts.InterpolationOptionsObject#enabled\n* @type {boolean}\n*/ /**\n* Represents how much blur should be added to the interpolated\n* image. Works best in the range of 0-1, all higher values\n* would need a lot more performance of the machine to calculate\n* more detailed interpolation.\n*\n* @name Highcharts.InterpolationOptionsObject#blur\n* @type {number}\n*/\n''; // Adds doclets above to the transpiled file\n\n;// ./code/es-modules/masters/modules/geoheatmap.src.js\n\n\n\n\n/* harmony default export */ const geoheatmap_src = ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()));\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","exports","module","define","amd","amd1","window","__WEBPACK_EXTERNAL_MODULE__944__","__WEBPACK_EXTERNAL_MODULE__512__","__webpack_modules__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","geoheatmap_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","map","pointClass","MapPoint","seriesTypes","isNumber","GeoHeatmap_GeoHeatmapPoint","applyOptions","options","x","point","lat","lon","colsize","rowsize","series","x1","y1","geometry","type","coordinates","doc","defined","pick","animObject","stop","noop","colorFromPoint","GeoHeatmapSeries_colorFromPoint","getContext","GeoHeatmapSeries_getContext","value","colorAxis","rgba","toColor","split","s","parseFloat","parseInt","visible","canvas","context","clearRect","width","height","createElement","willReadFrequently","MapSeries","addEvent","extend","GeoHeatmapSeries_isNumber","isObject","merge","GeoHeatmapSeries_pick","normalizeLonValue","Math","floor","GeoHeatmapSeries","constructor","arguments","isDirtyCanvas","update","getInterpolation","enabled","points","forEach","graphic","destroy","apply","translate","image","isDirty","isDirtyData","interpolation","blur","drawPoints","mapView","chart","seriesOptions","bounds","ctx","topLeft","projectedUnitsToPixels","y","y2","bottomRight","x2","dimensions","projection","name","canvasWidth","canvasHeight","pixelData","Uint8ClampedArray","canvasArea","directTouch","i","length","p","sourceArr","set","scaledPointPos","ceil","blurFactor","projectedWidth","projectedHeight","img","ImageData","putImageData","globalCompositeOperation","drawImage","cartesianImageData","getImageData","projectedImg","getProjectedImageData","renderer","globalAnimation","hasRendered","startX","Number","attr","startY","startWidth","startHeight","step","now","fx","pos","animOptions","userStep","animator","href","toDataURL","animate","add","group","horizontalShift","verticalShift","projectedPixelData","lambda","rotation","widthFactor","heightFactor","projectedCoords","pixelsToLonLat","projected","cvs2PixelX","cvs2PixelY","redPos","round","data","searchPoint","e","compareX","tooltip","pointer","hasDragged","normalize","chartX","plotLeft","chartY","plotTop","searchKDTree","clientX","defaultOptions","nullColor","pointFormat","borderWidth","stickyTracking","applyJitter","pointArrayMap","kdAxisArray","registerSeriesType"],"mappings":"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"}

Hacked By AnonymousFox1.0, Coded By AnonymousFox