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