highcharts
Version:
JavaScript charting framework
98 lines (95 loc) • 45.2 kB
JavaScript
/*
Highmaps JS v8.0.1 (2020-03-02)
Highmaps as a plugin for Highcharts or Highstock.
(c) 2011-2019 Torstein Honsi
License: www.highcharts.com/license
*/
(function(d){"object"===typeof module&&module.exports?(d["default"]=d,module.exports=d):"function"===typeof define&&define.amd?define("highcharts/modules/map",["highcharts"],function(x){d(x);d.Highcharts=x;return d}):d("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(d){function x(b,n,d,e){b.hasOwnProperty(n)||(b[n]=e.apply(null,d))}d=d?d._modules:{};x(d,"parts-map/MapAxis.js",[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,n){var d=n.addEvent,e=n.pick;b=b.Axis;d(b,"getSeriesExtremes",
function(){var m=[];this.isXAxis&&(this.series.forEach(function(h,b){h.useMapGeometry&&(m[b]=h.xData,h.xData=[])}),this.seriesXData=m)});d(b,"afterGetSeriesExtremes",function(){var m=this.seriesXData,h;if(this.isXAxis){var b=e(this.dataMin,Number.MAX_VALUE);var d=e(this.dataMax,-Number.MAX_VALUE);this.series.forEach(function(n,q){n.useMapGeometry&&(b=Math.min(b,e(n.minX,b)),d=Math.max(d,e(n.maxX,d)),n.xData=m[q],h=!0)});h&&(this.dataMin=b,this.dataMax=d);delete this.seriesXData}});d(b,"afterSetAxisTranslation",
function(){var m=this.chart;var h=m.plotWidth/m.plotHeight;m=m.xAxis[0];var b;"yAxis"===this.coll&&"undefined"!==typeof m.transA&&this.series.forEach(function(h){h.preserveAspectRatio&&(b=!0)});if(b&&(this.transA=m.transA=Math.min(this.transA,m.transA),h/=(m.max-m.min)/(this.max-this.min),h=1>h?this:m,m=(h.max-h.min)*h.transA,h.pixelPadding=h.len-m,h.minPixelPadding=h.pixelPadding/2,m=h.fixTo)){m=m[1]-h.toValue(m[0],!0);m*=h.transA;if(Math.abs(m)>h.minPixelPadding||h.min===h.dataMin&&h.max===h.dataMax)m=
0;h.minPixelPadding-=m}});d(b,"render",function(){this.fixTo=null})});x(d,"parts-map/ColorSeriesMixin.js",[d["parts/Globals.js"]],function(b){b.colorPointMixin={setVisible:function(b){var d=this,e=b?"show":"hide";d.visible=d.options.visible=!!b;["graphic","dataLabel"].forEach(function(b){if(d[b])d[b][e]()})}};b.colorSeriesMixin={optionalAxis:"colorAxis",colorAxis:0,translateColors:function(){var b=this,d=this.options.nullColor,e=this.colorAxis,m=this.colorKey;(this.data.length?this.data:this.points).forEach(function(h){var n=
h.getNestedProperty(m);if(n=h.options.color||(h.isNull?d:e&&"undefined"!==typeof n?e.toColor(n,h):h.color||b.color))h.color=n})}}});x(d,"parts-map/ColorAxis.js",[d["parts/Globals.js"],d["parts/Color.js"],d["parts/Point.js"],d["parts/Legend.js"],d["mixins/legend-symbol.js"],d["parts/Utilities.js"]],function(b,d,u,e,m,h){"";var n=d.parse;d=h.addEvent;var A=h.erase,t=h.extend,q=h.isNumber,a=h.merge,k=h.pick,l=h.splat,p=b.Axis;h=b.Chart;var y=b.Series,w=b.colorPointMixin,B=b.noop;t(y.prototype,b.colorSeriesMixin);
t(u.prototype,w);h.prototype.collectionsWithUpdate.push("colorAxis");h.prototype.collectionsWithInit.colorAxis=[h.prototype.addColorAxis];var f=b.ColorAxis=function(){this.init.apply(this,arguments)};t(f.prototype,p.prototype);t(f.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",maxColor:"#003399",
tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(p.prototype.keepProps),init:function(c,g){this.coll="colorAxis";var v=this.buildOptions.call(c,this.defaultColorAxisOptions,g);p.prototype.init.call(this,c,v);g.dataClasses&&this.initDataClasses(g);this.initStops();this.horiz=!v.opposite;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(c){var g=this.chart,v,f=0,r=g.options.chart.colorCount,k=this.options,
b=c.dataClasses.length;this.dataClasses=v=[];this.legendItems=[];c.dataClasses.forEach(function(c,z){c=a(c);v.push(c);if(g.styledMode||!c.color)"category"===k.dataClassColor?(g.styledMode||(z=g.options.colors,r=z.length,c.color=z[f]),c.colorIndex=f,f++,f===r&&(f=0)):c.color=n(k.minColor).tweenTo(n(k.maxColor),2>b?.5:z/(b-1))})},hasData:function(){return!(!this.tickPositions||!this.tickPositions.length)},setTickPositions:function(){if(!this.dataClasses)return p.prototype.setTickPositions.call(this)},
initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(c){c.color=n(c[1])})},buildOptions:function(c,g){var v=this.options.legend,f=g.layout?"vertical"!==g.layout:"vertical"!==v.layout;return a(c,{side:f?2:1,reversed:!f},g,{opposite:!f,showEmpty:!1,title:null,visible:v.enabled&&(g?!1!==g.visible:!0)})},setOptions:function(c){p.prototype.setOptions.call(this,c);this.options.crosshair=this.options.marker},setAxisSize:function(){var c=
this.legendSymbol,g=this.chart,v=g.options.legend||{},f,a;c?(this.left=v=c.attr("x"),this.top=f=c.attr("y"),this.width=a=c.attr("width"),this.height=c=c.attr("height"),this.right=g.chartWidth-v-a,this.bottom=g.chartHeight-f-c,this.len=this.horiz?a:c,this.pos=this.horiz?v:f):this.len=(this.horiz?v.symbolWidth:v.symbolHeight)||this.defaultLegendLength},normalizedValue:function(c){this.isLog&&(c=this.val2lin(c));return 1-(this.max-c)/(this.max-this.min||1)},toColor:function(c,g){var f=this.stops,a=this.dataClasses,
r;if(a)for(r=a.length;r--;){var k=a[r];var b=k.from;f=k.to;if(("undefined"===typeof b||c>=b)&&("undefined"===typeof f||c<=f)){var h=k.color;g&&(g.dataClass=r,g.colorIndex=k.colorIndex);break}}else{c=this.normalizedValue(c);for(r=f.length;r--&&!(c>f[r][0]););b=f[r]||f[r+1];f=f[r+1]||b;c=1-(f[0]-c)/(f[0]-b[0]||1);h=b.color.tweenTo(f.color,c)}return h},getOffset:function(){var c=this.legendGroup,g=this.chart.axisOffset[this.side];c&&(this.axisParent=c,p.prototype.getOffset.call(this),this.added||(this.added=
!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=g)},setLegendColor:function(){var c=this.reversed;var g=c?1:0;c=c?0:1;g=this.horiz?[g,0,c,0]:[0,c,0,g];this.legendColor={linearGradient:{x1:g[0],y1:g[1],x2:g[2],y2:g[3]},stops:this.stops}},drawLegendSymbol:function(c,g){var f=c.padding,a=c.options,r=this.horiz,b=k(a.symbolWidth,r?this.defaultLegendLength:12),h=k(a.symbolHeight,r?12:this.defaultLegendLength),l=k(a.labelPadding,r?16:30);a=k(a.itemDistance,10);this.setLegendColor();
g.legendSymbol=this.chart.renderer.rect(0,c.baseline-11,b,h).attr({zIndex:1}).add(g.legendGroup);this.legendItemWidth=b+f+(r?a:l);this.legendItemHeight=h+f+(r?l:0)},setState:function(c){this.series.forEach(function(g){g.setState(c)})},visible:!0,setVisible:B,getSeriesExtremes:function(){var c=this.series,g=c.length,f;this.dataMin=Infinity;for(this.dataMax=-Infinity;g--;){var a=c[g];var r=a.colorKey=k(a.options.colorKey,a.colorKey,a.pointValKey,a.zoneAxis,"y");var b=a.pointArrayMap;var h=a[r+"Min"]&&
a[r+"Max"];if(a[r+"Data"])var l=a[r+"Data"];else if(b){l=[];b=b.indexOf(r);var d=a.yData;if(0<=b&&d)for(f=0;f<d.length;f++)l.push(k(d[f][b],d[f]))}else l=a.yData;h?(a.minColorValue=a[r+"Min"],a.maxColorValue=a[r+"Max"]):(y.prototype.getExtremes.call(a,l),a.minColorValue=a.dataMin,a.maxColorValue=a.dataMax);"undefined"!==typeof a.minColorValue&&(this.dataMin=Math.min(this.dataMin,a.minColorValue),this.dataMax=Math.max(this.dataMax,a.maxColorValue));h||y.prototype.getExtremes.call(a)}},drawCrosshair:function(c,
g){var a=g&&g.plotX,f=g&&g.plotY,r=this.pos,k=this.len;if(g){var b=this.toPixels(g.getNestedProperty(g.series.colorKey));b<r?b=r-2:b>r+k&&(b=r+k+2);g.plotX=b;g.plotY=this.len-b;p.prototype.drawCrosshair.call(this,c,g);g.plotX=a;g.plotY=f;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||this.cross.attr({fill:this.crosshair.color}))}},getPlotLinePath:function(c){var g=
c.translatedValue;return q(g)?this.horiz?["M",g-4,this.top-6,"L",g+4,this.top-6,g,this.top,"Z"]:["M",this.left,g,"L",this.left-6,g+6,this.left-6,g-6,"Z"]:p.prototype.getPlotLinePath.apply(this,arguments)},update:function(c,g){var f=this.chart,b=f.legend,r=this.buildOptions.call(f,{},c);this.series.forEach(function(c){c.isDirtyData=!0});(c.dataClasses&&b.allItems||this.dataClasses)&&this.destroyItems();f.options[this.coll]=a(this.userOptions,r);p.prototype.update.call(this,r,g);this.legendItem&&(this.setLegendColor(),
b.colorizeItem(this,!0))},destroyItems:function(){var c=this.chart;this.legendItem?c.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(g){c.legend.destroyItem(g)});c.isDirtyLegend=!0},remove:function(c){this.destroyItems();p.prototype.remove.call(this,c)},getDataClassLegendSymbols:function(){var c=this,g=this.chart,a=this.legendItems,f=g.options.legend,r=f.valueDecimals,b=f.valueSuffix||"",k;a.length||this.dataClasses.forEach(function(f,v){var h=!0,l=f.from,d=f.to,z=g.numberFormatter;
k="";"undefined"===typeof l?k="< ":"undefined"===typeof d&&(k="> ");"undefined"!==typeof l&&(k+=z(l,r)+b);"undefined"!==typeof l&&"undefined"!==typeof d&&(k+=" - ");"undefined"!==typeof d&&(k+=z(d,r)+b);a.push(t({chart:g,name:k,options:{},drawLegendSymbol:m.drawRectangle,visible:!0,setState:B,isDataClass:!0,setVisible:function(){h=this.visible=!h;c.series.forEach(function(c){c.points.forEach(function(c){c.dataClass===v&&c.setVisible(h)})});g.legend.colorizeItem(this,h)}},f))});return a},beforePadding:!1,
name:""});["fill","stroke"].forEach(function(c){b.Fx.prototype[c+"Setter"]=function(){this.elem.attr(c,n(this.start).tweenTo(n(this.end),this.pos),null,!0)}});d(h,"afterGetAxes",function(){var c=this,g=c.options;this.colorAxis=[];g.colorAxis&&(g.colorAxis=l(g.colorAxis),g.colorAxis.forEach(function(g,a){g.index=a;new f(c,g)}))});d(y,"bindAxes",function(){var c=this.axisTypes;c?-1===c.indexOf("colorAxis")&&c.push("colorAxis"):this.axisTypes=["colorAxis"]});d(e,"afterGetAllItems",function(c){var g=
[],a,f;(this.chart.colorAxis||[]).forEach(function(f){(a=f.options)&&a.showInLegend&&(a.dataClasses&&a.visible?g=g.concat(f.getDataClassLegendSymbols()):a.visible&&g.push(f),f.series.forEach(function(g){if(!g.options.showInLegend||a.dataClasses)"point"===g.options.legendType?g.points.forEach(function(g){A(c.allItems,g)}):A(c.allItems,g)}))});for(f=g.length;f--;)c.allItems.unshift(g[f])});d(e,"afterColorizeItem",function(c){c.visible&&c.item.legendColor&&c.item.legendSymbol.attr({fill:c.item.legendColor})});
d(e,"afterUpdate",function(){var c=this.chart.colorAxis;c&&c.forEach(function(c,a,f){c.update({},f)})});d(y,"afterTranslate",function(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()})});x(d,"parts-map/ColorMapSeriesMixin.js",[d["parts/Globals.js"],d["parts/Point.js"],d["parts/Utilities.js"]],function(b,d,u){var e=u.defined;u=b.noop;var m=b.seriesTypes;b.colorMapPointMixin={dataLabelOnNull:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&
-Infinity!==this.value},setState:function(b){d.prototype.setState.call(this,b);this.graphic&&this.graphic.attr({zIndex:"hover"===b?1:0})}};b.colorMapSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:u,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:m.column.prototype.pointAttribs,colorAttribs:function(b){var h={};e(b.color)&&(h[this.colorProp||"fill"]=b.color);return h}}});x(d,"parts-map/MapNavigation.js",
[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,d){function n(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function e(a){this.init(a)}var m=d.addEvent,h=d.extend,C=d.merge,A=d.objectEach,t=d.pick;d=b.Chart;var q=b.doc;e.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};e.prototype.update=function(a){var b=this.chart,d=b.options.mapNavigation,p,e,w,B,f,c=function(c){this.handler.call(b,c);n(c)},g=b.mapNavButtons;a&&(d=b.options.mapNavigation=
C(b.options.mapNavigation,a));for(;g.length;)g.pop().destroy();t(d.enableButtons,d.enabled)&&!b.renderer.forExport&&A(d.buttons,function(a,k){p=C(d.buttonOptions,a);b.styledMode||(e=p.theme,e.style=C(p.theme.style,p.style),B=(w=e.states)&&w.hover,f=w&&w.select);a=b.renderer.button(p.text,0,0,c,e,B,f,0,"zoomIn"===k?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[k]).attr({width:p.width,height:p.height,title:b.options.lang[k],padding:p.padding,
zIndex:5}).add();a.handler=p.onclick;m(a.element,"dblclick",n);g.push(a);var v=p,l=m(b,"load",function(){a.align(h(v,{width:a.width,height:2*a.height}),null,v.alignTo);l()})});this.updateEvents(d)};e.prototype.updateEvents=function(a){var b=this.chart;t(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||m(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());t(a.enableMouseWheelZoom,
a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||m(b.container,"undefined"===typeof q.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a);n(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};h(d.prototype,{fitToBox:function(a,b){[["x","width"],["y","height"]].forEach(function(d){var h=d[0];d=d[1];a[h]+a[d]>b[h]+b[d]&&(a[d]>b[d]?(a[d]=b[d],a[h]=b[h]):a[h]=b[h]+b[d]-a[d]);a[d]>b[d]&&(a[d]=b[d]);a[h]<b[h]&&(a[h]=b[h])});
return a},mapZoom:function(a,b,d,h,m){var k=this.xAxis[0],e=k.max-k.min,f=t(b,k.min+e/2),c=e*a;e=this.yAxis[0];var g=e.max-e.min,v=t(d,e.min+g/2);g*=a;f=this.fitToBox({x:f-c*(h?(h-k.pos)/k.len:.5),y:v-g*(m?(m-e.pos)/e.len:.5),width:c,height:g},{x:k.dataMin,y:e.dataMin,width:k.dataMax-k.dataMin,height:e.dataMax-e.dataMin});c=f.x<=k.dataMin&&f.width>=k.dataMax-k.dataMin&&f.y<=e.dataMin&&f.height>=e.dataMax-e.dataMin;h&&(k.fixTo=[h-k.pos,b]);m&&(e.fixTo=[m-e.pos,d]);"undefined"===typeof a||c?(k.setExtremes(void 0,
void 0,!1),e.setExtremes(void 0,void 0,!1)):(k.setExtremes(f.x,f.x+f.width,!1),e.setExtremes(f.y,f.y+f.height,!1));this.redraw()}});m(d,"beforeRender",function(){this.mapNavigation=new e(this);this.mapNavigation.update()});b.MapNavigation=e});x(d,"parts-map/MapPointer.js",[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,d){var n=d.extend,e=d.pick;d=d.wrap;b=b.Pointer;n(b.prototype,{onContainerDblClick:function(b){var d=this.chart;b=this.normalize(b);d.options.mapNavigation.enableDoubleClickZoomTo?
d.pointer.inClass(b.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(b.chartX),d.yAxis[0].toValue(b.chartY),b.chartX,b.chartY)},onContainerMouseWheel:function(b){var d=this.chart;b=this.normalize(b);var e=b.detail||-(b.wheelDelta/120);d.isInsidePlot(b.chartX-d.plotLeft,b.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,e),d.xAxis[0].toValue(b.chartX),d.yAxis[0].toValue(b.chartY),
b.chartX,b.chartY)}});d(b.prototype,"zoomOption",function(b){var d=this.chart.options.mapNavigation;e(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");b.apply(this,[].slice.call(arguments,1))});d(b.prototype,"pinchTranslate",function(b,d,e,n,u,q,a){b.call(this,d,e,n,u,q,a);"map"===this.chart.options.chart.type&&this.hasZoom&&(b=n.scaleX>n.scaleY,this.pinchTranslateDirection(!b,d,e,n,u,q,a,b?n.scaleX:n.scaleY))})});x(d,"parts-map/MapSeries.js",[d["parts/Globals.js"],d["mixins/legend-symbol.js"],
d["parts/Point.js"],d["parts/Utilities.js"]],function(b,d,u,e){var m=e.extend,h=e.fireEvent,n=e.getNestedProperty,A=e.isArray,t=e.isNumber,q=e.merge,a=e.objectEach,k=e.pick,l=e.seriesType,p=e.splat,y=b.colorMapPointMixin,w=b.noop,B=b.Series,f=b.seriesTypes;l("map","scatter",{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},
turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},select:{color:"#cccccc"},inactive:{opacity:1}}},q(b.colorMapSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:w,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],setOptions:function(c){c=B.prototype.setOptions.call(this,c);var g=c.joinBy;null===g&&(g="_i");g=this.joinBy=p(g);g[1]||(g[1]=g[0]);return c},getBox:function(c){var g=
Number.MAX_VALUE,a=-g,f=g,d=-g,e=g,h=g,l=this.xAxis,p=this.yAxis,m;(c||[]).forEach(function(c){if(c.path){"string"===typeof c.path&&(c.path=b.splitPath(c.path));var v=c.path||[],r=v.length,l=!1,z=-g,p=g,D=-g,q=g,n=c.properties;if(!c._foundBox){for(;r--;)t(v[r])&&(l?(z=Math.max(z,v[r]),p=Math.min(p,v[r])):(D=Math.max(D,v[r]),q=Math.min(q,v[r])),l=!l);c._midX=p+(z-p)*k(c.middleX,n&&n["hc-middle-x"],.5);c._midY=q+(D-q)*k(c.middleY,n&&n["hc-middle-y"],.5);c._maxX=z;c._minX=p;c._maxY=D;c._minY=q;c.labelrank=
k(c.labelrank,(z-p)*(D-q));c._foundBox=!0}a=Math.max(a,c._maxX);f=Math.min(f,c._minX);d=Math.max(d,c._maxY);e=Math.min(e,c._minY);h=Math.min(c._maxX-c._minX,c._maxY-c._minY,h);m=!0}});m&&(this.minY=Math.min(e,k(this.minY,g)),this.maxY=Math.max(d,k(this.maxY,-g)),this.minX=Math.min(f,k(this.minX,g)),this.maxX=Math.max(a,k(this.maxX,-g)),l&&"undefined"===typeof l.options.minRange&&(l.minRange=Math.min(5*h,(this.maxX-this.minX)/5,l.minRange||g)),p&&"undefined"===typeof p.options.minRange&&(p.minRange=
Math.min(5*h,(this.maxY-this.minY)/5,p.minRange||g)))},hasData:function(){return!!this.processedXData.length},getExtremes:function(){B.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(c){var a=!1,f=this.xAxis,b=this.yAxis,d=f.min,k=f.transA;f=f.minPixelPadding;var h=b.min,e=b.transA;b=b.minPixelPadding;var l,
p=[];if(c)for(l=c.length;l--;)t(c[l])?(p[l]=a?(c[l]-d)*k+f:(c[l]-h)*e+b,a=!a):p[l]=c[l];return p},setData:function(c,g,f,d){var v=this.options,k=this.chart.options.chart,h=k&&k.map,e=v.mapData,l=this.joinBy,p=v.keys||this.pointArrayMap,z=[],m={},w=this.chart.mapTransforms;!e&&h&&(e="string"===typeof h?b.maps[h]:h);c&&c.forEach(function(a,g){var f=0;if(t(a))c[g]={value:a};else if(A(a)){c[g]={};!v.keys&&a.length>p.length&&"string"===typeof a[0]&&(c[g]["hc-key"]=a[0],++f);for(var b=0;b<p.length;++b,
++f)p[b]&&"undefined"!==typeof a[f]&&(0<p[b].indexOf(".")?u.prototype.setNestedProperty(c[g],a[f],p[b]):c[g][p[b]]=a[f])}l&&"_i"===l[0]&&(c[g]._i=g)});this.getBox(c);(this.chart.mapTransforms=w=k&&k.mapTransforms||e&&e["hc-transform"]||w)&&a(w,function(c){c.rotation&&(c.cosAngle=Math.cos(c.rotation),c.sinAngle=Math.sin(c.rotation))});if(e){"FeatureCollection"===e.type&&(this.mapTitle=e.title,e=b.geojson(e,this.type,this));this.mapData=e;this.mapMap={};for(w=0;w<e.length;w++)k=e[w],h=k.properties,
k._i=w,l[0]&&h&&h[l[0]]&&(k[l[0]]=h[l[0]]),m[k[l[0]]]=k;this.mapMap=m;if(c&&l[1]){var y=l[1];c.forEach(function(c){c=n(y,c);m[c]&&z.push(m[c])})}if(v.allAreas){this.getBox(e);c=c||[];if(l[1]){var x=l[1];c.forEach(function(c){z.push(n(x,c))})}z="|"+z.map(function(c){return c&&c[l[0]]}).join("|")+"|";e.forEach(function(a){l[0]&&-1!==z.indexOf("|"+a[l[0]]+"|")||(c.push(q(a,{value:null})),d=!1)})}else this.getBox(z)}B.prototype.setData.call(this,c,g,f,d)},drawGraph:w,drawDataLabels:w,doFullTranslate:function(){return this.isDirtyData||
this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var c=this,a=c.xAxis,f=c.yAxis,b=c.doFullTranslate();c.generatePoints();c.data.forEach(function(g){t(g._midX)&&t(g._midY)&&(g.plotX=a.toPixels(g._midX,!0),g.plotY=f.toPixels(g._midY,!0));b&&(g.shapeType="path",g.shapeArgs={d:c.translatePath(g.path)})});h(c,"afterTranslate")},pointAttribs:function(c,a){a=c.series.chart.styledMode?this.colorAttribs(c):f.column.prototype.pointAttribs.call(this,c,a);a["stroke-width"]=
k(c.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return a},drawPoints:function(){var c=this,a=c.xAxis,b=c.yAxis,d=c.group,e=c.chart,h=e.renderer,l=this.baseTrans;c.transformGroup||(c.transformGroup=h.g().attr({scaleX:1,scaleY:1}).add(d),c.transformGroup.survive=!0);if(c.doFullTranslate())e.hasRendered&&!e.styledMode&&c.points.forEach(function(a){a.shapeArgs&&(a.shapeArgs.fill=c.pointAttribs(a,a.state).fill)}),c.group=c.transformGroup,f.column.prototype.drawPoints.apply(c),
c.group=d,c.points.forEach(function(a){if(a.graphic){var g="";a.name&&(g+="highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase());a.properties&&a.properties["hc-key"]&&(g+=" highcharts-key-"+a.properties["hc-key"].toLowerCase());g&&a.graphic.addClass(g);e.styledMode&&a.graphic.css(c.pointAttribs(a,a.selected&&"select"||void 0))}}),this.baseTrans={originX:a.min-a.minPixelPadding/a.transA,originY:b.min-b.minPixelPadding/b.transA+(b.reversed?0:b.len/b.transA),transAX:a.transA,transAY:b.transA},this.transformGroup.animate({translateX:0,
translateY:0,scaleX:1,scaleY:1});else{var p=a.transA/l.transAX;var m=b.transA/l.transAY;var q=a.toPixels(l.originX,!0);var n=b.toPixels(l.originY,!0);.99<p&&1.01>p&&.99<m&&1.01>m&&(m=p=1,q=Math.round(q),n=Math.round(n));var w=this.transformGroup;if(e.renderer.globalAnimation){var B=w.attr("translateX");var y=w.attr("translateY");var u=w.attr("scaleX");var t=w.attr("scaleY");w.attr({animator:0}).animate({animator:1},{step:function(c,a){w.attr({translateX:B+(q-B)*a.pos,translateY:y+(n-y)*a.pos,scaleX:u+
(p-u)*a.pos,scaleY:t+(m-t)*a.pos})}})}else w.attr({translateX:q,translateY:n,scaleX:p,scaleY:m})}e.styledMode||d.element.setAttribute("stroke-width",k(c.options[c.pointAttrToOptions&&c.pointAttrToOptions["stroke-width"]||"borderWidth"],1)/(p||1));this.drawMapDataLabels()},drawMapDataLabels:function(){B.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var c=this,a=B.prototype.render;c.chart.renderer.isVML&&3E3<c.data.length?
setTimeout(function(){a.call(c)}):a.call(c)},animate:function(c){var a=this.options.animation,f=this.group,b=this.xAxis,d=this.yAxis,k=b.pos,e=d.pos;this.chart.renderer.isSVG&&(!0===a&&(a={duration:1E3}),c?f.attr({translateX:k+b.len/2,translateY:e+d.len/2,scaleX:.001,scaleY:.001}):(f.animate({translateX:k,translateY:e,scaleX:1,scaleY:1},a),this.animate=null))},animateDrilldown:function(c){var a=this.chart.plotBox,f=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],b=f.bBox,d=this.chart.options.drilldown.animation;
c||(c=Math.min(b.width/a.width,b.height/a.height),f.shapeArgs={scaleX:c,scaleY:c,translateX:b.x,translateY:b.y},this.points.forEach(function(c){c.graphic&&c.graphic.attr(f.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},d)}),this.animate=null)},drawLegendSymbol:d.drawRectangle,animateDrillupFrom:function(c){f.column.prototype.animateDrillupFrom.call(this,c)},animateDrillupTo:function(c){f.column.prototype.animateDrillupTo.call(this,c)}}),m({applyOptions:function(c,a){var f=this.series;
c=u.prototype.applyOptions.call(this,c,a);a=f.joinBy;f.mapData&&f.mapMap&&(a=u.prototype.getNestedProperty.call(c,a[1]),(a="undefined"!==typeof a&&f.mapMap[a])?(f.xyFromShape&&(c.x=a._midX,c.y=a._midY),m(c,a)):c.value=c.value||null);return c},onMouseOver:function(c){e.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)u.prototype.onMouseOver.call(this,c);else this.series.onMouseOut(c)},zoomTo:function(){var c=this.series;c.xAxis.setExtremes(this._minX,this._maxX,
!1);c.yAxis.setExtremes(this._minY,this._maxY,!1);c.chart.redraw()}},y));""});x(d,"parts-map/MapLineSeries.js",[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,d){d=d.seriesType;var n=b.seriesTypes;d("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(b,d){b=n.map.prototype.pointAttribs.call(this,b,d);b.fill=this.options.fillColor;return b},drawLegendSymbol:n.line.prototype.drawLegendSymbol});
""});x(d,"parts-map/MapPointSeries.js",[d["parts/Globals.js"]],function(b){var d=b.merge,u=b.Point,e=b.Series;b=b.seriesType;b("mappoint","scatter",{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0,drawDataLabels:function(){e.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)}},{applyOptions:function(b,e){b="undefined"!==typeof b.lat&&"undefined"!==
typeof b.lon?d(b,this.series.chart.fromLatLonToPoint(b)):b;return u.prototype.applyOptions.call(this,b,e)}});""});x(d,"parts-more/BubbleLegend.js",[d["parts/Globals.js"],d["parts/Color.js"],d["parts/Legend.js"],d["parts/Utilities.js"]],function(b,d,u,e){"";var m=d.parse;d=e.addEvent;var h=e.arrayMax,n=e.arrayMin,A=e.isNumber,t=e.merge,q=e.objectEach,a=e.pick,k=e.stableSort,l=e.wrap,p=b.Series,y=b.Chart,w=b.noop,B=b.setOptions;B({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,
color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});b.BubbleLegend=function(a,c){this.init(a,c)};b.BubbleLegend.prototype={init:function(a,c){this.options=
a;this.visible=!0;this.chart=c.chart;this.legend=c},setState:w,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(f){var c=this.chart,b=this.options,d=a(f.options.itemDistance,20),e=b.ranges;var h=b.connectorDistance;this.fontMetrics=c.renderer.fontMetrics(b.labels.style.fontSize.toString()+"px");e&&e.length&&A(e[0].value)?(k(e,function(c,a){return a.value-c.value}),this.ranges=e,this.setOptions(),this.render(),c=this.getMaxLabelSize(),e=this.ranges[0].radius,
f=2*e,h=h-e+c.width,h=0<h?h:0,this.maxLabel=c,this.movementX="left"===b.labels.align?h:0,this.legendItemWidth=f+h+d,this.legendItemHeight=f+this.fontMetrics.h/2):f.options.bubbleLegend.autoRanges=!0},setOptions:function(){var f=this.ranges,c=this.options,b=this.chart.series[c.seriesIndex],d=this.legend.baseline,e={"z-index":c.zIndex,"stroke-width":c.borderWidth},k={"z-index":c.zIndex,"stroke-width":c.connectorWidth},h=this.getLabelStyles(),l=b.options.marker.fillOpacity,p=this.chart.styledMode;f.forEach(function(g,
v){p||(e.stroke=a(g.borderColor,c.borderColor,b.color),e.fill=a(g.color,c.color,1!==l?m(b.color).setOpacity(l).get("rgba"):b.color),k.stroke=a(g.connectorColor,c.connectorColor,b.color));f[v].radius=this.getRangeRadius(g.value);f[v]=t(f[v],{center:f[0].radius-f[v].radius+d});p||t(!0,f[v],{bubbleStyle:t(!1,e),connectorStyle:t(!1,k),labelStyle:h})},this)},getLabelStyles:function(){var f=this.options,c={},b="left"===f.labels.align,d=this.legend.options.rtl;q(f.labels.style,function(a,b){"color"!==b&&
"fontSize"!==b&&"z-index"!==b&&(c[b]=a)});return t(!1,c,{"font-size":f.labels.style.fontSize,fill:a(f.labels.style.color,"#000000"),"z-index":f.zIndex,align:d||b?"right":"left"})},getRangeRadius:function(a){var c=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,c.ranges[c.ranges.length-1].value,c.ranges[0].value,c.minSize,c.maxSize,a)},render:function(){var a=this.chart.renderer,c=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],
labels:[]});this.legendSymbol=a.g("bubble-legend");this.legendItem=a.g("bubble-legend-item");this.legendSymbol.translateX=0;this.legendSymbol.translateY=0;this.ranges.forEach(function(a){a.value>=c&&this.renderRange(a)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()},renderRange:function(a){var c=this.options,b=c.labels,f=this.chart.renderer,d=this.symbols,e=d.labels,k=a.center,h=Math.abs(a.radius),l=c.connectorDistance,p=b.align,q=
b.style.fontSize;l=this.legend.options.rtl||"left"===p?-l:l;b=c.connectorWidth;var w=this.ranges[0].radius,m=k-h-c.borderWidth/2+b/2;q=q/2-(this.fontMetrics.h-q)/2;var n=f.styledMode;"center"===p&&(l=0,c.connectorDistance=0,a.labelStyle.align="center");p=m+c.labels.y;var B=w+l+c.labels.x;d.bubbleItems.push(f.circle(w,k+((m%1?1:.5)-(b%2?0:.5)),h).attr(n?{}:a.bubbleStyle).addClass((n?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(c.className||"")).add(this.legendSymbol));
d.connectors.push(f.path(f.crispLine(["M",w,m,"L",w+l,m],c.connectorWidth)).attr(n?{}:a.connectorStyle).addClass((n?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(c.connectorClassName||"")).add(this.legendSymbol));a=f.text(this.formatLabel(a),B,p+q).attr(n?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(c.labels.className||"")).add(this.legendSymbol);e.push(a);a.placed=!0;a.alignAttr={x:B,y:p+q}},getMaxLabelSize:function(){var a,c;this.symbols.labels.forEach(function(b){c=
b.getBBox(!0);a=a?c.width>a.width?c:a:c});return a||{}},formatLabel:function(a){var c=this.options,b=c.labels.formatter;c=c.labels.format;var f=this.chart.numberFormatter;return c?e.format(c,a):b?b.call(a):f(a.value,1)},hideOverlappingLabels:function(){var a=this.chart,c=this.symbols;!this.options.labels.allowOverlap&&c&&(a.hideOverlappingLabels(c.labels),c.labels.forEach(function(a,b){a.newOpacity?a.newOpacity!==a.oldOpacity&&c.connectors[b].show():c.connectors[b].hide()}))},getRanges:function(){var b=
this.legend.bubbleLegend,c=b.options.ranges,d,e=Number.MAX_VALUE,k=-Number.MAX_VALUE;b.chart.series.forEach(function(c){c.isBubble&&!c.ignoreSeries&&(d=c.zData.filter(A),d.length&&(e=a(c.options.zMin,Math.min(e,Math.max(n(d),!1===c.options.displayNegative?c.options.zThreshold:-Number.MAX_VALUE))),k=a(c.options.zMax,Math.max(k,h(d)))))});var l=e===k?[{value:k}]:[{value:e},{value:(e+k)/2},{value:k,autoRanges:!0}];c.length&&c[0].radius&&l.reverse();l.forEach(function(a,b){c&&c[b]&&(l[b]=t(!1,c[b],a))});
return l},predictBubbleSizes:function(){var a=this.chart,c=this.fontMetrics,b=a.legend.options,d="horizontal"===b.layout,k=d?a.legend.lastLineHeight:0,e=a.plotSizeX,h=a.plotSizeY,l=a.series[this.options.seriesIndex];a=Math.ceil(l.minPxSize);var p=Math.ceil(l.maxPxSize);l=l.options.maxSize;var q=Math.min(h,e);if(b.floating||!/%$/.test(l))c=p;else if(l=parseFloat(l),c=(q+k-c.h/2)*l/100/(l/100+1),d&&h-c>=e||!d&&e-c>=h)c=p;return[a,Math.ceil(c)]},updateRanges:function(a,c){var b=this.legend.options.bubbleLegend;
b.minSize=a;b.maxSize=c;b.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,c=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(c.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,c.maxPxSize),a.render())}};d(u,"afterGetAllItems",function(a){var c=this.bubbleLegend,d=this.options,f=d.bubbleLegend,e=this.chart.getVisibleBubbleSeriesIndex();c&&c.ranges&&c.ranges.length&&(f.ranges.length&&(f.autoRanges=!!f.ranges[0].autoRanges),this.destroyItem(c));
0<=e&&d.enabled&&f.enabled&&(f.seriesIndex=e,this.bubbleLegend=new b.BubbleLegend(f,this),this.bubbleLegend.addToLegend(a.allItems))});y.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,c=0;c<a.length;){if(a[c]&&a[c].isBubble&&a[c].visible&&a[c].zData.length)return c;c++}return-1};u.prototype.getLinesHeights=function(){var a=this.allItems,c=[],b=a.length,d,e=0;for(d=0;d<b;d++)if(a[d].legendItemHeight&&(a[d].itemHeight=a[d].legendItemHeight),a[d]===a[b-1]||a[d+1]&&a[d]._legendItemPos[1]!==
a[d+1]._legendItemPos[1]){c.push({height:0});var k=c[c.length-1];for(e;e<=d;e++)a[e].itemHeight>k.height&&(k.height=a[e].itemHeight);k.step=d}return c};u.prototype.retranslateItems=function(a){var c,b,d,f=this.options.rtl,e=0;this.allItems.forEach(function(g,k){c=g.legendGroup.translateX;b=g._legendItemPos[1];if((d=g.movementX)||f&&g.ranges)d=f?c-g.options.maxSize/2:c+d,g.legendGroup.attr({translateX:d});k>a[e].step&&e++;g.legendGroup.attr({translateY:Math.round(b+a[e].height/2)});g._legendItemPos[1]=
b+a[e].height/2})};d(p,"legendItemClick",function(){var a=this.chart,c=this.visible,b=this.chart.legend;b&&b.bubbleLegend&&(this.visible=!c,this.ignoreSeries=c,a=0<=a.getVisibleBubbleSeriesIndex(),b.bubbleLegend.visible!==a&&(b.update({bubbleLegend:{enabled:a}}),b.bubbleLegend.visible=a),this.visible=c)});l(y.prototype,"drawChartBox",function(a,c,b){var d=this.legend,f=0<=this.getVisibleBubbleSeriesIndex();if(d&&d.options.enabled&&d.bubbleLegend&&d.options.bubbleLegend.autoRanges&&f){var g=d.bubbleLegend.options;
f=d.bubbleLegend.predictBubbleSizes();d.bubbleLegend.updateRanges(f[0],f[1]);g.placed||(d.group.placed=!1,d.allItems.forEach(function(a){a.legendGroup.translateY=null}));d.render();this.getMargins();this.axes.forEach(function(a){a.visible&&a.render();g.placed||(a.setScale(),a.updateNames(),q(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))});g.placed=!0;this.getMargins();a.call(this,c,b);d.bubbleLegend.correctSizes();d.retranslateItems(d.getLinesHeights())}else a.call(this,c,b),d&&d.options.enabled&&
d.bubbleLegend&&(d.render(),d.retranslateItems(d.getLinesHeights()))})});x(d,"parts-more/BubbleSeries.js",[d["parts/Globals.js"],d["parts/Color.js"],d["parts/Point.js"],d["parts/Utilities.js"]],function(b,d,u,e){var m=d.parse,h=e.arrayMax,n=e.arrayMin,A=e.clamp,t=e.extend,q=e.isNumber,a=e.pick,k=e.pInt;d=e.seriesType;e=b.Axis;var l=b.noop,p=b.Series,y=b.seriesTypes;d("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,
lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(a,b){var d=this.options.marker.fillOpacity;
a=p.prototype.pointAttribs.call(this,a,b);1!==d&&(a.fill=m(a.fill).setOpacity(d).get("rgba"));return a},getRadii:function(a,b,d){var c=this.zData,f=this.yData,e=d.minPxSize,k=d.maxPxSize,l=[];var h=0;for(d=c.length;h<d;h++){var p=c[h];l.push(this.getRadius(a,b,e,k,p,f[h]))}this.radii=l},getRadius:function(a,b,d,c,g,e){var f=this.options,k="width"!==f.sizeBy,l=f.zThreshold,h=b-a,p=.5;if(null===e||null===g)return null;if(q(g)){f.sizeByAbsoluteValue&&(g=Math.abs(g-l),h=Math.max(b-l,Math.abs(a-l)),a=
0);if(g<a)return d/2-1;0<h&&(p=(g-a)/h)}k&&0<=p&&(p=Math.sqrt(p));return Math.ceil(d+p*(c-d))/2},animate:function(a){!a&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(a){var b=a.graphic;if(b&&b.width){var c={x:b.x,y:b.y,width:b.width,height:b.height};b.attr({x:a.plotX,y:a.plotY,width:1,height:1});b.animate(c,this.options.animation)}},this),this.animate=null)},hasData:function(){return!!this.processedXData.length},translate:function(){var a,b=this.data,d=this.radii;
y.scatter.prototype.translate.call(this);for(a=b.length;a--;){var c=b[a];var g=d?d[a]:0;q(g)&&g>=this.minPxSize/2?(c.marker=t(c.marker,{radius:g,width:2*g,height:2*g}),c.dlBox={x:c.plotX-g,y:c.plotY-g,width:2*g,height:2*g}):c.shapeArgs=c.plotY=c.dlBox=void 0}},alignDataLabel:y.column.prototype.alignDataLabel,buildKDTree:l,applyZones:l},{haloPath:function(a){return u.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});e.prototype.beforePadding=function(){var b=
this,d=this.len,f=this.chart,c=0,g=d,e=this.isXAxis,l=e?"xData":"yData",p=this.min,m={},y=Math.min(f.plotWidth,f.plotHeight),u=Number.MAX_VALUE,t=-Number.MAX_VALUE,x=this.max-p,C=d/x,E=[];this.series.forEach(function(c){var d=c.options;!c.bubblePadding||!c.visible&&f.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,E.push(c),e&&(["minSize","maxSize"].forEach(function(a){var c=d[a],b=/%$/.test(c);c=k(c);m[a]=b?y*c/100:c}),c.minPxSize=m.minSize,c.maxPxSize=Math.max(m.maxSize,m.minSize),c=c.zData.filter(q),
c.length&&(u=a(d.zMin,A(n(c),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE,u)),t=a(d.zMax,Math.max(t,h(c))))))});E.forEach(function(a){var d=a[l],f=d.length;e&&a.getRadii(u,t,a);if(0<x)for(;f--;)if(q(d[f])&&b.dataMin<=d[f]&&d[f]<=b.max){var k=a.radii?a.radii[f]:0;c=Math.min((d[f]-p)*C-k,c);g=Math.max((d[f]-p)*C+k,g)}});E.length&&0<x&&!this.isLog&&(g-=d,C*=(d+Math.max(0,c)-Math.min(g,d))/d,[["min","userMin",c],["max","userMax",g]].forEach(function(c){"undefined"===typeof a(b.options[c[0]],
b[c[1]])&&(b[c[0]]+=c[2]/C)}))};""});x(d,"parts-map/MapBubbleSeries.js",[d["parts/Globals.js"],d["parts/Point.js"],d["parts/Utilities.js"]],function(b,d,u){var e=u.merge;u=u.seriesType;var m=b.seriesTypes;m.bubble&&u("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:m.map.prototype.getMapData,getBox:m.map.prototype.getBox,setData:m.map.prototype.setData,setOptions:m.map.prototype.setOptions},{applyOptions:function(b,
n){return b&&"undefined"!==typeof b.lat&&"undefined"!==typeof b.lon?d.prototype.applyOptions.call(this,e(b,this.series.chart.fromLatLonToPoint(b)),n):m.map.prototype.pointClass.prototype.applyOptions.call(this,b,n)},isValid:function(){return"number"===typeof this.z},ttBelow:!1});""});x(d,"parts-map/HeatmapSeries.js",[d["parts/Globals.js"],d["mixins/legend-symbol.js"],d["parts/Utilities.js"]],function(b,d,u){var e=u.clamp,m=u.extend,h=u.fireEvent,n=u.merge,x=u.pick;u=u.seriesType;var t=b.colorMapPointMixin,
q=b.noop,a=b.Series,k=b.seriesTypes;u("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}}},n(b.colorMapSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){k.scatter.prototype.init.apply(this,
arguments);var a=this.options;a.pointRange=x(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){this.generatePoints();var a=this.options,b=a.colsize,d=a.pointPadding,k=void 0===d?0:d;a=a.rowsize;d=this.points;var q=this.xAxis,f=this.yAxis,c=(void 0===b?1:b)/2,g=(void 0===a?1:a)/2,m=this.pointPlacementToXValue(),n=function(a){return Math.round(e(q.translate(a,!1,!1,!1,!0,m),0,q.len))};d.forEach(function(a){var b=n(a.x-c),d=n(a.x+c),l=Math.round(e(f.translate(a.y-
g,!1,!0,!1,!0),0,f.len)),h=Math.round(e(f.translate(a.y+g,!1,!0,!1,!0),0,f.len)),p=x(a.pointPadding,k);a.plotX=a.clientX=(b+d)/2;a.plotY=(l+h)/2;a.shapeType="rect";a.shapeArgs={x:Math.min(b,d)+p,y:Math.min(l,h)+p,width:Math.max(Math.abs(d-b)-2*p,0),height:Math.max(Math.abs(h-l)-2*p,0)}});h(this,"afterTranslate")},drawPoints:function(){var a=this.chart.styledMode?"css":"animate";k.column.prototype.drawPoints.call(this);this.points.forEach(function(b){b.graphic[a](this.colorAttribs(b))},this)},hasData:function(){return!!this.processedXData.length},
getValidPoints:function(b,d){return a.prototype.getValidPoints.call(this,b,d,!0)},animate:q,getBox:q,drawLegendSymbol:d.drawRectangle,alignDataLabel:k.column.prototype.alignDataLabel,getExtremes:function(){a.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;a.prototype.getExtremes.call(this)}}),m({haloPath:function(a){if(!a)return[];var b=this.shapeArgs;return["M",b.x-a,b.y-a,"L",b.x-a,b.y+b.height+a,b.x+b.width+a,b.y+b.height+a,b.x+b.width+a,b.y-
a,"Z"]}},t));""});x(d,"parts-map/GeoJSON.js",[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,d){function n(b,a){var d,e=!1,h=b.x,m=b.y;b=0;for(d=a.length-1;b<a.length;d=b++){var q=a[b][1]>m;var n=a[d][1]>m;q!==n&&h<(a[d][0]-a[b][0])*(m-a[b][1])/(a[d][1]-a[b][1])+a[b][0]&&(e=!e)}return e}var e=d.error,m=d.extend,h=d.format,x=d.merge;d=d.wrap;var A=b.Chart,t=b.win;A.prototype.transformFromLatLon=function(b,a){var d,h=(null===(d=this.userOptions.chart)||void 0===d?void 0:d.proj4)||t.proj4;
if(!h)return e(21,!1,this),{x:0,y:null};b=h(a.crs,[b.lon,b.lat]);d=a.cosAngle||a.rotation&&Math.cos(a.rotation);h=a.sinAngle||a.rotation&&Math.sin(a.rotation);b=a.rotation?[b[0]*d+b[1]*h,-b[0]*h+b[1]*d]:b;return{x:((b[0]-(a.xoffset||0))*(a.scale||1)+(a.xpan||0))*(a.jsonres||1)+(a.jsonmarginX||0),y:(((a.yoffset||0)-b[1])*(a.scale||1)+(a.ypan||0))*(a.jsonres||1)-(a.jsonmarginY||0)}};A.prototype.transformToLatLon=function(b,a){if("undefined"===typeof t.proj4)e(21,!1,this);else{b={x:((b.x-(a.jsonmarginX||
0))/(a.jsonres||1)-(a.xpan||0))/(a.scale||1)+(a.xoffset||0),y:((-b.y-(a.jsonmarginY||0))/(a.jsonres||1)+(a.ypan||0))/(a.scale||1)+(a.yoffset||0)};var d=a.cosAngle||a.rotation&&Math.cos(a.rotation),h=a.sinAngle||a.rotation&&Math.sin(a.rotation);a=t.proj4(a.crs,"WGS84",a.rotation?{x:b.x*d+b.y*-h,y:b.x*h+b.y*d}:b);return{lat:a.y,lon:a.x}}};A.prototype.fromPointToLatLon=function(b){var a=this.mapTransforms,d;if(a){for(d in a)if(Object.hasOwnProperty.call(a,d)&&a[d].hitZone&&n({x:b.x,y:-b.y},a[d].hitZone.coordinates[0]))return this.transformToLatLon(b,
a[d]);return this.transformToLatLon(b,a["default"])}e(22,!1,this)};A.prototype.fromLatLonToPoint=function(b){var a=this.mapTransforms,d;if(!a)return e(22,!1,this),{x:0,y:null};for(d in a)if(Object.hasOwnProperty.call(a,d)&&a[d].hitZone){var h=this.transformFromLatLon(b,a[d]);if(n({x:h.x,y:-h.y},a[d].hitZone.coordinates[0]))return h}return this.transformFromLatLon(b,a["default"])};b.geojson=function(b,a,d){var e=[],k=[],n=function(a){var b,d=a.length;k.push("M");for(b=0;b<d;b++)1===b&&k.push("L"),
k.push(a[b][0],-a[b][1])};a=a||"map";b.features.forEach(function(b){var d=b.geometry,f=d.type;d=d.coordinates;b=b.properties;var c;k=[];"map"===a||"mapbubble"===a?("Polygon"===f?(d.forEach(n),k.push("Z")):"MultiPolygon"===f&&(d.forEach(function(a){a.forEach(n)}),k.push("Z")),k.length&&(c={path:k})):"mapline"===a?("LineString"===f?n(d):"MultiLineString"===f&&d.forEach(n),k.length&&(c={path:k})):"mappoint"===a&&"Point"===f&&(c={x:d[0],y:-d[1]});c&&e.push(m(c,{name:b.name||b.NAME,properties:b}))});d&&
b.copyrightShort&&(d.chart.mapCredits=h(d.chart.options.credits.mapText,{geojson:b}),d.chart.mapCreditsFull=h(d.chart.options.credits.mapTextFull,{geojson:b}));return e};d(A.prototype,"addCredits",function(b,a){a=x(!0,this.options.credits,a);this.mapCredits&&(a.href=null);b.call(this,a);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})});x(d,"parts-map/Map.js",[d["parts/Globals.js"],d["parts/Utilities.js"]],function(b,d){function n(a,b,d,e,h,m,n,f){return["M",a+h,
b,"L",a+d-m,b,"C",a+d-m/2,b,a+d,b+m/2,a+d,b+m,"L",a+d,b+e-n,"C",a+d,b+e-n/2,a+d-n/2,b+e,a+d-n,b+e,"L",a+f,b+e,"C",a+f/2,b+e,a,b+e-f/2,a,b+e-f,"L",a,b+h,"C",a,b+h/2,a+h/2,b,a+h,b,"Z"]}var e=d.extend,m=d.merge,h=d.pick,x=b.Chart;d=b.defaultOptions;var A=b.Renderer,t=b.SVGRenderer,q=b.VMLRenderer;e(d.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});d.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},
theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};b.splitPath=function(a){var b;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(b=0;b<a.length;b++)/[a-zA-Z]/.test(a[b])||(a[b]=parseFloat(a[b]));return a};b.maps={};t.prototype.symbols.topbutton=function(a,b,d,e,h){return n(a-1,b-1,d,e,h.r,h.r,0,0)};
t.prototype.symbols.bottombutton=function(a,b,d,e,h){return n(a-1,b-1,d,e,0,0,h.r,h.r)};A===q&&["topbutton","bottombutton"].forEach(function(a){q.prototype.symbols[a]=t.prototype.symbols[a]});b.Map=b.mapChart=function(a,d,e){var k="string"===typeof a||a.nodeName,l=arguments[k?1:0],n=l,q={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},f=b.getOptions().credits;var c=l.series;l.series=null;l=m({chart:{panning:"xy",type:"map"},credits:{mapText:h(f.mapText,' \u00a9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),
mapTextFull:h(f.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:q,yAxis:m(q,{reversed:!0})},l,{chart:{inverted:!1,alignTicks:!1}});l.series=n.series=c;return k?new x(a,l,e):new x(l,d)}});x(d,"masters/modules/map.src.js",[],function(){})});
//# sourceMappingURL=map.js.map