/*
 Highmaps JS v5.0.6 (2016-12-07)
 Highmaps as a plugin for Highcharts 4.1.x or Highstock 2.1.x (x being the patch version of this file)

 (c) 2011-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(q){"object"===typeof module&&module.exports?module.exports=q:q(Highcharts)})(function(q){(function(a){var f=a.Axis,p=a.each,g=a.pick;a=a.wrap;a(f.prototype,"getSeriesExtremes",function(a){var d=this.isXAxis,u,f,t=[],c;d&&p(this.series,function(b,a){b.useMapGeometry&&(t[a]=b.xData,b.xData=[])});a.call(this);d&&(u=g(this.dataMin,Number.MAX_VALUE),f=g(this.dataMax,-Number.MAX_VALUE),p(this.series,function(b,a){b.useMapGeometry&&(u=Math.min(u,g(b.minX,u)),f=Math.max(f,g(b.maxX,u)),b.xData=t[a],
c=!0)}),c&&(this.dataMin=u,this.dataMax=f))});a(f.prototype,"setAxisTranslation",function(a){var m=this.chart,d=m.plotWidth/m.plotHeight,m=m.xAxis[0],g;a.call(this);"yAxis"===this.coll&&void 0!==m.transA&&p(this.series,function(a){a.preserveAspectRatio&&(g=!0)});if(g&&(this.transA=m.transA=Math.min(this.transA,m.transA),a=d/((m.max-m.min)/(this.max-this.min)),a=1>a?this:m,d=(a.max-a.min)*a.transA,a.pixelPadding=a.len-d,a.minPixelPadding=a.pixelPadding/2,d=a.fixTo)){d=d[1]-a.toValue(d[0],!0);d*=a.transA;
if(Math.abs(d)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)d=0;a.minPixelPadding-=d}});a(f.prototype,"render",function(a){a.call(this);this.fixTo=null})})(q);(function(a){var f=a.Axis,p=a.Chart,g=a.color,d,m=a.each,u=a.extend,x=a.isNumber,t=a.Legend,c=a.LegendSymbolMixin,b=a.noop,k=a.merge,l=a.pick,r=a.wrap;d=a.ColorAxis=function(){this.init.apply(this,arguments)};u(d.prototype,f.prototype);u(d.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"},minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItem","legendSymbol"].concat(f.prototype.keepProps),init:function(a,e){var b="vertical"!==a.options.legend.layout,n;this.coll="colorAxis";n=k(this.defaultColorAxisOptions,{side:b?2:1,reversed:!b},e,{opposite:!b,showEmpty:!1,title:null});f.prototype.init.call(this,a,n);e.dataClasses&&
this.initDataClasses(e);this.initStops(e);this.horiz=b;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a,b,c){var e;b.rgba.length&&a.rgba.length?(a=a.rgba,b=b.rgba,e=1!==b[3]||1!==a[3],a=(e?"rgba(":"rgb(")+Math.round(b[0]+(a[0]-b[0])*(1-c))+","+Math.round(b[1]+(a[1]-b[1])*(1-c))+","+Math.round(b[2]+(a[2]-b[2])*(1-c))+(e?","+(b[3]+(a[3]-b[3])*(1-c)):"")+")"):a=b.input||"none";return a},initDataClasses:function(a){var b=this,n=this.chart,c,h=0,l=n.options.chart.colorCount,d=this.options,
r=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];m(a.dataClasses,function(a,e){a=k(a);c.push(a);a.color||("category"===d.dataClassColor?(e=n.options.colors,l=e.length,a.color=e[h],a.colorIndex=h,h++,h===l&&(h=0)):a.color=b.tweenColors(g(d.minColor),g(d.maxColor),2>r?.5:e/(r-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];m(this.stops,function(a){a.color=g(a[1])})},setOptions:function(a){f.prototype.setOptions.call(this,a);this.options.crosshair=
this.options.marker},setAxisSize:function(){var a=this.legendSymbol,b=this.chart,c=b.options.legend||{},k,h;a?(this.left=c=a.attr("x"),this.top=k=a.attr("y"),this.width=h=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-c-h,this.bottom=b.chartHeight-k-a,this.len=this.horiz?h:a,this.pos=this.horiz?c:k):this.len=(this.horiz?c.symbolWidth:c.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var e=this.stops,c,h,k=this.dataClasses,n,l;if(k)for(l=k.length;l--;){if(n=k[l],
c=n.from,e=n.to,(void 0===c||a>=c)&&(void 0===e||a<=e)){h=n.color;b&&(b.dataClass=l,b.colorIndex=n.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(l=e.length;l--&&!(a>e[l][0]););c=e[l]||e[l+1];e=e[l+1]||c;a=1-(e[0]-a)/(e[0]-c[0]||1);h=this.tweenColors(c.color,e.color,a)}return h},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,f.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=
0,this.labelRight=this.width),this.chart.axisOffset[this.side]=b)},setLegendColor:function(){var a,b=this.options,c=this.reversed;a=c?1:0;c=c?0:1;a=this.horiz?[a,0,c,0]:[0,c,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var c=a.padding,e=a.options,h=this.horiz,k=l(e.symbolWidth,h?this.defaultLegendLength:12),n=l(e.symbolHeight,h?12:this.defaultLegendLength),d=l(e.labelPadding,h?16:30),e=l(e.itemDistance,
10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,k,n).attr({zIndex:1}).add(b.legendGroup);this.legendItemWidth=k+c+(h?e:d);this.legendItemHeight=n+c+(h?d:0)},setState:b,visible:!0,setVisible:b,getSeriesExtremes:function(){var a;this.series.length&&(a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax)},drawCrosshair:function(a,b){var c=b&&b.plotX,e=b&&b.plotY,h,k=this.pos,l=this.len;b&&(h=this.toPixels(b[b.series.colorKey]),h<k?h=k-2:h>k+l&&(h=k+l+2),b.plotX=
h,b.plotY=this.len-h,f.prototype.drawCrosshair.call(this,a,b),b.plotX=c,b.plotY=e,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,c,k,h){return x(h)?this.horiz?["M",h-4,this.top-6,"L",h+4,this.top-6,h,this.top,"Z"]:["M",this.left,h,"L",this.left-6,h+6,this.left-6,h-6,"Z"]:f.prototype.getPlotLinePath.call(this,a,b,c,k)},update:function(a,b){var c=this.chart,e=c.legend;m(this.series,function(a){a.isDirtyData=
!0});a.dataClasses&&e.allItems&&(m(e.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),c.isDirtyLegend=!0);c.options[this.coll]=k(this.userOptions,a);f.prototype.update.call(this,a,b);this.legendItem&&(this.setLegendColor(),e.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var k=this,e=this.chart,l=this.legendItems,d=e.options.legend,h=d.valueDecimals,r=d.valueSuffix||"",g;l.length||m(this.dataClasses,function(d,n){var v=!0,w=d.from,f=d.to;g="";void 0===w?g="\x3c ":void 0===
f&&(g="\x3e ");void 0!==w&&(g+=a.numberFormat(w,h)+r);void 0!==w&&void 0!==f&&(g+=" - ");void 0!==f&&(g+=a.numberFormat(f,h)+r);l.push(u({chart:e,name:g,options:{},drawLegendSymbol:c.drawRectangle,visible:!0,setState:b,isDataClass:!0,setVisible:function(){v=this.visible=!v;m(k.series,function(a){m(a.points,function(a){a.dataClass===n&&a.setVisible(v)})});e.legend.colorizeItem(this,v)}},d))});return l},name:""});m(["fill","stroke"],function(b){a.Fx.prototype[b+"Setter"]=function(){this.elem.attr(b,
d.prototype.tweenColors(g(this.start),g(this.end),this.pos),null,!0)}});r(p.prototype,"getAxes",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&&new d(this,b)});r(t.prototype,"getAllItems",function(a){var b=[],c=this.chart.colorAxis[0];c&&c.options&&(c.options.showInLegend&&(c.options.dataClasses?b=b.concat(c.getDataClassLegendSymbols()):b.push(c)),m(c.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});r(t.prototype,"colorizeItem",function(a,
b,c){a.call(this,b,c);c&&b.legendColor&&b.legendSymbol.attr({fill:b.legendColor})})})(q);(function(a){var f=a.defined,p=a.each,g=a.noop,d=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var d=this,m=a?"show":"hide";p(["graphic","dataLabel"],function(a){if(d[a])d[a][m]()})},setState:function(d){a.Point.prototype.setState.call(this,d);this.graphic&&this.graphic.attr({zIndex:"hover"===d?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis",
"yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:g,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:d.column.prototype.pointAttribs,translateColors:function(){var a=this,d=this.options.nullColor,g=this.colorAxis,f=this.colorKey;p(this.data,function(c){var b=c[f];if(b=c.options.color||(c.isNull?d:g&&void 0!==b?g.toColor(b,c):c.color||a.color))c.color=b})},colorAttribs:function(a){var d={};f(a.color)&&(d[this.colorProp||"fill"]=
a.color);return d}}})(q);(function(a){function f(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}var p=a.addEvent,g=a.Chart,d=a.doc,m=a.each,u=a.extend,x=a.merge,t=a.pick;a=a.wrap;u(g.prototype,{renderMapNavigation:function(){var a=this,b=this.options.mapNavigation,k=b.buttons,l,d,n,e,m,g=function(b){this.handler.call(a,b);f(b)};if(t(b.enableButtons,b.enabled)&&!a.renderer.forExport)for(l in a.mapNavButtons=[],k)k.hasOwnProperty(l)&&(n=x(b.buttonOptions,
k[l]),d=n.theme,d.style=x(n.theme.style,n.style),m=(e=d.states)&&e.hover,e=e&&e.select,d=a.renderer.button(n.text,0,0,g,d,m,e,0,"zoomIn"===l?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:n.width,height:n.height,title:a.options.lang[l],padding:n.padding,zIndex:5}).add(),d.handler=n.onclick,d.align(u(n,{width:d.width,height:2*d.height}),null,n.alignTo),p(d.element,"dblclick",f),a.mapNavButtons.push(d))},fitToBox:function(a,b){m([["x","width"],["y","height"]],function(c){var d=
c[0];c=c[1];a[d]+a[c]>b[d]+b[c]&&(a[c]>b[c]?(a[c]=b[c],a[d]=b[d]):a[d]=b[d]+b[c]-a[c]);a[c]>b[c]&&(a[c]=b[c]);a[d]<b[d]&&(a[d]=b[d])});return a},mapZoom:function(a,b,d,l,m){var c=this.xAxis[0],e=c.max-c.min,k=t(b,c.min+e/2),g=e*a,e=this.yAxis[0],h=e.max-e.min,w=t(d,e.min+h/2),h=h*a,k=this.fitToBox({x:k-g*(l?(l-c.pos)/c.len:.5),y:w-h*(m?(m-e.pos)/e.len:.5),width:g,height:h},{x:c.dataMin,y:e.dataMin,width:c.dataMax-c.dataMin,height:e.dataMax-e.dataMin}),g=k.x<=c.dataMin&&k.width>=c.dataMax-c.dataMin&&
k.y<=e.dataMin&&k.height>=e.dataMax-e.dataMin;l&&(c.fixTo=[l-c.pos,b]);m&&(e.fixTo=[m-e.pos,d]);void 0===a||g?(c.setExtremes(void 0,void 0,!1),e.setExtremes(void 0,void 0,!1)):(c.setExtremes(k.x,k.x+k.width,!1),e.setExtremes(k.y,k.y+k.height,!1));this.redraw()}});a(g.prototype,"render",function(a){var b=this,c=b.options.mapNavigation;b.renderMapNavigation();a.call(b);(t(c.enableDoubleClickZoom,c.enabled)||c.enableDoubleClickZoomTo)&&p(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)});
t(c.enableMouseWheelZoom,c.enabled)&&p(b.container,void 0===d.onmousewheel?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a);f(a);return!1})})})(q);(function(a){var f=a.extend,p=a.pick,g=a.Pointer;a=a.wrap;f(g.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,g;a=this.normalize(a);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)}});a(g.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;p(d.enableTouchZoom,d.enabled)&&
(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments,1))});a(g.prototype,"pinchTranslate",function(a,g,f,p,t,c,b){a.call(this,g,f,p,t,c,b);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=p.scaleX>p.scaleY,this.pinchTranslateDirection(!a,g,f,p,t,c,b,a?p.scaleX:p.scaleY))})})(q);(function(a){var f=a.color,p=a.ColorAxis,g=a.colorPointMixin,d=a.each,m=a.extend,u=a.isNumber,x=a.map,t=a.merge,c=a.noop,b=a.pick,k=a.isArray,l=a.Point,r=a.Series,n=a.seriesType,e=a.seriesTypes,
v=a.splat,A=void 0!==a.doc.documentElement.style.vectorEffect;n("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},
t(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:c,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(c){var h=Number.MAX_VALUE,k=-h,e=h,l=-h,g=h,n=h,r=this.xAxis,f=this.yAxis,m;d(c||[],function(c){if(c.path){"string"===typeof c.path&&(c.path=a.splitPath(c.path));var d=c.path||[],r=d.length,f=!1,w=-h,p=h,v=-h,y=h,B=c.properties;if(!c._foundBox){for(;r--;)u(d[r])&&(f?(w=Math.max(w,d[r]),p=Math.min(p,d[r])):
(v=Math.max(v,d[r]),y=Math.min(y,d[r])),f=!f);c._midX=p+(w-p)*(c.middleX||B&&B["hc-middle-x"]||.5);c._midY=y+(v-y)*(c.middleY||B&&B["hc-middle-y"]||.5);c._maxX=w;c._minX=p;c._maxY=v;c._minY=y;c.labelrank=b(c.labelrank,(w-p)*(v-y));c._foundBox=!0}k=Math.max(k,c._maxX);e=Math.min(e,c._minX);l=Math.max(l,c._maxY);g=Math.min(g,c._minY);n=Math.min(c._maxX-c._minX,c._maxY-c._minY,n);m=!0}});m&&(this.minY=Math.min(g,b(this.minY,h)),this.maxY=Math.max(l,b(this.maxY,-h)),this.minX=Math.min(e,b(this.minX,h)),
this.maxX=Math.max(k,b(this.maxX,-h)),r&&void 0===r.options.minRange&&(r.minRange=Math.min(5*n,(this.maxX-this.minX)/5,r.minRange||h)),f&&void 0===f.options.minRange&&(f.minRange=Math.min(5*n,(this.maxY-this.minY)/5,f.minRange||h)))},getExtremes:function(){r.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(a){var b=
!1,c=this.xAxis,h=this.yAxis,d=c.min,k=c.transA,c=c.minPixelPadding,e=h.min,l=h.transA,h=h.minPixelPadding,g,n=[];if(a)for(g=a.length;g--;)u(a[g])?(n[g]=b?(a[g]-d)*k+c:(a[g]-e)*l+h,b=!b):n[g]=a[g];return n},setData:function(b,c,e,l){var h=this.options,g=this.chart.options.chart,n=g&&g.map,f=h.mapData,m=h.joinBy,p=null===m,w=h.keys||this.pointArrayMap,y=[],A={},z,q=this.chart.mapTransforms;!f&&n&&(f="string"===typeof n?a.maps[n]:n);p&&(m="_i");m=this.joinBy=v(m);m[1]||(m[1]=m[0]);b&&d(b,function(a,
c){var d=0;if(u(a))b[c]={value:a};else if(k(a)){b[c]={};!h.keys&&a.length>w.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++d);for(var e=0;e<w.length;++e,++d)w[e]&&(b[c][w[e]]=a[d])}p&&(b[c]._i=c)});this.getBox(b);if(this.chart.mapTransforms=q=g&&g.mapTransforms||f&&f["hc-transform"]||q)for(z in q)q.hasOwnProperty(z)&&z.rotation&&(z.cosAngle=Math.cos(z.rotation),z.sinAngle=Math.sin(z.rotation));if(f){"FeatureCollection"===f.type&&(this.mapTitle=f.title,f=a.geojson(f,this.type,this));this.mapData=
f;this.mapMap={};for(z=0;z<f.length;z++)g=f[z],n=g.properties,g._i=z,m[0]&&n&&n[m[0]]&&(g[m[0]]=n[m[0]]),A[g[m[0]]]=g;this.mapMap=A;b&&m[1]&&d(b,function(a){A[a[m[1]]]&&y.push(A[a[m[1]]])});h.allAreas?(this.getBox(f),b=b||[],m[1]&&d(b,function(a){y.push(a[m[1]])}),y="|"+x(y,function(a){return a&&a[m[0]]}).join("|")+"|",d(f,function(a){m[0]&&-1!==y.indexOf("|"+a[m[0]]+"|")||(b.push(t(a,{value:null})),l=!1)})):this.getBox(y)}r.prototype.setData.call(this,b,c,e,l)},drawGraph:c,drawDataLabels:c,doFullTranslate:function(){return this.isDirtyData||
this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,e=a.doFullTranslate();a.generatePoints();d(a.data,function(h){h.plotX=b.toPixels(h._midX,!0);h.plotY=c.toPixels(h._midY,!0);e&&(h.shapeType="path",h.shapeArgs={d:a.translatePath(h.path)})});a.translateColors()},pointAttribs:function(a,b){b=e.column.prototype.pointAttribs.call(this,a,b);a.isFading&&delete b.fill;A?b["vector-effect"]="non-scaling-stroke":b["stroke-width"]="inherit";
return b},drawPoints:function(){var a=this,b=a.xAxis,c=a.yAxis,k=a.group,l=a.chart,g=l.renderer,n,f,m,r,p=this.baseTrans,v,u,t,q,x;a.transformGroup||(a.transformGroup=g.g().attr({scaleX:1,scaleY:1}).add(k),a.transformGroup.survive=!0);a.doFullTranslate()?(l.hasRendered&&d(a.points,function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,e.column.prototype.drawPoints.apply(a),a.group=k,d(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+
a.name.replace(/ /g,"-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(n=b.transA/p.transAX,f=c.transA/p.transAY,m=b.toPixels(p.originX,!0),r=c.toPixels(p.originY,!0),.99<n&&1.01>
n&&.99<f&&1.01>f&&(f=n=1,m=Math.round(m),r=Math.round(r)),v=this.transformGroup,l.renderer.globalAnimation?(u=v.attr("translateX"),t=v.attr("translateY"),q=v.attr("scaleX"),x=v.attr("scaleY"),v.attr({animator:0}).animate({animator:1},{step:function(a,b){v.attr({translateX:u+(m-u)*b.pos,translateY:t+(r-t)*b.pos,scaleX:q+(n-q)*b.pos,scaleY:x+(f-x)*b.pos})}})):v.attr({translateX:m,translateY:r,scaleX:n,scaleY:f}));A||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||
"borderWidth"]/(n||1));this.drawMapDataLabels()},drawMapDataLabels:function(){r.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=r.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,h=this.yAxis,e=d.pos,k=h.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:e+
d.len/2,translateY:k+h.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:e,translateY:k,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],e=c.bBox,k=this.chart.options.drilldown.animation;a||(a=Math.min(e.width/b.width,e.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:e.x,translateY:e.y},d(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,
scaleY:1,translateX:0,translateY:0},k)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){e.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){e.column.prototype.animateDrillupTo.call(this,a)}}),m({applyOptions:function(a,b){a=l.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),m(a,c)):a.value=a.value||null);
return a},onMouseOver:function(a){clearTimeout(this.colorInterval);if(null!==this.value)l.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},onMouseOut:function(){var a=this,b=+new Date,c=f(this.series.pointAttribs(a).fill),d=f(this.series.pointAttribs(a,"hover").fill),e=a.series.options.states.normal.animation,k=e&&(e.duration||500);k&&4===c.rgba.length&&4===d.rgba.length&&"select"!==a.state&&(clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var e=(new Date-b)/
k,l=a.graphic;1<e&&(e=1);l&&l.attr("fill",p.prototype.tweenColors.call(0,d,c,e));1<=e&&clearTimeout(a.colorInterval)},13),a.isFading=!0);l.prototype.onMouseOut.call(a);a.isFading=null},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},g))})(q);(function(a){var f=a.seriesType,p=a.seriesTypes;f("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color",
"stroke-width":"lineWidth"},pointAttribs:function(a,d){a=p.map.prototype.pointAttribs.call(this,a,d);a.fill=this.options.fillColor;return a},drawLegendSymbol:p.line.prototype.drawLegendSymbol})})(q);(function(a){var f=a.merge,p=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,d){a=void 0!==a.lat&&void 0!==a.lon?f(a,this.series.chart.fromLatLonToPoint(a)):
a;return p.prototype.applyOptions.call(this,a,d)}})})(q);(function(a){var f=a.merge,p=a.Point,g=a.seriesType,d=a.seriesTypes;d.bubble&&g("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:d.map.prototype.getMapData,getBox:d.map.prototype.getBox,setData:d.map.prototype.setData},{applyOptions:function(a,g){return a&&void 0!==a.lat&&void 0!==a.lon?p.prototype.applyOptions.call(this,f(a,this.series.chart.fromLatLonToPoint(a)),
g):d.map.prototype.pointClass.prototype.applyOptions.call(this,a,g)},ttBelow:!1})})(q);(function(a){var f=a.colorPointMixin,p=a.each,g=a.merge,d=a.noop,m=a.pick,u=a.Series,q=a.seriesType,t=a.seriesTypes;q("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}\x3cbr/\x3e"},states:{normal:{animation:!0},
hover:{halo:!1,brightness:.2}}},g(a.colorSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;t.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=m(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,b=this.xAxis,d=this.yAxis,l=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();p(this.points,function(c){var k=
(a.colsize||1)/2,e=(a.rowsize||1)/2,g=l(Math.round(b.len-b.translate(c.x-k,0,1,0,1)),-b.len,2*b.len),k=l(Math.round(b.len-b.translate(c.x+k,0,1,0,1)),-b.len,2*b.len),f=l(Math.round(d.translate(c.y-e,0,1,0,1)),-d.len,2*d.len),e=l(Math.round(d.translate(c.y+e,0,1,0,1)),-d.len,2*d.len);c.plotX=c.clientX=(g+k)/2;c.plotY=(f+e)/2;c.shapeType="rect";c.shapeArgs={x:Math.min(g,k),y:Math.min(f,e),width:Math.abs(k-g),height:Math.abs(e-f)}});this.translateColors()},drawPoints:function(){t.column.prototype.drawPoints.call(this);
p(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},this)},animate:d,getBox:d,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:t.column.prototype.alignDataLabel,getExtremes:function(){u.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;u.prototype.getExtremes.call(this)}}),f)})(q);(function(a){function f(a,b){var c,d,g,f=!1,e=a.x,m=a.y;a=0;for(c=b.length-1;a<b.length;c=a++)d=b[a][1]>m,g=b[c][1]>m,d!==g&&e<(b[c][0]-b[a][0])*
(m-b[a][1])/(b[c][1]-b[a][1])+b[a][0]&&(f=!f);return f}var p=a.Chart,g=a.each,d=a.extend,m=a.format,u=a.merge,q=a.win,t=a.wrap;p.prototype.transformFromLatLon=function(c,b){if(void 0===q.proj4)return a.error(21),{x:0,y:null};c=q.proj4(b.crs,[c.lon,c.lat]);var d=b.cosAngle||b.rotation&&Math.cos(b.rotation),l=b.sinAngle||b.rotation&&Math.sin(b.rotation);c=b.rotation?[c[0]*d+c[1]*l,-c[0]*l+c[1]*d]:c;return{x:((c[0]-(b.xoffset||0))*(b.scale||1)+(b.xpan||0))*(b.jsonres||1)+(b.jsonmarginX||0),y:(((b.yoffset||
0)-c[1])*(b.scale||1)+(b.ypan||0))*(b.jsonres||1)-(b.jsonmarginY||0)}};p.prototype.transformToLatLon=function(c,b){if(void 0===q.proj4)a.error(21);else{c={x:((c.x-(b.jsonmarginX||0))/(b.jsonres||1)-(b.xpan||0))/(b.scale||1)+(b.xoffset||0),y:((-c.y-(b.jsonmarginY||0))/(b.jsonres||1)+(b.ypan||0))/(b.scale||1)+(b.yoffset||0)};var d=b.cosAngle||b.rotation&&Math.cos(b.rotation),l=b.sinAngle||b.rotation&&Math.sin(b.rotation);b=q.proj4(b.crs,"WGS84",b.rotation?{x:c.x*d+c.y*-l,y:c.x*l+c.y*d}:c);return{lat:b.y,
lon:b.x}}};p.prototype.fromPointToLatLon=function(c){var b=this.mapTransforms,d;if(b){for(d in b)if(b.hasOwnProperty(d)&&b[d].hitZone&&f({x:c.x,y:-c.y},b[d].hitZone.coordinates[0]))return this.transformToLatLon(c,b[d]);return this.transformToLatLon(c,b["default"])}a.error(22)};p.prototype.fromLatLonToPoint=function(c){var b=this.mapTransforms,d,l;if(!b)return a.error(22),{x:0,y:null};for(d in b)if(b.hasOwnProperty(d)&&b[d].hitZone&&(l=this.transformFromLatLon(c,b[d]),f({x:l.x,y:-l.y},b[d].hitZone.coordinates[0])))return l;
return this.transformFromLatLon(c,b["default"])};a.geojson=function(a,b,k){var c=[],f=[],n=function(a){var b,c=a.length;f.push("M");for(b=0;b<c;b++)1===b&&f.push("L"),f.push(a[b][0],-a[b][1])};b=b||"map";g(a.features,function(a){var e=a.geometry,k=e.type,e=e.coordinates;a=a.properties;var l;f=[];"map"===b||"mapbubble"===b?("Polygon"===k?(g(e,n),f.push("Z")):"MultiPolygon"===k&&(g(e,function(a){g(a,n)}),f.push("Z")),f.length&&(l={path:f})):"mapline"===b?("LineString"===k?n(e):"MultiLineString"===k&&
g(e,n),f.length&&(l={path:f})):"mappoint"===b&&"Point"===k&&(l={x:e[0],y:-e[1]});l&&c.push(d(l,{name:a.name||a.NAME,properties:a}))});k&&a.copyrightShort&&(k.chart.mapCredits=m(k.chart.options.credits.mapText,{geojson:a}),k.chart.mapCreditsFull=m(k.chart.options.credits.mapTextFull,{geojson:a}));return c};t(p.prototype,"addCredits",function(a,b){b=u(!0,this.options.credits,b);this.mapCredits&&(b.href=null);a.call(this,b);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(q);
(function(a){function f(a,b,c,d,e,f,g,h){return["M",a+e,b,"L",a+c-f,b,"C",a+c-f/2,b,a+c,b+f/2,a+c,b+f,"L",a+c,b+d-g,"C",a+c,b+d-g/2,a+c-g/2,b+d,a+c-g,b+d,"L",a+h,b+d,"C",a+h/2,b+d,a,b+d-h/2,a,b+d-h,"L",a,b+e,"C",a,b+e/2,a+e/2,b,a+e,b,"Z"]}var p=a.Chart,g=a.defaultOptions,d=a.each,m=a.extend,q=a.merge,x=a.pick,t=a.Renderer,c=a.SVGRenderer,b=a.VMLRenderer;m(g.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});g.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 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};a.maps={};c.prototype.symbols.topbutton=
function(a,b,c,d,e){return f(a-1,b-1,c,d,e.r,e.r,0,0)};c.prototype.symbols.bottombutton=function(a,b,c,d,e){return f(a-1,b-1,c,d,0,0,e.r,e.r)};t===b&&d(["topbutton","bottombutton"],function(a){b.prototype.symbols[a]=c.prototype.symbols[a]});a.Map=a.mapChart=function(b,c,d){var f="string"===typeof b||b.nodeName,e=arguments[f?1:0],g={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},k,h=a.getOptions().credits;k=e.series;e.series=null;e=q({chart:{panning:"xy",type:"map"},credits:{mapText:x(h.mapText,
' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),mapTextFull:x(h.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:g,yAxis:q(g,{reversed:!0})},e,{chart:{inverted:!1,alignTicks:!1}});e.series=k;return f?new p(b,e,d):new p(e,c)}})(q)});
