From aef969d046b460651c4fa076d515488119dd7db5 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 9 Dec 2022 12:08:53 -0700 Subject: [PATCH 01/18] --subproyecto iva no deducible --- Bancos/PopIECompras.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index c8bc70e44..a73674da4 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -2234,7 +2234,7 @@ Partial Class Bancos_PopIECompras End If If MovimientoPagar.IVANoDeducible > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto, CveSubProyecto:=CveSubProyecto) Then MsgError = "No se pudo insertar la póliza" Else ImporteMovimiento = 0 From bc1a16872312fa600915aa85f9c1e144428556be Mon Sep 17 00:00:00 2001 From: MLopez Date: Mon, 12 Dec 2022 18:31:06 -0700 Subject: [PATCH 02/18] =?UTF-8?q?E172=20Rep=20Indicadores=20-=20Distinguir?= =?UTF-8?q?=20CxP=20entre=20productor=20y=20no=20productor=20-Reacomodar?= =?UTF-8?q?=20orden=20de=20las=20gr=C3=A1ficas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- General/RepIndicadorResumen.aspx | 132 ++++++------- General/RepIndicadorResumen.aspx.vb | 281 +++++++++++++--------------- 2 files changed, 196 insertions(+), 217 deletions(-) diff --git a/General/RepIndicadorResumen.aspx b/General/RepIndicadorResumen.aspx index 54da8233f..bec0e8afd 100644 --- a/General/RepIndicadorResumen.aspx +++ b/General/RepIndicadorResumen.aspx @@ -220,6 +220,61 @@ +
+
+ + +
+
+ + Compras no productores +
+
+
+
+
+
+ +
+
+
+ + + + + + +
+
+
+
+ +
+ + +
+
+ + Compras no productores - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
@@ -269,7 +324,7 @@
-
+
@@ -278,7 +333,7 @@
- +
@@ -294,7 +349,7 @@
- @@ -308,7 +363,7 @@
- +
@@ -324,62 +379,7 @@
-
-
-
-
-
-
- -
-
- - -
-
- - Cuentas por pagar por Proveedor -
-
-
-
-
-
- -
-
-
- - - - - - -
-
-
-
- -
- - -
-
- - Cuentas por pagar por Proveedor - Gráfica -
-
-
-
-
-
- -
-
-
-
+
@@ -416,7 +416,7 @@ } }); - function CargaGraficasBarras(json) { + function CargaGraficas(json) { const chartconfig = { chart: { @@ -493,15 +493,15 @@ //AmCharts.makeChart("chartdiv_vxp", { ...chartconfig, type: "serial", dataProvider: json["VxP"] }); // Ventas x Producto $('#' + "chartdiv_vxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["VxP"]) }] }) - $('#' + "chartdiv_cxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxP"]) }] }) $('#' + "chartdiv_cxp192").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], type: 'pie', data: customAccessor(json["CxP192"]) }] }) - $('#' + "chartdiv_ccxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CCxC"]) }] }) - $('#' + "chartdiv_cpxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CPxP"]) }] }) + $('#' + "chartdiv_cxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxP"]) }] }) + $('#' + "chartdiv_cxpa").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxPA"]) }] }) + $('#' + "chartdiv_cxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxC"]) }] }) //AmCharts.makeChart("chartdiv_cxp192", { ...chartconfig, dataProvider: json["CxP192"] }); // Compras x Producto ProveedorClasificacion 192 - //AmCharts.makeChart("chartdiv_ccxc", { ...chartconfig, dataProvider: json["CCxC"] }); // Cuentas por Cobrar x Cliente - //AmCharts.makeChart("chartdiv_cpxp", { ...chartconfig, dataProvider: json["CPxP"] }); // Cuentas por Pagar x Proveedor + //AmCharts.makeChart("chartdiv_cxc", { ...chartconfig, dataProvider: json["CxC"] }); // Cuentas por Cobrar x Cliente + //AmCharts.makeChart("chartdiv_cxp", { ...chartconfig, dataProvider: json["CxP"] }); // Cuentas por Pagar x Proveedor //AmCharts.makeChart("chartdiv_indicadores", { ...chartconfig, dataProvider: json["Indicadores"] }); // Indicadores por Proveedor Productor function customAccessor(data) { diff --git a/General/RepIndicadorResumen.aspx.vb b/General/RepIndicadorResumen.aspx.vb index c9d29639c..5e2c0a4ce 100644 --- a/General/RepIndicadorResumen.aspx.vb +++ b/General/RepIndicadorResumen.aspx.vb @@ -86,20 +86,25 @@ Partial Class General_RepIndicadorResumen If ObjMovtos.GetCxC(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1, "-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then ObjMovtos.DtResultados.DefaultView.Sort = "CveMoneda,Saldo DESC" - GvCCxC.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable + GvCxC.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable End If - If ObjMovtos.GetCxP(MinFecha, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, 5, -1, 1, - FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then - ObjMovtos.DtResultados.DefaultView.Sort = "CveMoneda,Saldo DESC" - GvCPxP.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable - End If + 'If ObjMovtos.GetCxP(MinFecha, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, 5, -1, 1, + ' FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + ' ObjMovtos.DtResultados.DefaultView.Sort = "CveMoneda,Saldo DESC" + ' GvCPxP.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable + 'End If If ObjCitrus.GetIndicadores(UsuarioActual.CveEmpresa, TxtFechaI.Text, TxtFechaF.Text, UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero) Then + 'CxP Productores ObjCitrus.DTSetResultados.Tables(0).DefaultView.Sort = "Cantidad DESC" GvCxP192.DataSource = ObjCitrus.DTSetResultados.Tables(0).DefaultView.ToTable - ObjCitrus.DTSetResultados.Tables(1).DefaultView.Sort = "Moneda,SubTotal DESC" - GvComprasAcreed.DataSource = ObjCitrus.DTSetResultados.Tables(1).DefaultView.ToTable + 'CxP NO productores + ObjCitrus.DTSetResultados.Tables(1).DefaultView.Sort = "Saldo DESC" + GvCxP.DataSource = ObjCitrus.DTSetResultados.Tables(1).DefaultView.ToTable + 'Gastos (Compras acreedores) + ObjCitrus.DTSetResultados.Tables(2).DefaultView.Sort = "Moneda,SubTotal DESC" + GvComprasAcreed.DataSource = ObjCitrus.DTSetResultados.Tables(2).DefaultView.ToTable End If ObjVentas.Dispose() @@ -108,13 +113,13 @@ Partial Class General_RepIndicadorResumen ObjCitrus.Dispose() GvVxP.DataBind() - GvCxP192.DataBind() + GvCxP192.DataBind() 'Compras Productores + GvCxP.DataBind() 'Compras NO productores GvComprasAcreed.DataBind() - GvCCxC.DataBind() - If GvCCxC.DataSource IsNot Nothing Then - GvCCxC.HeaderRow.Cells(1).Text = "Saldo" + GvCxC.DataBind() + If GvCxC.DataSource IsNot Nothing Then + GvCxC.HeaderRow.Cells(1).Text = "Saldo" End If - GvCPxP.DataBind() 'Mostrar gráficos solo si hay datos en su respectiva tabla If GvVxP.Rows.Count > 0 Then @@ -132,15 +137,15 @@ Partial Class General_RepIndicadorResumen Else UPGraficaCxP192.Visible = False End If - If GvCCxC.Rows.Count > 0 Then - UPGraficaCCxC.Visible = True + If GvCxC.Rows.Count > 0 Then + UPGraficaCxC.Visible = True Else - UPGraficaCCxC.Visible = False + UPGraficaCxC.Visible = False End If - If GvCPxP.Rows.Count > 0 Then - UPGraficaCPxP.Visible = True + If GvCxP.Rows.Count > 0 Then + UPGraficaCxP.Visible = True Else - UPGraficaCPxP.Visible = False + UPGraficaCxP.Visible = False End If 'If GvIndicadores.Rows.Count > 0 Then ' UPGraficaIndicadores.Visible = True @@ -149,7 +154,7 @@ Partial Class General_RepIndicadorResumen 'End If 'Si no había datos en ninguna tabla no cargar función de gráficos - If (GvVxP.Rows.Count = 0 AndAlso GvComprasAcreed.Rows.Count = 0 AndAlso GvCxP192.Rows.Count = 0 AndAlso GvCCxC.Rows.Count = 0 AndAlso GvCPxP.Rows.Count = 0) Then Exit Sub + If (GvVxP.Rows.Count = 0 AndAlso GvComprasAcreed.Rows.Count = 0 AndAlso GvCxP192.Rows.Count = 0 AndAlso GvCxC.Rows.Count = 0 AndAlso GvCxP.Rows.Count = 0) Then Exit Sub GraficasPastel() 'GraficasBarras() End Sub @@ -160,6 +165,24 @@ Partial Class General_RepIndicadorResumen End If End If End Sub + Protected Sub GvCxP192_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP192.RowDataBound + 'If e.Row.RowType = DataControlRowType.DataRow Then + ' 'e.Row.Cells(0).Text = e.Row.DBCampo("Orden") + ' 'If e.Row.DBCampo("Orden") = "00ND" Then + ' ' e.Row.CssClass = "Totales" + ' ' e.Row.Cells(0).Text = "Total " + e.Row.DBCampo("Abreviatura") + ' 'End If + 'End If + End Sub + Protected Sub GvCxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP.RowDataBound + 'If e.Row.RowType = DataControlRowType.DataRow Then + ' If e.Row.DBCampo("Orden") = "" Then + ' e.Row.CssClass = "Totales" + ' End If + ' 'TODO: Sería mejor usar la Abreviatura de la tabla, pero habría que extender PA_Comp_RepCxP para incluir la columna Abreviatura + ' ' e.Row.Cells(2).Text = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {e.Row.DBCampo("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + 'End If + End Sub Protected Sub GvComprasAcreed_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvComprasAcreed.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then 'e.Row.Cells(0).Text = e.Row.DBCampo("Orden") @@ -168,16 +191,7 @@ Partial Class General_RepIndicadorResumen End If End If End Sub - Protected Sub GvCxP192_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP192.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then - 'e.Row.Cells(0).Text = e.Row.DBCampo("Orden") - 'If e.Row.DBCampo("Orden") = "00ND" Then - ' e.Row.CssClass = "Totales" - ' e.Row.Cells(0).Text = "Total " + e.Row.DBCampo("Abreviatura") - 'End If - End If - End Sub - Protected Sub GvCCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCCxC.RowDataBound + Protected Sub GvCCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxC.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Orden") = "" Then e.Row.CssClass = "Totales" @@ -186,16 +200,6 @@ Partial Class General_RepIndicadorResumen ' e.Row.Cells(2).Text = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {e.Row.DBCampo("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" End If End Sub - Protected Sub GvCPxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCPxP.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.DBCampo("Orden") = "" Then - e.Row.CssClass = "Totales" - End If - 'TODO: Sería mejor usar la Abreviatura de la tabla, pero habría que extender PA_Comp_RepCxP para incluir la columna Abreviatura - ' e.Row.Cells(2).Text = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {e.Row.DBCampo("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - End If - End Sub - Private Sub CreaDataTableColor() DtColor = New DataTable DtColor.Columns.Add("Color") @@ -271,7 +275,7 @@ Partial Class General_RepIndicadorResumen Private Sub GraficasPastel() - Dim DtVxP, DtCxP, DtCxP192, DtCCxC, DtCPxP As New DataTable + Dim DtVxP, DtCxP192, DtCxP, DtCxPA, DtCxC As New DataTable Dim RowColorIndex As Integer = 0 'Ventas x Producto @@ -296,6 +300,13 @@ Partial Class General_RepIndicadorResumen End If End If Next + 'Dim vxp = From s In DtVxP.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + 'Dim group_vxp = vxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { + ' .Texto = Function(x) x.Texto.ToString, + ' .Valor = Math.Round(Function(x) x.Valor, 2), 'x Tasa de cambio + ' .Color = g.Min(Function(x) x.Color), + ' .Unidad = "MXN" + '}) Dim top_vxp = From s In DtVxP.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} Dim resto_vxp = From s In DtVxP.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} Dim group_resto_vxp = resto_vxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { @@ -309,39 +320,7 @@ Partial Class General_RepIndicadorResumen 'Dim group_resto_vxp = From e In resto_vxp Group e By e.Texto Into gpo = Group 'Dim group_resto_vxp = resto_vxp.GroupBy(Function(e) New With {Key e.Texto, Key e.Valor, Key e.Color, Key e.Unidad}).ToList() - 'Compras x Producto TipoProveedor=1 Acreedores (Gastos) - DtCxP.Reset() - DtCxP.Columns.Add("Texto") - DtCxP.Columns.Add("Valor") - DtCxP.Columns.Add("Color") - DtCxP.Columns.Add("Unidad") - RowColorIndex = 0 - For Each Dr As DataRow In GvComprasAcreed.DataSource.Rows - If Dr("CveClasificacion").ToString <> "" Then - Dim Row As DataRow = Nothing - Row = DtCxP.NewRow() - Row("Texto") = Dr("Clasificacion").ToString - Row("Valor") = Dr("SubTotal").ToString.FormatoNumero - Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - Row("Unidad") = Dr("Moneda").ToString - DtCxP.Rows.Add(Row) - RowColorIndex += 1 - If RowColorIndex = 17 Then - RowColorIndex = 0 - End If - End If - Next - Dim top_cxp = From s In DtCxP.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim resto_cxp = From s In DtCxP.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim group_resto_cxp = resto_cxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { - .Texto = "Otros", - .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), - .Color = "#000000", - .Unidad = "MXN" - }) - Dim query_cxp = top_cxp.Union(group_resto_cxp) - - 'Compras x Producto ProveedorClasificacion=192 + 'Compras ProveedorClasificacion=192 DtCxP192.Reset() DtCxP192.Columns.Add("Texto") DtCxP192.Columns.Add("Valor") @@ -371,108 +350,108 @@ Partial Class General_RepIndicadorResumen }) Dim query_cxp192 = top_cxp192.Union(group_resto_cxp192) - 'Alert(Newtonsoft.Json.JsonConvert.SerializeObject(CCxC.Rows)) + 'Compras NO proveedor + DtCxP.Reset() + DtCxP.Columns.Add("Texto") + DtCxP.Columns.Add("Valor") + DtCxP.Columns.Add("Color") + DtCxP.Columns.Add("Unidad") + RowColorIndex = 0 + For Each Dr As DataRow In GvCxP.DataSource.Rows + Dim Row As DataRow = Nothing + Row = DtCxP.NewRow() + Row("Texto") = Dr("RazonSocial").ToString + Row("Valor") = Dr("Saldo").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Unidad") = "MXN" + DtCxP.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + Next + Dim top_cxp = From s In DtCxP.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim resto_cxp = From s In DtCxP.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim group_resto_cxp = resto_cxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { + .Texto = "Otros", + .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), + .Color = "#000000", + .Unidad = "MXN" + }) + Dim query_cxp = top_cxp.Union(group_resto_cxp) + + 'Compras x Producto TipoProveedor=1 Acreedores (Gastos) + DtCxPA.Reset() + DtCxPA.Columns.Add("Texto") + DtCxPA.Columns.Add("Valor") + DtCxPA.Columns.Add("Color") + DtCxPA.Columns.Add("Unidad") + RowColorIndex = 0 + For Each Dr As DataRow In GvComprasAcreed.DataSource.Rows + If Dr("CveClasificacion").ToString <> "" Then + Dim Row As DataRow = Nothing + Row = DtCxPA.NewRow() + Row("Texto") = Dr("Clasificacion").ToString + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Unidad") = Dr("Moneda").ToString + DtCxPA.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim top_cxpa = From s In DtCxPA.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim resto_cxpa = From s In DtCxPA.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim group_resto_cxpa = resto_cxpa.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { + .Texto = "Otros", + .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), + .Color = "#000000", + .Unidad = "MXN" + }) + Dim query_cxpa = top_cxpa.Union(group_resto_cxpa) 'Cuentas por cobrar x Cliente - DtCCxC.Reset() - DtCCxC.Columns.Add("Texto") - DtCCxC.Columns.Add("Valor") - DtCCxC.Columns.Add("Color") - DtCCxC.Columns.Add("Unidad") + DtCxC.Reset() + DtCxC.Columns.Add("Texto") + DtCxC.Columns.Add("Valor") + DtCxC.Columns.Add("Color") + DtCxC.Columns.Add("Unidad") RowColorIndex = 0 - For Each Dr As DataRow In GvCCxC.DataSource.Rows + For Each Dr As DataRow In GvCxC.DataSource.Rows If Not Dr("Orden").ToString = "" Then Dim Row As DataRow = Nothing - Row = DtCCxC.NewRow() + Row = DtCxC.NewRow() Row("Texto") = Dr("GPO").ToString Row("Valor") = Dr("Saldo").ToString.FormatoNumero Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString Row("Unidad") = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - DtCCxC.Rows.Add(Row) + DtCxC.Rows.Add(Row) RowColorIndex += 1 If RowColorIndex = 17 Then RowColorIndex = 0 End If End If Next - Dim top_ccxc = From s In DtCCxC.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim resto_ccxc = From s In DtCCxC.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim group_resto_ccxc = resto_ccxc.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { + Dim top_cxc = From s In DtCxC.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim resto_cxc = From s In DtCxC.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim group_resto_cxc = resto_cxc.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { .Texto = "Otros", .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), .Color = "#000000", .Unidad = "MXN" }) - Dim query_ccxc = top_ccxc.Union(group_resto_ccxc) - - 'Cuentas por pagar x Proveedor - DtCPxP.Reset() - DtCPxP.Columns.Add("Texto") - DtCPxP.Columns.Add("Valor") - DtCPxP.Columns.Add("Color") - DtCPxP.Columns.Add("Unidad") - RowColorIndex = 0 - For Each Dr As DataRow In GvCPxP.DataSource.Rows - If Not Dr("Orden").ToString = "" Then - Dim Row As DataRow = Nothing - Row = DtCPxP.NewRow() - Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - Row("Valor") = Dr("Saldo").ToString.FormatoNumero - Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - Row("Unidad") = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - DtCPxP.Rows.Add(Row) - RowColorIndex += 1 - If RowColorIndex = 17 Then - RowColorIndex = 0 - End If - End If - Next - Dim top_cpxp = From s In DtCPxP.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim resto_cpxp = From s In DtCPxP.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} - Dim group_resto_cpxp = resto_cpxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { - .Texto = "Otros", - .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), - .Color = "#000000", - .Unidad = "MXN" - }) - Dim query_cpxp = top_cpxp.Union(group_resto_cpxp) + Dim query_cxc = top_cxc.Union(group_resto_cxc) + 'Alert(Newtonsoft.Json.JsonConvert.SerializeObject(CxC.Rows)) 'TODO: Indicadores x Proveedor -- Determinar qué poner en la gráfica con E172 'Serializar datos agrupándolos por su respectivo DataTable, todos en un solo JSON - Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxP = query_cxp, .CxP192 = query_cxp192, .CCxC = query_ccxc, .CPxP = query_cpxp}) - 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CCxC = New String() {}}) + Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxP192 = query_cxp192, .CxP = query_cxp, .CxPA = query_cxpa, .CxC = query_cxc}) + 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxC = New String() {}}) 'Alert(json) - RegistraScript($"CargaGraficasBarras({json})", "sdkp24223") - 'RegistraScript($"CargaGraficasPastel({json})", "22") + RegistraScript($"CargaGraficas({json})", "sdkp24223") UPPMov.Update() End Sub - Private Sub GraficasBarras() - 'Dim Dt As New DataTable() - 'Dt.Columns.Add("Texto") - 'Dt.Columns.Add("Valor") - 'Dt.Columns.Add("Color") - 'Dt.Columns.Add("Moneda") - 'Dim RowColorIndex As Integer = 0 - 'For Each Dr As DataRow In VxC.Rows - ' If Not Dr("Orden").ToString = "" Then - ' Dim Row As DataRow = Nothing - ' Row = Dt.NewRow() - ' Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - ' Row("Valor") = Dr("SubTotal").ToString.FormatoNumero - ' Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - ' Row("Moneda") = Dr("Moneda").ToString - ' Dt.Rows.Add(Row) - ' RowColorIndex += 1 - ' If RowColorIndex = 17 Then - ' RowColorIndex = 0 - ' End If - ' End If - 'Next - - 'Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} - 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) - 'RegistraScript($"CargaGraficasBarras({json})", "22") - 'UPPMov.Update() - End Sub End Class From 71db745a935866e594d33a305b49b046d9b925c2 Mon Sep 17 00:00:00 2001 From: MLopez Date: Mon, 12 Dec 2022 19:39:53 -0700 Subject: [PATCH 03/18] E172 Rep Indicador, CxC recuperado, links en encabezado tabla, grafica recuperado, normalizar moneda en MXN --- General/RepIndicadorResumen.aspx | 44 +++++++++++++---- General/RepIndicadorResumen.aspx.vb | 76 ++++++++++++++++++++++------- 2 files changed, 92 insertions(+), 28 deletions(-) diff --git a/General/RepIndicadorResumen.aspx b/General/RepIndicadorResumen.aspx index bec0e8afd..7d48d762e 100644 --- a/General/RepIndicadorResumen.aspx +++ b/General/RepIndicadorResumen.aspx @@ -353,8 +353,9 @@ CssClass="table table-striped table-advance table-hover ScrollAD Widthall " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False"> - - + + +
@@ -368,7 +369,7 @@
- Cuentas por cobrar - Gráfica + Cuentas por cobrar - Gráfica Saldo(MXN)
@@ -384,8 +385,32 @@
+ +
+ + +
+
+ + Cuentas por cobrar - Gráfica Recuperado +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
- + @@ -448,10 +473,10 @@ tooltip: { formatter: function (tooltip) { var tooltiptext = tooltip.defaultFormatter.call(this, tooltip); - var isCurrency = /^(\d|-)?(\d|,)*\.?\d*$/.test(/(.*?)<\/b>/.exec(tooltiptext)); - if (isCurrency) { - tooltiptext = tooltiptext.replace("", "$"); - } + //var isCurrency = /^(\d|-)?(\d|,)*\.?\d*$/.test(/(.*?)<\/b>/.exec(tooltiptext)); + //if (isCurrency) { + // tooltiptext = tooltiptext.replace("", "$"); + //} tooltiptext = tooltiptext.replace("", " " + this.point.unit + ""); console.log(tooltiptext) return tooltiptext @@ -496,8 +521,7 @@ $('#' + "chartdiv_cxp192").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], type: 'pie', data: customAccessor(json["CxP192"]) }] }) $('#' + "chartdiv_cxp").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxP"]) }] }) $('#' + "chartdiv_cxpa").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxPA"]) }] }) - $('#' + "chartdiv_cxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxC"]) }] }) - + $('#' + "chartdiv_cxc").highcharts({ ...chartconfig, series: [{ ...chartconfig.series[0], data: customAccessor(json["CxC"]) }, { type: 'line', keys: ['name', 'y', 'ignore', 'unit'], data: customAccessor(json["CxCR"]) }] }) //AmCharts.makeChart("chartdiv_cxp192", { ...chartconfig, dataProvider: json["CxP192"] }); // Compras x Producto ProveedorClasificacion 192 //AmCharts.makeChart("chartdiv_cxc", { ...chartconfig, dataProvider: json["CxC"] }); // Cuentas por Cobrar x Cliente diff --git a/General/RepIndicadorResumen.aspx.vb b/General/RepIndicadorResumen.aspx.vb index 5e2c0a4ce..8e6e21eef 100644 --- a/General/RepIndicadorResumen.aspx.vb +++ b/General/RepIndicadorResumen.aspx.vb @@ -83,11 +83,11 @@ Partial Class General_RepIndicadorResumen Dim FechaCorte As String = $"31/12/{Now.Year}" - If ObjMovtos.GetCxC(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1, - "-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then - ObjMovtos.DtResultados.DefaultView.Sort = "CveMoneda,Saldo DESC" - GvCxC.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable - End If + 'If ObjMovtos.GetCxC(TxtFechaI.Text, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, 1, -1, + ' "-1", "-1", "-1", FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + ' ObjMovtos.DtResultados.DefaultView.Sort = "CveMoneda,Saldo DESC" + ' GvCxC.DataSource = ObjMovtos.DtResultados.DefaultView.ToTable + 'End If 'If ObjMovtos.GetCxP(MinFecha, TxtFechaF.Text, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, 5, -1, 1, ' FechaCorte:=FechaCorte.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then @@ -105,6 +105,9 @@ Partial Class General_RepIndicadorResumen 'Gastos (Compras acreedores) ObjCitrus.DTSetResultados.Tables(2).DefaultView.Sort = "Moneda,SubTotal DESC" GvComprasAcreed.DataSource = ObjCitrus.DTSetResultados.Tables(2).DefaultView.ToTable + 'Cuentas x Cobrar + ObjCitrus.DTSetResultados.Tables(3).DefaultView.Sort = "SaldoMN DESC" + GvCxC.DataSource = ObjCitrus.DTSetResultados.Tables(3).DefaultView.ToTable End If ObjVentas.Dispose() @@ -119,6 +122,7 @@ Partial Class General_RepIndicadorResumen GvCxC.DataBind() If GvCxC.DataSource IsNot Nothing Then GvCxC.HeaderRow.Cells(1).Text = "Saldo" + GvCxC.HeaderRow.Cells(2).Text = "Recuperado" End If 'Mostrar gráficos solo si hay datos en su respectiva tabla @@ -139,8 +143,10 @@ Partial Class General_RepIndicadorResumen End If If GvCxC.Rows.Count > 0 Then UPGraficaCxC.Visible = True + 'UPGraficaCxCRec.Visible = True Else UPGraficaCxC.Visible = False + 'UPGraficaCxCRec.Visible = False End If If GvCxP.Rows.Count > 0 Then UPGraficaCxP.Visible = True @@ -155,7 +161,7 @@ Partial Class General_RepIndicadorResumen 'Si no había datos en ninguna tabla no cargar función de gráficos If (GvVxP.Rows.Count = 0 AndAlso GvComprasAcreed.Rows.Count = 0 AndAlso GvCxP192.Rows.Count = 0 AndAlso GvCxC.Rows.Count = 0 AndAlso GvCxP.Rows.Count = 0) Then Exit Sub - GraficasPastel() + Graficas() 'GraficasBarras() End Sub Protected Sub GvVxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvVxP.RowDataBound @@ -191,13 +197,14 @@ Partial Class General_RepIndicadorResumen End If End If End Sub - Protected Sub GvCCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxC.RowDataBound + Protected Sub GvCxC_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxC.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.DBCampo("Orden") = "" Then + If e.Row.DBCampo("CveCliente") = "" Then e.Row.CssClass = "Totales" + ' End If + ' 'TODO: Sería mejor usar la Abreviatura de la tabla, pero habría que extender PA_Comp_RepCxP para incluir la columna Abreviatura + e.Row.Cells(0).Text = $"Total {GlobalDTMonedas().FiltraParametros($"CveMoneda = {e.Row.DBCampo("CveMoneda").ToString}").Rows(0)("Moneda").ToString}" End If - 'TODO: Sería mejor usar la Abreviatura de la tabla, pero habría que extender PA_Comp_RepCxP para incluir la columna Abreviatura - ' e.Row.Cells(2).Text = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {e.Row.DBCampo("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" End If End Sub Private Sub CreaDataTableColor() @@ -273,9 +280,9 @@ Partial Class General_RepIndicadorResumen DtColor.Rows.Add(RowColor) End Sub - Private Sub GraficasPastel() + Private Sub Graficas() - Dim DtVxP, DtCxP192, DtCxP, DtCxPA, DtCxC As New DataTable + Dim DtVxP, DtCxP192, DtCxP, DtCxPA, DtCxC, DtCxCR As New DataTable Dim RowColorIndex As Integer = 0 'Ventas x Producto @@ -412,7 +419,7 @@ Partial Class General_RepIndicadorResumen }) Dim query_cxpa = top_cxpa.Union(group_resto_cxpa) - 'Cuentas por cobrar x Cliente + 'Cuentas por cobrar x Cliente -- Saldo DtCxC.Reset() DtCxC.Columns.Add("Texto") DtCxC.Columns.Add("Valor") @@ -420,13 +427,13 @@ Partial Class General_RepIndicadorResumen DtCxC.Columns.Add("Unidad") RowColorIndex = 0 For Each Dr As DataRow In GvCxC.DataSource.Rows - If Not Dr("Orden").ToString = "" Then + If Not Dr("CveCliente").ToString = "" Then Dim Row As DataRow = Nothing Row = DtCxC.NewRow() - Row("Texto") = Dr("GPO").ToString - Row("Valor") = Dr("Saldo").ToString.FormatoNumero + Row("Texto") = Dr("RazonSocial").ToString + Row("Valor") = Dr("SaldoMN").ToString.FormatoNumero Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - Row("Unidad") = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + Row("Unidad") = "MXN" '$"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" DtCxC.Rows.Add(Row) RowColorIndex += 1 If RowColorIndex = 17 Then @@ -443,12 +450,45 @@ Partial Class General_RepIndicadorResumen .Unidad = "MXN" }) Dim query_cxc = top_cxc.Union(group_resto_cxc) + + 'Cuentas por cobrar x Cliente -- Recuperado + DtCxCR.Reset() + DtCxCR.Columns.Add("Texto") + DtCxCR.Columns.Add("Valor") + DtCxCR.Columns.Add("Color") + DtCxCR.Columns.Add("Unidad") + RowColorIndex = 0 + For Each Dr As DataRow In GvCxC.DataSource.Rows + If Not Dr("CveCliente").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtCxCR.NewRow() + Row("Texto") = Dr("RazonSocial").ToString + Row("Valor") = Dr("RecuperadoMN").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Unidad") = "MXN" '$"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + DtCxCR.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If + End If + Next + Dim top_cxcr = From s In DtCxCR.AsEnumerable().Take(10) Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim resto_cxcr = From s In DtCxCR.AsEnumerable().Skip(10) Select New With {.Texto = "Otros", .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} + Dim group_resto_cxcr = resto_cxcr.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { + .Texto = "Otros", + .Valor = Math.Round(g.Sum(Function(x) x.Valor), 2), + .Color = "#000000", + .Unidad = "MXN" + }) + Dim query_cxcr = top_cxcr.Union(group_resto_cxcr) + 'Alert(Newtonsoft.Json.JsonConvert.SerializeObject(CxC.Rows)) 'TODO: Indicadores x Proveedor -- Determinar qué poner en la gráfica con E172 'Serializar datos agrupándolos por su respectivo DataTable, todos en un solo JSON - Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxP192 = query_cxp192, .CxP = query_cxp, .CxPA = query_cxpa, .CxC = query_cxc}) + Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxP192 = query_cxp192, .CxP = query_cxp, .CxPA = query_cxpa, .CxC = query_cxc, .CxCR = query_cxcr}) 'Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.VxP = query_vxp, .CxC = New String() {}}) 'Alert(json) RegistraScript($"CargaGraficas({json})", "sdkp24223") From 47d6288ab86069ebcf59e6f6044e10a24d513794 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:46:45 -0700 Subject: [PATCH 04/18] -- retiva 172,173 --- App_Code/ClsPaginas.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 931b4c217..ae1489498 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9737,7 +9737,7 @@ Public Class ClsPaginas ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento Dim ContabilizableISR As Boolean = False - If UsuarioActual.CveEmpresa.Contiene(140, 7, 11, 12, 122, 145) Then + If UsuarioActual.CveEmpresa.Contiene(140, 7, 11, 12, 122, 145, 172, 173) Then ContabilizableISR = True End If From a953433e2b349fc6a43959799ede9d07c4723c52 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:47:11 -0700 Subject: [PATCH 05/18] -- getpoliza resumen --- App_Code/ClsContabilidad.vb | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 51d7d76b3..1669c0d2b 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -3,6 +3,7 @@ Option Strict On Imports System.Data Imports System.Data.SqlClient +Imports System.Web Imports Extensiones Public Class ClsContabilidad @@ -1014,12 +1015,16 @@ Public Class ClsContabilidad If ex1.Message.Contains("50015;") Then OnError("No se puede registrar una póliza en un ejercicio Cerrado", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) ElseIf ex1.Message.Contains("50024; La Cuenta no fue detectada") Then - Dim dr As Data.DataRow = DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimero(String.Format("CveConceptoContable = {0}", CveConceptoContable)) - Dim Strr As String = dr("ConceptoContable").ToString - 'If dr("AplicaClasificacion").ToString <> "No" Then - ' Strr = Strr + " - Clasificación: " + DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimeroValor("", "") - 'End If - OnError(String.Format("El concepto '{0}' no tiene especificada la cuenta. Favor de especificarla en la asignación de cuentas.", dr("ConceptoContable").ToString), ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Dim Strr As String = "" + If HttpContext.Current.Application("GlobalDTContaConceptosContables") IsNot Nothing Then + Dim dr As Data.DataRow = DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimero(String.Format("CveConceptoContable = {0}", CveConceptoContable)) + Strr = dr("ConceptoContable").ToString + 'If dr("AplicaClasificacion").ToString <> "No" Then + ' Strr = Strr + " - Clasificación: " + DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimeroValor("", "") + 'End If + End If + + OnError(String.Format("El concepto '{0}' no tiene especificada la cuenta. Favor de especificarla en la asignación de cuentas.", Strr), ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) ElseIf ex1.Message.Contains("Vw_Val_Conta_CuentasResultados_SubProyectos") Then Dim Concepto2 As String = DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimeroValor("ConceptoContable", String.Format("CveConceptoContable = {0}", CveConceptoContable)) OnError(String.Format("El concepto '{0}' requiere centro de costo", Concepto2), ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) @@ -2042,6 +2047,25 @@ Public Class ClsContabilidad Return Retorno End Function + Public Function GetPrePolizasDetalleResumen(CvePrePoliza As Integer, CveEmpresa As Integer) As Boolean 'Editado por charlie + Dim Retorno As Boolean = False + DataAdapter("PA_Conta_PrePolizasDetalleResumenGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePrePoliza", SqlDbType.Int).Value = CvePrePoliza + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los detalles resumidos de la prepóliza.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + Public Function GetContabilizacionVentas(CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Conta_ContabilizacionVentasGet") From 633604c8df611211f1b87e039f4c3c5ca8b4cf9d Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:49:19 -0700 Subject: [PATCH 06/18] =?UTF-8?q?--=20mejora=20en=20concepto=20de=20aplica?= =?UTF-8?q?ci=C3=B3n=20de=20NC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx.vb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index e7ae66cd7..809e7aafe 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -7110,7 +7110,7 @@ Partial Class Compras_Compras If importeMovimiento <> 0 Then GuardoConcepto18 = True - If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then + If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119, 158) Then 'PROVISION IdCtaContable = CtaProveedorExtranjera @@ -7134,7 +7134,9 @@ Partial Class Compras_Compras Dim importeMNNC = importeMovimientoNC * TipoCambioFactura * Multiplicador IdCtaContable = CtaProveedorExtranjera - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoNC, Referencia, 272, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then + Dim CveCon As Integer = 272 + If TipoCambioFactura > 1 Then CveCon = 304 + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoNC, Referencia, CveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then Dim CveConceptoContableComplementaria As Integer = 206 If Gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor From 09eef11e5156ebc79cf6d043fbcf83e83f98e91c Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:53:57 -0700 Subject: [PATCH 07/18] -- regenera global --- Acumuladores/Tamaños.aspx.vb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Acumuladores/Tamaños.aspx.vb b/Acumuladores/Tamaños.aspx.vb index 0869900b7..af6592262 100644 --- a/Acumuladores/Tamaños.aspx.vb +++ b/Acumuladores/Tamaños.aspx.vb @@ -52,6 +52,7 @@ Partial Class Acumuladores_Tamaños If objAcum.TamañoGet(-1, UsuarioActual.Empresa.CveEmpresa) Then GvTamanios.DataSource = objAcum.DtResultados + recargaTamaños() Else GvTamanios.DataSource = Nothing End If @@ -63,6 +64,12 @@ Partial Class Acumuladores_Tamaños CargaGvTamanioBitacora() + End Sub + Private Sub recargaTamaños() + Dim objAcum As New ClsAcumuladores + If objAcum.TamañoGet(-1, -1) Then Application("GlobalDTAcumTamaños") = objAcum.DtResultados Else Application("GlobalDTAcumTamaños") = Nothing + objAcum.Dispose() + End Sub Private Sub CargaGvTamanioBitacora() From 56f961af224644ef31b827ad32a88102c720d2ca Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:54:41 -0700 Subject: [PATCH 08/18] - timer --- Compras/eFacturas.aspx.vb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 22370ba6d..c887c8138 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -741,6 +741,8 @@ Partial Class Compras_eFacturas 'GvD.Columns(GvD.Columns.Count - 3).Visible = (UsuarioActual.CveRol = 1) ViewState("Orden") = String.Empty + If UsuarioActual.CveEmpresa.Contiene(141, 152, 153, 160, 161, 162) Then System.Threading.Thread.Sleep(2000) + txtFechaI.Text = Now.AddMonths(-1).FirstDayOfMonth().ToShortDateString ' String.Format("01/01/{0}", If(Now.Month > 6, Now.Year, Now.Year - 1)) txtFechaF.Text = Now.ToShortDateString 'txtFechaI.Text.ToDate.AddMonths(1).AddDays(-1).ToShortDateString From eba2d349741bc0af522753f619d3d823732bd98e Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 21:55:06 -0700 Subject: [PATCH 09/18] se agregaron conceptos rowtabaoudn para liga --- Contabilidad/RegPrePolizaS.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index d3e889629..2a712db9b 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -575,7 +575,7 @@ Partial Class ContabilidadC_RegPrePolizaS Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 272) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) - If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) + If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen")) If CveConceptoContable.Contiene(30, 204, 66, 92) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) From 7ff970f8ab6a2fc37f90aed3b4ad841d5cf9c500 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 12 Dec 2022 22:20:18 -0700 Subject: [PATCH 10/18] -- ocultar columnas que no tengan existencia --- Inventarios/KardexAlmacenHorizontal.aspx.vb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Inventarios/KardexAlmacenHorizontal.aspx.vb b/Inventarios/KardexAlmacenHorizontal.aspx.vb index 044361971..dc2f229a8 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx.vb +++ b/Inventarios/KardexAlmacenHorizontal.aspx.vb @@ -158,10 +158,10 @@ Partial Class Inventarios_KardexAlmacen Dim TotColumna As Double = 0 For Each Dr As DataRow In dt.Rows TotColumna += Dr.Item(index).ToString.ToDouble - Next - 'If Not TotColumna > 0 Then - ' ListaBorrar.Add(dt.Columns(index)) - 'End If + Next + If Not TotColumna > 0 Then + ListaBorrar.Add(dt.Columns(index)) + End If Next For Each item As DataColumn In ListaBorrar dt.Columns().Remove(item) From 0c47f6da041612a0769cca5f004d7d2f3807c029 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 13 Dec 2022 08:24:00 -0700 Subject: [PATCH 11/18] - --- General/RepIndicadorResumen.aspx.vb | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/General/RepIndicadorResumen.aspx.vb b/General/RepIndicadorResumen.aspx.vb index 8e6e21eef..7fc4cfade 100644 --- a/General/RepIndicadorResumen.aspx.vb +++ b/General/RepIndicadorResumen.aspx.vb @@ -292,21 +292,24 @@ Partial Class General_RepIndicadorResumen DtVxP.Columns.Add("Color") DtVxP.Columns.Add("Unidad") RowColorIndex = 0 - For Each Dr As DataRow In GvVxP.DataSource.Rows - If Not Dr("Orden").ToString = "" Then - Dim Row As DataRow = Nothing - Row = DtVxP.NewRow() - Row("Texto") = Dr("GPO").ToString - Row("Valor") = Dr("SubTotal").ToString.FormatoNumero - Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString - Row("Unidad") = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" - DtVxP.Rows.Add(Row) - RowColorIndex += 1 - If RowColorIndex = 17 Then - RowColorIndex = 0 + If GvVxP.datasource IsNot Nothing Then + For Each Dr As DataRow In GvVxP.DataSource.Rows + If Not Dr("Orden").ToString = "" Then + Dim Row As DataRow = Nothing + Row = DtVxP.NewRow() + Row("Texto") = Dr("GPO").ToString + Row("Valor") = Dr("SubTotal").ToString.FormatoNumero + Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString + Row("Unidad") = $"{GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" + DtVxP.Rows.Add(Row) + RowColorIndex += 1 + If RowColorIndex = 17 Then + RowColorIndex = 0 + End If End If - End If - Next + Next + End If + 'Dim vxp = From s In DtVxP.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Unidad = s("Unidad").ToString()} 'Dim group_vxp = vxp.GroupBy(Function(x) x.Texto).[Select](Function(g) New With { ' .Texto = Function(x) x.Texto.ToString, From f92c5e227cce8d9f85f1af5c5ada1d4e65e817c5 Mon Sep 17 00:00:00 2001 From: MLopez Date: Tue, 13 Dec 2022 08:38:51 -0700 Subject: [PATCH 12/18] E172 Reporte Indicadores corregir nombre portlets CxP --- General/RepIndicadorResumen.aspx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/General/RepIndicadorResumen.aspx b/General/RepIndicadorResumen.aspx index 7d48d762e..9bf5d037a 100644 --- a/General/RepIndicadorResumen.aspx +++ b/General/RepIndicadorResumen.aspx @@ -168,7 +168,7 @@
- Compras Productores + Cuentas por Pagar Productores
@@ -202,7 +202,7 @@
- Compras Productores - Gráfica por Cantidad(Kg) + Cuentas por Pagar Productores - Gráfica por Cantidad(Kg)
@@ -227,7 +227,7 @@
- Compras no productores + Cuentas por Pagar no productores
@@ -257,7 +257,7 @@
- Compras no productores - Gráfica + Cuentas por Pagar no productores - Gráfica
From d4a35481db8777d63f76f74b1ade796d8574ea62 Mon Sep 17 00:00:00 2001 From: MLopez Date: Tue, 13 Dec 2022 14:37:43 -0700 Subject: [PATCH 13/18] Actualizar Highcharts JS v10.3.2 (2022-11-28) --- App_Code/BundleConfig.vb | 4 +- Scripts/export-data.js | 35 ++ Scripts/exporting.js | 61 ++- Scripts/highcharts.js | 918 +++++++++++++++++++++++------------ Scripts/offline-exporting.js | 29 ++ 5 files changed, 706 insertions(+), 341 deletions(-) create mode 100644 Scripts/export-data.js create mode 100644 Scripts/offline-exporting.js diff --git a/App_Code/BundleConfig.vb b/App_Code/BundleConfig.vb index 26201a87f..d81e59fd1 100644 --- a/App_Code/BundleConfig.vb +++ b/App_Code/BundleConfig.vb @@ -30,7 +30,9 @@ Public Class BundleConfig "~/Metronic/assets/global/plugins/fullcalendar/lib/moment.min.js", "~/Metronic/assets/global/plugins/fullcalendar/fullcalendar.js", "~/Scripts/highcharts.js", - "~/Scripts/exporting.js" + "~/Scripts/exporting.js", + "~/Scripts/offline-exporting.js", + "~/Scripts/export-data.js" )) bundles.Add(New ScriptBundle("~/Metronic/assets/global/scripts/JSNoCustom").Include( diff --git a/Scripts/export-data.js b/Scripts/export-data.js new file mode 100644 index 000000000..85eaabcfb --- /dev/null +++ b/Scripts/export-data.js @@ -0,0 +1,35 @@ +/* + Highcharts JS v10.3.2 (2022-11-28) + + Exporting module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/export-data",["highcharts","highcharts/modules/exporting"],function(p){a(p);a.Highcharts=p;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function p(a,f,c,y){a.hasOwnProperty(f)||(a[f]=y.apply(null,c),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:f,module:a[f]}})))} +a=a?a._modules:{};p(a,"Extensions/ExportData/ExportDataDefaults.js",[],function(){"";return{exporting:{csv:{annotations:{itemDelimiter:"; ",join:!1},columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",exportData:{annotationHeader:"Annotations",categoryHeader:"Category",categoryDatetimeHeader:"DateTime"},viewData:"View data table", +hideData:"Hide data table"}}});p(a,"Extensions/DownloadURL.js",[a["Core/Globals.js"]],function(a){var f=a.isSafari,c=a.win,y=c.document,p=c.URL||c.webkitURL||c,D=a.dataURLtoBlob=function(a){if((a=a.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3";R(S(b,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+z.btoa(unescape(encodeURIComponent(b))),this.getFilename()+".xls")}function q(b){var a="",g=this.getDataRows(),e=this.options.exporting.csv,x=A(e.decimalPoint,","!==e.itemDelimiter&&b?(1.1).toLocaleString()[1]:"."),d=A(e.itemDelimiter,","===x?";":","),c=e.lineDelimiter;g.forEach(function(b,e){for(var u,n=b.length;n--;)u=b[n],"string"===typeof u&&(u='"'+u+'"'),"number"===typeof u&&"."!==x&& +(u=u.toString().replace(".",x)),b[n]=u;b.length=g.length?g[0].length:0;a+=b.join(d);e")};a=this.getTableAST(a);return b(a)}function ba(a){var b=0,c=[],e=this.options,f=a?(1.1).toLocaleString()[1]:".",d=A(e.exporting.useMultiLevelHeaders,!0);a=this.getDataRows(d);var n=d?a.shift():null,h=a.shift(),m=function(a,b,c,e){var d=A(e,"");b="highcharts-text"+(b?" "+b:"");"number"===typeof d?(d=d.toString(),","===f&&(d=d.replace(".",f)),b="highcharts-number"): +e||(b="highcharts-empty");c=U({"class":b},c);return{tagName:a,attributes:c,textContent:d}};!1!==e.exporting.tableCaption&&c.push({tagName:"caption",attributes:{"class":"highcharts-table-caption"},textContent:A(e.exporting.tableCaption,e.title.text?e.title.text:"Chart")});for(var t=0,q=a.length;tb&&(b=a[t].length);c.push(function(a,b,c){var u=[],g=0;c=c||b&&b.length;var f=0,k;if(k=d&&a&&b){a:if(k=a.length,b.length===k){for(;k--;)if(a[k]!==b[k]){k=!1;break a}k=!0}else k=!1;k=!k}if(k){for(k= +[];gb.userAgent.indexOf("Chrome"),f=z.URL||z.webkitURL||z;try{if(b.msSaveOrOpenBlob&&z.MSBlobBuilder){var d=new z.MSBlobBuilder;d.append(a);return d.getBlob("image/svg+xml")}if(!e)return f.createObjectURL(new z.Blob(["\ufeff"+ +a],{type:c}))}catch(n){}}function ha(){var a=this,c=a.dataTableDiv,g=document.querySelectorAll("thead")[0].querySelectorAll("tr")[0],e=function(a,b){return function(c,d){var e=(b?c:d).children[a].textContent;c=(b?d:c).children[a].textContent;return""===e||""===c||isNaN(e)||isNaN(c)?e.toString().localeCompare(c):e-c}};c&&g.childNodes.forEach(function(b){var d=b.closest("table");b.addEventListener("click",function(){var g=E([],c.querySelectorAll("tr:not(thead tr)"),!0),f=E([],b.parentNode.children, +!0);g.sort(e(f.indexOf(b),a.ascendingOrderInTable=!a.ascendingOrderInTable)).forEach(function(a){d.appendChild(a)});f.forEach(function(a){["highcharts-sort-ascending","highcharts-sort-descending"].forEach(function(b){a.classList.contains(b)&&a.classList.remove(b)})});b.classList.add(a.ascendingOrderInTable?"highcharts-sort-ascending":"highcharts-sort-descending")})})}function ia(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&this.viewData()} +var E=this&&this.__spreadArray||function(a,c,g){if(g||2===arguments.length)for(var b=0,f=c.length,d;b.*?$/,"").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"\u00a0").replace(/­/g,"\u00ad").replace(//g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g, -" ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},getSVG:function(b){var a=this,e,c,f,z,h,d=l(a.options,b),s=d.exporting.allowHTML;if(!k.createElementNS)k.createElementNS=function(a,b){return k.createElement(b)};c=j("div",null,{position:"absolute",top:"-9999em",width:a.chartWidth+"px",height:a.chartHeight+"px"},k.body);f=a.renderTo.style.width;h=a.renderTo.style.height;f=d.exporting.sourceWidth|| -d.chart.width||/px$/.test(f)&&parseInt(f,10)||600;h=d.exporting.sourceHeight||d.chart.height||/px$/.test(h)&&parseInt(h,10)||400;q(d.chart,{animation:!1,renderTo:c,forExport:!s,width:f,height:h});d.exporting.enabled=!1;delete d.data;d.series=[];m(a.series,function(a){z=l(a.options,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});z.isInternal||d.series.push(z)});b&&m(["xAxis","yAxis"],function(a){m(E(b[a]),function(b,c){d[a][c]=l(d[a][c],b)})});e=new g.Chart(d,a.callback);m(["xAxis", -"yAxis"],function(b){m(a[b],function(a,c){var d=e[b][c],f=a.getExtremes(),h=f.userMin,f=f.userMax;d&&(h!==void 0||f!==void 0)&&d.setExtremes(h,f,!0,!1)})});f=e.getChartHTML();d=null;e.destroy();p(c);if(s&&(c=f.match(/<\/svg>(.*?$)/)))c=''+c[1]+"",f=f.replace("",c+"");f=this.sanitizeSVG(f);return f=f.replace(/(url\(#highcharts-[0-9]+)"/g,"$1").replace(/"/g,"'")}, -getSVGForExport:function(b,a){var e=this.options.exporting;return this.getSVG(l({chart:{borderRadius:0}},e.chartOptions,a,{exporting:{sourceWidth:b&&b.sourceWidth||e.sourceWidth,sourceHeight:b&&b.sourceHeight||e.sourceHeight}}))},exportChart:function(b,a){var e=this.getSVGForExport(b,a),b=l(this.options.exporting,b);g.post(b.url,{filename:b.filename||"chart",type:b.type,width:b.width||0,scale:b.scale||2,svg:e},b.formAttributes)},print:function(){var b=this,a=b.container,e=[],c=a.parentNode,f=k.body, -g=f.childNodes;if(!b.isPrinting)b.isPrinting=!0,C(b,"beforePrint"),m(g,function(a,b){if(a.nodeType===1)e[b]=a.style.display,a.style.display="none"}),f.appendChild(a),D.focus(),D.print(),setTimeout(function(){c.appendChild(a);m(g,function(a,b){if(a.nodeType===1)a.style.display=e[b]});b.isPrinting=!1;C(b,"afterPrint")},1E3)},contextMenu:function(b,a,e,c,f,g,h){var d=this,s=d.options.navigation,l=s.menuItemStyle,n=d.chartWidth,o=d.chartHeight,k="cache-"+b,i=d[k],u=F(f,g),w,x,p,r=function(a){d.pointer.inClass(a.target, -b)||x()};if(!i)d[k]=i=j("div",{className:b},{position:"absolute",zIndex:1E3,padding:u+"px"},d.container),w=j("div",null,q({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},s.menuStyle),i),x=function(){v(i,{display:"none"});h&&h.setState(0);d.openMenu=!1},t(i,"mouseleave",function(){p=setTimeout(x,500)}),t(i,"mouseenter",function(){clearTimeout(p)}),t(document,"mouseup",r),t(d,"destroy",function(){B(document,"mouseup",r)}),m(a,function(a){if(a){var b= -a.separator?j("hr",null,null,w):j("div",{onmouseover:function(){v(this,s.menuItemHoverStyle)},onmouseout:function(){v(this,l)},onclick:function(b){b.stopPropagation();x();a.onclick&&a.onclick.apply(d,arguments)},innerHTML:a.text||d.options.lang[a.textKey]},q({cursor:"pointer"},l),w);d.exportDivElements.push(b)}}),d.exportDivElements.push(w,i),d.exportMenuWidth=i.offsetWidth,d.exportMenuHeight=i.offsetHeight;a={display:"block"};e+d.exportMenuWidth>n?a.right=n-e-f-u+"px":a.left=e-u+"px";c+g+d.exportMenuHeight> -o&&h.alignOptions.verticalAlign!=="top"?a.bottom=o-c-u+"px":a.top=c+g-u+"px";v(i,a);d.openMenu=!0},addButton:function(b){var a=this,e=a.renderer,c=l(a.options.navigation.buttonOptions,b),f=c.onclick,k=c.menuItems,h,d,m={stroke:c.symbolStroke,fill:c.symbolFill},j=c.symbolSize||12;if(!a.btnCount)a.btnCount=0;if(!a.exportDivElements)a.exportDivElements=[],a.exportSVGElements=[];if(c.enabled!==!1){var n=c.theme,o=n.states,p=o&&o.hover,o=o&&o.select,i;delete n.states;f?i=function(b){b.stopPropagation(); -f.call(a,b)}:k&&(i=function(){a.contextMenu(d.menuClassName,k,d.translateX,d.translateY,d.width,d.height,d);d.setState(2)});c.text&&c.symbol?n.paddingLeft=g.pick(n.paddingLeft,25):c.text||q(n,{width:c.width,height:c.height,padding:0});d=e.button(c.text,0,0,i,n,p,o).attr({title:a.options.lang[c._titleKey],"stroke-linecap":"round"});d.menuClassName=b.menuClassName||"highcharts-menu-"+a.btnCount++;c.symbol&&(h=e.symbol(c.symbol,c.symbolX-j/2,c.symbolY-j/2,j,j).attr(q(m,{"stroke-width":c.symbolStrokeWidth|| -1,zIndex:1})).add(d));d.add().align(q(c,{width:d.width,x:g.pick(c.x,y)}),!0,"spacingBox");y+=(d.width+c.buttonSpacing)*(c.align==="right"?-1:1);a.exportSVGElements.push(d,h)}},destroyExport:function(b){var b=b.target,a,e;for(a=0;ah&&(b.resetParams=[this.options.chart.width,void 0,!1],this.setSize(h,void 0,!1));[].forEach.call(b.childNodes,function(a,c){1===a.nodeType&&(b.origDisplay[c]=a.style.display,a.style.display="none")});this.moveContainers(a);this.printReverseInfo=b}function V(a){a.renderExporting();B(a,"redraw",a.renderExporting);B(a,"destroy",a.destroyExport)}function W(c,h,b,k,e,L,g){var f=this,v=f.options.navigation,u=f.chartWidth,l=f.chartHeight,m="cache-"+c,n=Math.max(e, +L),p=f[m];if(!p){f.exportContextMenu=f[m]=p=E("div",{className:c},{position:"absolute",zIndex:1E3,padding:n+"px",pointerEvents:"auto"},f.fixedDiv||f.container);var t=E("ul",{className:"highcharts-menu"},{listStyle:"none",margin:0,padding:0},p);f.styledMode||w(t,F({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},v.menuStyle));p.hideMenu=function(){w(p,{display:"none"});g&&g.setState(0);f.openMenu=!1;w(f.renderTo,{overflow:"hidden"});w(f.container, +{overflow:"hidden"});d.clearTimeout(p.hideTimer);G(f,"exportMenuHidden")};f.exportEvents.push(B(p,"mouseleave",function(){p.hideTimer=C.setTimeout(p.hideMenu,500)}),B(p,"mouseenter",function(){d.clearTimeout(p.hideTimer)}),B(z,"mouseup",function(a){f.pointer.inClass(a.target,c)||p.hideMenu()}),B(p,"click",function(){f.openMenu&&p.hideMenu()}));h.forEach(function(c){"string"===typeof c&&(c=f.options.exporting.menuItemDefinitions[c]);if(R(c,!0)){var h=void 0;c.separator?h=E("hr",void 0,void 0,t):("viewData"=== +c.textKey&&f.isDataTableVisible&&(c.textKey="hideData"),h=E("li",{className:"highcharts-menu-item",onclick:function(a){a&&a.stopPropagation();p.hideMenu();c.onclick&&c.onclick.apply(f,arguments)}},void 0,t),a.setElementHTML(h,c.text||f.options.lang[c.textKey]),f.styledMode||(h.onmouseover=function(){w(this,v.menuItemHoverStyle)},h.onmouseout=function(){w(this,v.menuItemStyle)},w(h,F({cursor:"pointer"},v.menuItemStyle||{}))));f.exportDivElements.push(h)}});f.exportDivElements.push(t,p);f.exportMenuWidth= +p.offsetWidth;f.exportMenuHeight=p.offsetHeight}h={display:"block"};b+f.exportMenuWidth>u?h.right=u-b-e-n+"px":h.left=b-n+"px";k+L+f.exportMenuHeight>l&&"top"!==g.alignOptions.verticalAlign?h.bottom=l-k-n+"px":h.top=k+L-n+"px";w(p,h);w(f.renderTo,{overflow:""});w(f.container,{overflow:""});f.openMenu=!0;G(f,"exportMenuShown")}function X(a){var c=a?a.target:this,b=c.exportSVGElements,k=c.exportDivElements;a=c.exportEvents;var e;b&&(b.forEach(function(a,h){a&&(a.onclick=a.ontouchstart=null,e="cache-"+ +a.menuClassName,c[e]&&delete c[e],b[h]=a.destroy())}),b.length=0);c.exportingGroup&&(c.exportingGroup.destroy(),delete c.exportingGroup);k&&(k.forEach(function(a,c){a&&(d.clearTimeout(a.hideTimer),T(a,"mouseleave"),k[c]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=null,N(a))}),k.length=0);a&&(a.forEach(function(a){a()}),a.length=0)}function Y(a,h){h=this.getSVGForExport(a,h);a=r(this.options.exporting,a);g.post(a.url,{filename:a.filename?a.filename.replace(/\//g,"-"):this.getFilename(),type:a.type, +width:a.width||0,scale:a.scale,svg:h},a.formAttributes)}function Z(){this.styledMode&&this.inlineStyles();return this.container.innerHTML}function aa(){var a=this.userOptions.title&&this.userOptions.title.text,h=this.options.exporting.filename;if(h)return h.replace(/\//g,"-");"string"===typeof a&&(h=a.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""));if(!h||5>h.length)h="chart"; +return h}function ba(a){var c,b=r(this.options,a);b.plotOptions=r(this.userOptions.plotOptions,a&&a.plotOptions);b.time=r(this.userOptions.time,a&&a.time);var d=E("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},z.body),e=this.renderTo.style.width;var g=this.renderTo.style.height;e=b.exporting.sourceWidth||b.chart.width||/px$/.test(e)&&parseInt(e,10)||(b.isGantt?800:600);g=b.exporting.sourceHeight||b.chart.height||/px$/.test(g)&&parseInt(g,10)|| +400;F(b.chart,{animation:!1,renderTo:d,forExport:!0,renderer:"SVGRenderer",width:e,height:g});b.exporting.enabled=!1;delete b.data;b.series=[];this.series.forEach(function(a){c=r(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});c.isInternal||b.series.push(c)});var l={};this.axes.forEach(function(a){a.userOptions.internalKey||(a.userOptions.internalKey=U());a.options.isInternal||(l[a.coll]||(l[a.coll]=!0,b[a.coll]=[]),b[a.coll].push(r(a.userOptions,{visible:a.visible})))}); +var f=new this.constructor(b,this.callback);a&&["xAxis","yAxis","series"].forEach(function(c){var b={};a[c]&&(b[c]=a[c],f.update(b))});this.axes.forEach(function(a){var c=Q(f.axes,function(c){return c.options.internalKey===a.userOptions.internalKey}),b=a.getExtremes(),h=b.userMin;b=b.userMax;c&&("undefined"!==typeof h&&h!==c.min||"undefined"!==typeof b&&b!==c.max)&&c.setExtremes(h,b,!0,!1)});g=f.getChartHTML();G(this,"getSVG",{chartCopy:f});g=this.sanitizeSVG(g,b);b=null;f.destroy();N(d);return g} +function ca(a,b){var c=this.options.exporting;return this.getSVG(r({chart:{borderRadius:0}},c.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||c.sourceWidth,sourceHeight:a&&a.sourceHeight||c.sourceHeight}}))}function da(a){return a.replace(/([A-Z])/g,function(a,c){return"-"+c.toLowerCase()})}function ea(){function a(c){var f={};if(m&&1===c.nodeType&&-1===fa.indexOf(c.nodeName)){var k=C.getComputedStyle(c,null);var n="svg"===c.nodeName?{}:C.getComputedStyle(c.parentNode,null);if(!e[c.nodeName]){g= +m.getElementsByTagName("svg")[0];var l=m.createElementNS(c.namespaceURI,c.nodeName);g.appendChild(l);var v=C.getComputedStyle(l,null);var p={};for(var t in v)"string"!==typeof v[t]||/^[0-9]+$/.test(t)||(p[t]=v[t]);e[c.nodeName]=p;"text"===c.nodeName&&delete e.text.fill;g.removeChild(l)}for(var r in k)if(b.isFirefox||b.isMS||b.isSafari||Object.hasOwnProperty.call(k,r)){t=k[r];var q=r;l=v=!1;if(d.length){for(p=d.length;p--&&!v;)v=d[p].test(q);l=!v}"transform"===q&&"none"===t&&(l=!0);for(p=h.length;p--&& +!l;)l=h[p].test(q)||"function"===typeof t;l||n[q]===t&&"svg"!==c.nodeName||e[c.nodeName][q]===t||(O&&-1===O.indexOf(q)?f[q]=t:t&&c.setAttribute(da(q),t))}w(c,f);"svg"===c.nodeName&&c.setAttribute("stroke-width","1px");"text"!==c.nodeName&&[].forEach.call(c.children||c.childNodes,a)}}var h=ha,d=l.inlineAllowlist,e={},g,n=z.createElement("iframe");w(n,{width:"1px",height:"1px",visibility:"hidden"});z.body.appendChild(n);var m=n.contentWindow&&n.contentWindow.document;m&&m.body.appendChild(m.createElementNS(P, +"svg"));a(this.container.querySelector("svg"));g.parentNode.removeChild(g);n.parentNode.removeChild(n)}function ia(a){(this.fixedDiv?[this.fixedDiv,this.scrollingContainer]:[this.container]).forEach(function(c){a.appendChild(c)})}function ja(){var a=this;a.exporting={update:function(c,b){a.isDirtyExporting=!0;r(!0,a.options.exporting,c);y(b,!0)&&a.redraw()}};m.compose(a).navigation.addUpdate(function(c,b){a.isDirtyExporting=!0;r(!0,a.options.navigation,c);y(b,!0)&&a.redraw()})}function ka(){var a= +this;a.isPrinting||(I=a,b.isSafari||a.beforePrint(),setTimeout(function(){C.focus();C.print();b.isSafari||setTimeout(function(){a.afterPrint()},1E3)},1))}function la(){var a=this,b=a.options.exporting,e=b.buttons,d=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();d&&!1!==b.enabled&&(a.exportEvents=[],a.exportingGroup=a.exportingGroup||a.renderer.g("exporting-group").attr({zIndex:3}).add(),S(e,function(c){a.addButton(c)}),a.isDirtyExporting=!1)}function ma(a, +b){var c=a.indexOf("")+6,e=a.substr(c);a=a.substr(0,c);b&&b.exporting&&b.exporting.allowHTML&&e&&(e=''+e.replace(/(<(?:img|br).*?(?=>))>/g,"$1 />")+"",a=a.replace("",e+""));a=a.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|");?\)/g,"url($2)").replace(/url\([^#]+#/g, +"url(#").replace(/-1?h.thousandsSep:""))):e=Ma(f,e)}j.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}j.push(a);return j.join("")}function nb(a){return W.pow(10,V(W.log(a)/W.LN10))}function ob(a,b,c,d,e){var f,g=a,c=p(c,1);f=a/c;b||(b=[1,2,2.5,5,10],d===!1&&(c=== -1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d=a||!e&&f<=(b[d]+(b[d+1]||b[d]))/2)break;g*=c;return g}function pb(a,b){var c=a.length,d,e;for(e=0;ec&&(c=a[b]);return c}function Oa(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(), -delete a[c]}function Pa(a){cb||(cb=$(Ia));a&&cb.appendChild(a);cb.innerHTML=""}function la(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;K.console&&console.log(c)}function ea(a,b){return parseFloat(a.toPrecision(b||14))}function Qa(a,b){b.renderer.globalAnimation=p(a,b.animation)}function Cb(){var a=S.global,b=a.useUTC,c=b?"getUTC":"get",d=b?"setUTC":"set";ya=a.Date||window.Date;mb=b&&a.timezoneOffset;bb=b&&a.getTimezoneOffset;db=function(a,c,d,h,i,j){var k;b?(k= -ya.UTC.apply(0,arguments),k+=Va(k)):k=(new ya(a,c,p(d,1),p(h,0),p(i,0),p(j,0))).getTime();return k};qb=c+"Minutes";rb=c+"Hours";sb=c+"Day";Wa=c+"Date";Xa=c+"Month";Ya=c+"FullYear";Db=d+"Milliseconds";Eb=d+"Seconds";Fb=d+"Minutes";Gb=d+"Hours";tb=d+"Date";ub=d+"Month";vb=d+"FullYear"}function P(){}function Ra(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function Hb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total= -null;this.points={};this.stack=e;this.alignOptions={align:b.align||(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:p(b.y,f?4:c?14:-6),x:p(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}var v,C=document,K=window,W=Math,w=W.round,V=W.floor,sa=W.ceil,t=W.max,z=W.min,N=W.abs,X=W.cos,aa=W.sin,ma=W.PI,ga=ma*2/360,za=navigator.userAgent,Ib=K.opera,xa=/(msie|trident)/i.test(za)&&!Ib,eb=C.documentMode===8,fb=/AppleWebKit/.test(za),Ja= -/Firefox/.test(za),Jb=/(Mobile|Android|Windows Phone)/.test(za),Da="http://www.w3.org/2000/svg",ca=!!C.createElementNS&&!!C.createElementNS(Da,"svg").createSVGRect,Nb=Ja&&parseInt(za.split("Firefox/")[1],10)<4,fa=!ca&&!xa&&!!C.createElement("canvas").getContext,Za,$a,Kb={},wb=0,cb,S,Ma,xb,E,ta=function(){return v},Y=[],ab=0,Ia="div",O="none",Ob=/^[0-9]+$/,gb=["plotTop","marginRight","marginBottom","plotLeft"],Pb="stroke-width",ya,db,mb,bb,qb,rb,sb,Wa,Xa,Ya,Db,Eb,Fb,Gb,tb,ub,vb,M={},B;B=K.Highcharts= -K.Highcharts?la(16,!0):{};B.seriesTypes=M;var r=B.extend=function(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a},p=B.pick=function(){var a=arguments,b,c,d=a.length;for(b=0;b3?c.length%3:0;return e+(g?c.substr(0,g)+d:"")+c.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?b+N(a-c).toFixed(f).slice(2):"")};xb={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "), -c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f&&b.length===c.length)for(;d--;)c=[].concat(c).splice(0,f).concat(c);a.shift=0;if(b.length)for(a=c.length;b.length{point.key}
', -pointFormat:'\u25cf {series.name}: {point.y}
',shadow:!0,snap:Jb?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var ba=S.plotOptions,U=ba.line;Cb();var Tb=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/, -Ub=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,Vb=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,na=function(a){var b=[],c,d;(function(a){a&&a.stops?d=Ta(a.stops,function(a){return na(a[1])}):(c=Tb.exec(a))?b=[F(c[1]),F(c[2]),F(c[3]),parseFloat(c[4],10)]:(c=Ub.exec(a))?b=[F(c[1],16),F(c[2],16),F(c[3],16),1]:(c=Vb.exec(a))&&(b=[F(c[1]),F(c[2]),F(c[3]),1])})(a);return{get:function(c){var f;d?(f=A(a),f.stops=[].concat(f.stops),o(d,function(a,b){f.stops[b]=[f.stops[b][0],a.get(c)]})): -f=b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a;return f},brighten:function(a){if(d)o(d,function(b){b.brighten(a)});else if(qa(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=F(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},rgba:b,setOpacity:function(a){b[3]=a;return this},raw:a}};P.prototype={opacity:1,textProps:"fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textOverflow,textShadow".split(","),init:function(a, -b){this.element=b==="span"?$(b):C.createElementNS(Da,b);this.renderer=a},animate:function(a,b,c){b=p(b,this.renderer.globalAnimation,!0);kb(this);if(b){b=A(b,{});if(c)b.complete=c;jb(this,a,b)}else this.attr(a,null,c);return this},colorGradient:function(a,b,c){var d=this.renderer,e,f,g,h,i,j,k,m,l,n,q=[];a.linearGradient?f="linearGradient":a.radialGradient&&(f="radialGradient");if(f){g=a[f];h=d.gradients;j=a.stops;l=c.radialReference;Fa(g)&&(a[f]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3],gradientUnits:"userSpaceOnUse"}); -f==="radialGradient"&&l&&!s(g.gradientUnits)&&(g=A(g,{cx:l[0]-l[2]/2+g.cx*l[2],cy:l[1]-l[2]/2+g.cy*l[2],r:g.r*l[2],gradientUnits:"userSpaceOnUse"}));for(n in g)n!=="id"&&q.push(n,g[n]);for(n in j)q.push(j[n]);q=q.join(",");h[q]?a=h[q].attr("id"):(g.id=a="highcharts-"+wb++,h[q]=i=d.createElement(f).attr(g).add(d.defs),i.stops=[],o(j,function(a){a[1].indexOf("rgba")===0?(e=na(a[1]),k=e.get("rgb"),m=e.get("a")):(k=a[1],m=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":k,"stop-opacity":m}).add(i); -i.stops.push(a)}));c.setAttribute(b,"url("+d.url+"#"+a+")")}},applyTextShadow:function(a){var b=this.element,c,d=a.indexOf("contrast")!==-1,e={},f=this.renderer.forExport||b.style.textShadow!==v&&!xa;if(d)e.textShadow=a=a.replace(/contrast/g,this.renderer.getContrast(b.style.fill));if(fb)e.textRendering="geometricPrecision";f?L(b,e):(this.fakeTS=!0,this.ySetter=this.xSetter,c=[].slice.call(b.getElementsByTagName("tspan")),o(a.split(/\s?,\s?/g),function(a){var d=b.firstChild,e,f,a=a.split(" ");e=a[a.length- -1];(f=a[a.length-2])&&o(c,function(a,c){var g;c===0&&(a.setAttribute("x",b.getAttribute("x")),c=b.getAttribute("y"),a.setAttribute("y",c||0),c===null&&b.setAttribute("y",0));g=a.cloneNode(1);J(g,{"class":"highcharts-text-shadow",fill:e,stroke:e,"stroke-opacity":1/t(F(f),3),"stroke-width":f,"stroke-linejoin":"round"});b.insertBefore(g,d)})}))},attr:function(a,b,c){var d,e=this.element,f,g=this,h;typeof a==="string"&&b!==v&&(d=a,a={},a[d]=b);if(typeof a==="string")g=(this[a+"Getter"]||this._defaultGetter).call(this, -a,e);else{for(d in a){b=a[d];h=!1;this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(d)&&(f||(this.symbolAttr(a),f=!0),h=!0);if(this.rotation&&(d==="x"||d==="y"))this.doTransform=!0;h||(this[d+"Setter"]||this._defaultSetter).call(this,b,d,e);this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(d)&&this.updateShadows(d,b)}if(this.doTransform)this.updateTransform(),this.doTransform=!1}c&&c();return g},updateShadows:function(a,b){for(var c=this.shadows, -d=c.length;d--;)c[d].setAttribute(a,a==="height"?t(b-(c[d].cutHeight||0),0):a==="d"?this.d:b)},addClass:function(a){var b=this.element,c=J(b,"class")||"";c.indexOf(a)===-1&&J(b,"class",c+" "+a);return this},symbolAttr:function(a){var b=this;o("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=p(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":O)}, -crisp:function(a){var b,c={},d,e=a.strokeWidth||this.strokeWidth||0;d=w(e)%2/2;a.x=V(a.x||this.x||0)+d;a.y=V(a.y||this.y||0)+d;a.width=V((a.width||this.width||0)-2*d);a.height=V((a.height||this.height||0)-2*d);a.strokeWidth=e;for(b in a)this[b]!==a[b]&&(this[b]=c[b]=a[b]);return c},css:function(a){var b=this.styles,c={},d=this.element,e,f,g="";e=!b;if(a&&a.color)a.fill=a.color;if(b)for(f in a)a[f]!==b[f]&&(c[f]=a[f],e=!0);if(e){e=this.textWidth=a&&a.width&&d.nodeName.toLowerCase()==="text"&&F(a.width)|| -this.textWidth;b&&(a=r(b,c));this.styles=a;e&&(fa||!ca&&this.renderer.forExport)&&delete a.width;if(xa&&!ca)L(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};for(f in a)g+=f.replace(/([A-Z])/g,b)+":"+a[f]+";";J(d,"style",g)}e&&this.added&&this.renderer.buildText(this)}return this},on:function(a,b){var c=this,d=c.element;$a&&a==="click"?(d.ontouchstart=function(a){c.touchEventFired=ya.now();a.preventDefault();b.call(d,a)},d.onclick=function(a){(za.indexOf("Android")===-1||ya.now()- -(c.touchEventFired||0)>1100)&&b.call(d,a)}):d["on"+a]=b;return this},setRadialReference:function(a){this.element.radialReference=a;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation,g=this.element;e&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+ -","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(s(c)||s(d))&&a.push("scale("+p(c,1)+" "+p(d,1)+")");a.length&&g.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d,e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!c||Aa(c))this.alignTo=d=c||"renderer",ja(f,this),f.push(this), -c=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=p(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];h[b?"translateX":"x"]=w(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=w(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(a){var b,c=this.renderer,d,e=this.rotation, -f=this.element,g=this.styles,h=e*ga;d=this.textStr;var i,j=f.style,k,m;d!==v&&(m=["",e||0,g&&g.fontSize,f.style.width].join(","),m=d===""||Ob.test(d)?"num:"+d.toString().length+m:d+m);m&&!a&&(b=c.cache[m]);if(!b){if(f.namespaceURI===Da||c.forExport){try{k=this.fakeTS&&function(a){o(f.querySelectorAll(".highcharts-text-shadow"),function(b){b.style.display=a})},Ja&&j.textShadow?(i=j.textShadow,j.textShadow=""):k&&k(O),b=f.getBBox?r({},f.getBBox()):{width:f.offsetWidth,height:f.offsetHeight},i?j.textShadow= -i:k&&k("")}catch(l){}if(!b||b.width<0)b={width:0,height:0}}else b=this.htmlGetBBox();if(c.isSVG){a=b.width;d=b.height;if(xa&&g&&g.fontSize==="11px"&&d.toPrecision(3)==="16.9")b.height=d=14;if(e)b.width=N(d*aa(h))+N(a*X(h)),b.height=N(d*X(h))+N(a*aa(h))}m&&(c.cache[m]=b)}return b},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})}, -add:function(a){var b=this.renderer,c=this.element,d;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)d=this.zIndexSetter();d||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.renderer.isSVG&&b.nodeName==="SPAN"&&a.parentGroup,e,f;b.onclick=b.onmouseout= -b.onmouseover=b.onmousemove=b.point=null;kb(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f]*>/g,"")))},textSetter:function(a){if(a!==this.textStr)delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this)},fillSetter:function(a,b,c){typeof a==="string"?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},visibilitySetter:function(a,b,c){a==="inherit"?c.removeAttribute(b):c.setAttribute(b,a)},zIndexSetter:function(a,b){var c=this.renderer,d=this.parentGroup,c=(d||c).element||c.box,e,f,g=this.element,h;e=this.added;var i;s(a)&&(g.setAttribute(b,a),a=+a,this[b]=== -a&&(e=!1),this[b]=a);if(e){if((a=this.zIndex)&&d)d.handleZ=!0;d=c.childNodes;for(i=0;ia||!s(a)&&s(f)))c.insertBefore(g,e),h=!0;h||c.appendChild(g)}return h},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};P.prototype.yGetter=P.prototype.xGetter;P.prototype.translateXSetter=P.prototype.translateYSetter=P.prototype.rotationSetter=P.prototype.verticalAlignSetter=P.prototype.scaleXSetter=P.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform= -!0};P.prototype["stroke-widthSetter"]=P.prototype.strokeSetter=function(a,b,c){this[b]=a;if(this.stroke&&this["stroke-width"])this.strokeWidth=this["stroke-width"],P.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(b==="stroke-width"&&a===0&&this.hasStroke)c.removeAttribute("stroke"),this.hasStroke=!1};var ua=function(){this.init.apply(this,arguments)};ua.prototype={Element:P,init:function(a,b,c,d,e){var f=location, -g,d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d));g=d.element;a.appendChild(g);a.innerHTML.indexOf("xmlns")===-1&&J(g,"xmlns",Da);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects=[];this.url=(Ja||fb)&&C.getElementsByTagName("base").length?f.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(C.createTextNode("Created with Highcharts 4.1.8"));this.defs=this.createElement("defs").add(); -this.forExport=e;this.gradients={};this.cache={};this.setSize(b,c,!1);var h;if(Ja&&a.getBoundingClientRect)this.subPixelFix=b=function(){L(a,{left:0,top:0});h=a.getBoundingClientRect();L(a,{left:sa(h.left)-h.left+"px",top:sa(h.top)-h.top+"px"})},b(),H(K,"resize",b)},getStyle:function(a){return this.style=r({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs; -this.box=null;this.boxWrapper=this.boxWrapper.destroy();Oa(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&Z(K,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=p(a.textStr,"").toString(),f=e.indexOf("<")!==-1,g=b.childNodes,h,i,j=J(b,"x"),k=a.styles,m=a.textWidth,l=k&&k.lineHeight,n=k&&k.textShadow, -q=k&&k.textOverflow==="ellipsis",x=g.length,T=m&&!a.added&&this.box,Q=function(a){return l?F(l):c.fontMetrics(/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:k&&k.fontSize||c.style.fontSize||12,a).h},u=function(a){return a.replace(/</g,"<").replace(/>/g,">")};x--;)b.removeChild(g[x]);!f&&!n&&!q&&e.indexOf(" ")===-1?b.appendChild(C.createTextNode(u(e))):(h=/<.*style="([^"]+)".*>/,i=/<.*href="(http[^"]+)".*>/,T&&T.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g, -'').replace(//g,"").split(//g):[e],e[e.length-1]===""&&e.pop(),o(e,function(e,f){var g,l=0,e=e.replace(//g,"|||");g=e.split("|||");o(g,function(e){if(e!==""||g.length===1){var n={},x=C.createElementNS(Da,"tspan"),p;h.test(e)&&(p=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),J(x,"style",p));i.test(e)&&!d&&(J(x,"onclick",'location.href="'+e.match(i)[1]+'"'), -L(x,{cursor:"pointer"}));e=u(e.replace(/<(.|\n)*?>/g,"")||" ");if(e!==" "){x.appendChild(C.createTextNode(e));if(l)n.dx=0;else if(f&&j!==null)n.x=j;J(x,n);b.appendChild(x);!l&&f&&(!ca&&d&&L(x,{display:"block"}),J(x,"dy",Q(x)));if(m){for(var n=e.replace(/([^\^])-/g,"$1- ").split(" "),o=g.length>1||f||n.length>1&&k.whiteSpace!=="nowrap",T,y,s,t=[],v=Q(x),w=1,r=a.rotation,z=e,A=z.length;(o||q)&&(n.length||t.length);)a.rotation=0,T=a.getBBox(!0),s=T.width,!ca&&c.forExport&&(s=c.measureSpanWidth(x.firstChild.data, -a.styles)),T=s>m,y===void 0&&(y=T),q&&y?(A/=2,z===""||!T&&A<0.5?n=[]:(T&&(y=!0),z=e.substring(0,z.length+(T?-1:1)*sa(A)),n=[z+(m>3?"\u2026":"")],x.removeChild(x.firstChild))):!T||n.length===1?(n=t,t=[],n.length&&(w++,x=C.createElementNS(Da,"tspan"),J(x,{dy:v,x:j}),p&&J(x,"style",p),b.appendChild(x)),s>m&&(m=s)):(x.removeChild(x.firstChild),t.unshift(n.pop())),n.length&&x.appendChild(C.createTextNode(n.join(" ").replace(/- /g,"-")));y&&a.attr("title",a.textStr);a.rotation=r}l++}}})}),T&&T.removeChild(b), -n&&a.applyTextShadow&&a.applyTextShadow(n))},getContrast:function(a){a=na(a).rgba;return a[0]+a[1]+a[2]>384?"#000000":"#FFFFFF"},button:function(a,b,c,d,e,f,g,h,i){var j=this.label(a,b,c,i,null,null,null,null,"button"),k=0,m,l,n,q,x,p,a={x1:0,y1:0,x2:0,y2:1},e=A({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);n=e.style;delete e.style;f=A(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f); -q=f.style;delete f.style;g=A(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);x=g.style;delete g.style;h=A(e,{style:{color:"#CCC"}},h);p=h.style;delete h.style;H(j.element,xa?"mouseover":"mouseenter",function(){k!==3&&j.attr(f).css(q)});H(j.element,xa?"mouseout":"mouseleave",function(){k!==3&&(m=[e,f,g][k],l=[n,q,x][k],j.attr(m).css(l))});j.setState=function(a){(j.state=k=a)?a===2?j.attr(g).css(x):a===3&&j.attr(h).css(p):j.attr(e).css(n)};return j.on("click",function(a){k!== -3&&d.call(j,a)}).attr(e).css(r({cursor:"default"},n))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=w(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=w(a[2])+b%2/2);return a},path:function(a){var b={fill:O};Fa(a)?b.d=a:da(a)&&r(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=da(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=function(a){this.element.setAttribute("cx",a)};b.ySetter=function(a){this.element.setAttribute("cy",a)};return b.attr(a)},arc:function(a,b,c,d,e, -f){if(da(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0});a.r=c;return a},rect:function(a,b,c,d,e,f){var e=da(a)?a.r:e,g=this.createElement("rect"),a=da(a)?a:a===v?{}:{x:a,y:b,width:t(c,0),height:t(d,0)};if(f!==v)a.strokeWidth=f,a=g.crisp(a);if(e)a.r=e;g.rSetter=function(a){J(this.element,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;this.width=a;this.height=b;for(this.boxWrapper[p(c, -!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return s(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:O};arguments.length>1&&r(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(w(b), -w(c),d,e,f),i=/^url\((.*?)\)$/,j,k;if(h)g=this.path(h),r(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&r(g,f);else if(i.test(a))k=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(w((d-b[0])/2),w((e-b[1])/2)))},j=a.match(i)[1],a=Kb[j]||f&&f.width&&f.height&&[f.width,f.height],g=this.image(j).attr({x:b,y:c}),g.isImg=!0,a?k(g,a):(g.attr({width:0,height:0}),$("img",{onload:function(){k(g,Kb[j]=[this.width,this.height])},src:j}));return g},symbols:{circle:function(a, -b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-0.001,d=e.innerR,h=e.open,i=X(f),j=aa(f), -k=X(g),g=aa(g),e=e.end-fc&&e>b+g&&eb+g&&ed&&h>a+g&&ha+g&&hl&&/[ \-]/.test(b.textContent||b.innerText))L(b,{width:l+"px",display:"block",whiteSpace:j&&j.whiteSpace||"normal"}),i=l;this.getSpanCorrection(i,m,h,k,g)}L(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});if(fb)m=b.offsetHeight;this.cTT=n}}else this.alignOnAdd=!0},setSpanRotation:function(a, -b,c){var d={},e=xa?"-ms-transform":fb?"-webkit-transform":Ja?"MozTransform":Ib?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+(Ja?"Origin":"-origin")]=d.transformOrigin=b*100+"% "+c+"px";L(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});r(ua.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,f=d.renderer;d.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;e.innerHTML=this.textStr=a;d.htmlUpdateTransform()};d.xSetter=d.ySetter= -d.alignSetter=d.rotationSetter=function(a,b){b==="align"&&(b="textAlign");d[b]=a;d.htmlUpdateTransform()};d.attr({text:a,x:w(b),y:w(c)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});e.style.whiteSpace="nowrap";d.css=d.htmlCss;if(f.isSVG)d.add=function(a){var b,c=f.box.parentNode,j=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)j.push(a),a=a.parentGroup;o(j.reverse(),function(a){var d,e=J(a.element,"class");e&&(e={className:e});b=a.div=a.div||$(Ia,e,{position:"absolute", -left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;r(a,{translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=b+"px";a[c]=b;a.doTransform=!0}});Sa(a,"visibilitySetter",function(a,b,c,e){a.call(this,b,c,e);d[c]=b})})}}else b=c;b.appendChild(e);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d};return d}});if(!ca&&!fa){D={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b=== -Ia;(b==="shape"||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');if(b)c=e||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=$(c);this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();return this},updateTransform:P.prototype.htmlUpdateTransform, -setSpanRotation:function(){var a=this.rotation,b=X(a*ga),c=aa(a*ga);L(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):O})},getSpanCorrection:function(a,b,c,d,e){var f=d?X(d*ga):1,g=d?aa(d*ga):0,h=p(this.elemHeight,this.element.offsetHeight),i;this.xCorr=f<0&&-a;this.yCorr=g<0&&-h;i=f*g<0;this.xCorr+=g*b*(i?1-c:c);this.yCorr-=f*b*(d?i?c:1-c:1);e&&e!=="left"&&(this.xCorr-=a*c*(f<0?-1:1),d&&(this.yCorr-= -h*c*(g<0?-1:1)),L(this.element,{textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)if(qa(a[b]))c[b]=w(a[b]*10)-5;else if(a[b]==="Z")c[b]="x";else if(c[b]=a[b],a.isArc&&(a[b]==="wa"||a[b]==="at"))c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1);return c.join(" ")||"x"},clip:function(a){var b=this,c;a?(c=a.members,ja(c,b),c.push(b),b.destroyClip=function(){ja(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:eb?"inherit":"rect(auto)"}); -return b.css(a)},css:P.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Pa(a)},destroy:function(){this.destroyClip&&this.destroyClip();return P.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=K.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length;if(c===9||c===11)a[c-4]=a[c-2]=F(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,i=f.style,j,k=f.path, -m,l,n,q;k&&typeof k.value!=="string"&&(k="x");l=k;if(a){n=p(a.width,3);q=(a.opacity||0.15)/n;for(e=1;e<=3;e++){m=n*2+1-2*e;c&&(l=this.cutOffPath(k.value,m+0.5));j=[''];h=$(g.prepVML(j),null,{left:F(i.left)+p(a.offsetX,1),top:F(i.top)+p(a.offsetY,1)});if(c)h.cutOff=m+1;j=[''];$(g.prepVML(j),null,null,h);b?b.element.appendChild(h): -f.parentNode.insertBefore(h,f);d.push(h)}this.shadows=d}return this},updateShadows:ta,setAttr:function(a,b){eb?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){this.element.className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||$(this.renderer.prepVML([""]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var d=this.shadows,a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(d)for(c=d.length;c--;)d[c].path=d[c].cutOff? -this.cutOffPath(a,d[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var d=c.nodeName;if(d==="SPAN")c.style.color=a;else if(d!=="IMG")c.filled=a!==O,this.setAttr("fillcolor",this.renderer.color(a,c,b,this))},opacitySetter:ta,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a;c.left=-w(aa(a*ga)+1)+"px";c.top=w(X(a*ga))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;qa(a)&&(a+="px"); -this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){a==="inherit"&&(a="visible");this.shadows&&o(this.shadows,function(c){c.style[b]=a});c.nodeName==="DIV"&&(a=a==="hidden"?"-999em":0,eb||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;b==="x"?b="left":b==="y"&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}};B.VMLElement=D=ka(P, -D);D.prototype.ySetter=D.prototype.widthSetter=D.prototype.heightSetter=D.prototype.xSetter;var La={Element:D,isIE8:za.indexOf("MSIE 8.0")>-1,init:function(a,b,c,d){var e;this.alignedObjects=[];d=this.createElement(Ia).css(r(this.getStyle(d),{position:"relative"}));e=d.element;a.appendChild(d.element);this.isVML=!0;this.box=e;this.boxWrapper=d;this.cache={};this.setSize(b,c,!1);if(!C.namespaces.hcv){C.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{C.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){C.styleSheets[0].cssText+= -"hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,b,c,d){var e=this.createElement(),f=da(a);return r(e,{members:[],count:0,left:(f?a.x:a)+1,top:(f?a.y:b)+1,width:(f?a.width:c)-1,height:(f?a.height:d)-1,getCSS:function(a){var b=a.element,c=b.nodeName,a=a.inverted,d=this.top-(c==="shape"?b.offsetTop:0),e=this.left,b=e+this.width,f=d+this.height,d={clip:"rect("+w(a?e:d)+"px,"+ -w(a?f:b)+"px,"+w(a?b:f)+"px,"+w(a?d:e)+"px)"};!a&&eb&&c==="DIV"&&r(d,{width:b+"px",height:f+"px"});return d},updateClipping:function(){o(e.members,function(a){a.element&&a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,i,j=O;a&&a.linearGradient?i="gradient":a&&a.radialGradient&&(i="pattern");if(i){var k,m,l=a.linearGradient||a.radialGradient,n,q,x,p,Q,u="",a=a.stops,y,t=[],s=function(){h=[''];$(e.prepVML(h),null,null,b)};n=a[0];y=a[a.length-1];n[0]>0&&a.unshift([0,n[1]]);y[0]<1&&a.push([1,y[1]]);o(a,function(a,b){g.test(a[1])?(f=na(a[1]),k=f.get("rgb"),m=f.get("a")):(k=a[1],m=1);t.push(a[0]*100+"% "+k);b?(x=m,p=k):(q=m,Q=k)});if(c==="fill")if(i==="gradient")c=l.x1||l[0]||0,a=l.y1||l[1]||0,n=l.x2||l[2]||0,l=l.y2||l[3]||0,u='angle="'+(90-W.atan((l-a)/(n-c))*180/ma)+'"',s();else{var j=l.r,v=j*2,w=j*2,r=l.cx,z=l.cy,A=b.radialReference,C,j=function(){A&&(C=d.getBBox(), -r+=(A[0]-C.x)/C.width-0.5,z+=(A[1]-C.y)/C.height-0.5,v*=A[2]/C.width,w*=A[2]/C.height);u='src="'+S.global.VMLRadialGradientURL+'" size="'+v+","+w+'" origin="0.5,0.5" position="'+r+","+z+'" color2="'+Q+'" ';s()};d.added?j():d.onAdd=j;j=p}else j=k}else if(g.test(a)&&b.tagName!=="IMG")f=na(a),h=["<",c,' opacity="',f.get("a"),'"/>'],$(this.prepVML(h),null,null,b),j=f.get("rgb");else{j=b.getElementsByTagName(c);if(j.length)j[0].opacity=1,j[0].type="solid";j=a}return j},prepVML:function(a){var b=this.isIE8, -a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","1&&f.attr({x:b,y:c,width:d,height:e});return f},createElement:function(a){return a==="rect"?this.symbol(a):ua.prototype.createElement.call(this,a)},invertChild:function(a,b){var c=this,d=b.style,e=a.tagName==="IMG"&&a.style;L(a,{flip:"x", -left:F(d.width)-(e?F(e.top):1),top:F(d.height)-(e?F(e.left):1),rotation:-90});o(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=X(f),i=aa(f),j=X(g),k=aa(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa", -a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){return ua.prototype.symbols[!s(e)||!e.r?"square":"callout"].call(0,a,b,c,d,e)}}};B.VMLRenderer=D=function(){this.init.apply(this,arguments)};D.prototype=A(ua.prototype,La);Za=D}ua.prototype.measureSpanWidth=function(a,b){var c=C.createElement("span"),d;d=C.createTextNode(a);c.appendChild(d);L(c,b);this.box.appendChild(c);d=c.offsetWidth;Pa(c);return d};var Lb;if(fa)B.CanVGRenderer=D=function(){Da="http://www.w3.org/1999/xhtml"},D.prototype.symbols= -{},Lb=function(){function a(){var a=b.length,d;for(d=0;d0&&c+i*j>e&&(l=w((d-c)/X(h*ga)));else if(d=c+(1-i)*j,c-i*je&&(k=e-a.x+k*i,m=-1),k=z(b.slotWidth,k),kk||b.autoRotation&&g.styles.width)l=k;if(l){n.width=l;if(!b.options.labels.style.textOverflow)n.textOverflow="ellipsis";g.css(n)}}, -getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,k=i.reversed,m=i.staggerLines,l=i.tickRotCorr||{x:0,y:0},c=p(e.y,l.y+(i.side===2?8:-(c.getBBox().height/2))),a=a+e.x+l.x- -(f&&d?f*j*(k?-1:1):0),b=b+c-(f&&!d?f*j*(k?1:-1):0);m&&(b+=g/(h||1)%m*(i.labelOffset/m));return{x:a,y:w(b)}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,m=this.gridLine,l=h?h+"Grid":"grid",n=h?h+"Tick":"tick",q=e[l+"LineWidth"],x=e[l+"LineColor"],o=e[l+"LineDashStyle"],Q=e[n+"Length"],l=p(e[n+"Width"],!h&&d.isXAxis?1:0),u=e[n+ -"Color"],y=e[n+"Position"],n=this.mark,t=k.step,s=!0,w=d.tickmarkOffset,r=this.getPosition(g,j,w,b),z=r.x,r=r.y,C=g&&z===d.pos+d.len||!g&&r===d.pos?-1:1,c=p(c,1);this.isActive=!0;if(q){j=d.getPlotLinePath(j+w,q*C,b,!0);if(m===v){m={stroke:x,"stroke-width":q};if(o)m.dashstyle=o;if(!h)m.zIndex=1;if(b)m.opacity=0;this.gridLine=m=q?f.path(j).attr(m).add(d.gridGroup):null}if(!b&&m&&j)m[this.isNew?"attr":"animate"]({d:j,opacity:c})}if(l&&Q)y==="inside"&&(Q=-Q),d.opposite&&(Q=-Q),h=this.getMarkPath(z,r, -Q,l*C,g,f),n?n.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:u,"stroke-width":l,opacity:c}).add(d.axisGroup);if(i&&!isNaN(z))i.xy=r=this.getLabelPosition(z,r,i,g,k,w,a,t),this.isFirst&&!this.isLast&&!p(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!p(e.showLastLabel,1)?s=!1:g&&!d.isRadial&&!k.step&&!k.rotation&&!b&&c!==0&&this.handleOverflow(r),t&&a%t&&(s=!1),s&&!isNaN(r.y)?(r.opacity=c,i[this.isNew?"attr":"animate"](r),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Oa(this,this.axis)}}; -B.PlotLineOrBand=function(a,b){this.axis=a;if(b)this.options=b,this.id=b.id};B.PlotLineOrBand.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=a.options,e=d.label,f=a.label,g=d.width,h=d.to,i=d.from,j=s(i)&&s(h),k=d.value,m=d.dashStyle,l=a.svgElem,n=[],q,x=d.color,p=d.zIndex,o=d.events,u={},y=b.chart.renderer;b.isLog&&(i=Ba(i),h=Ba(h),k=Ba(k));if(g){if(n=b.getPlotLinePath(k,g),u={stroke:x,"stroke-width":g},m)u.dashstyle=m}else if(j){n=b.getPlotBandPath(i,h,d);if(x)u.fill=x;if(d.borderWidth)u.stroke= -d.borderColor,u["stroke-width"]=d.borderWidth}else return;if(s(p))u.zIndex=p;if(l)if(n)l.animate({d:n},null,l.onGetPath);else{if(l.hide(),l.onGetPath=function(){l.show()},f)a.label=f=f.destroy()}else if(n&&n.length&&(a.svgElem=l=y.path(n).attr(u).add(),o))for(q in d=function(b){l.on(b,function(c){o[b].apply(a,[c])})},o)d(q);if(e&&s(e.text)&&n&&n.length&&b.width>0&&b.height>0){e=A({align:c&&j&&"center",x:c?!j&&4:10,verticalAlign:!c&&j&&"middle",y:c?j?16:10:j?6:-4,rotation:c&&!j&&90},e);if(!f){u={align:e.textAlign|| -e.align,rotation:e.rotation};if(s(p))u.zIndex=p;a.label=f=y.text(e.text,0,0,e.useHTML).attr(u).css(e.style).add()}b=[n[1],n[4],j?n[6]:n[1]];j=[n[2],n[5],j?n[7]:n[2]];n=Na(b);c=Na(j);f.align(e,!1,{x:n,y:c,width:Ca(b)-n,height:Ca(j)-c});f.show()}else f&&f.hide();return a},destroy:function(){ja(this.axis.plotLinesAndBands,this);delete this.axis;Oa(this)}};var ha=B.Axis=function(){this.init.apply(this,arguments)};ha.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S", -minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#D8D8D8",labels:{enabled:!0,style:{color:"#606060",cursor:"default",fontSize:"11px"},x:0,y:15},lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100, -tickPosition:"outside",title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return B.numberFormat(this.total,-1)},style:A(ba.line.dataLabels.style,{color:"#000000"})}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15, -y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0,y:-15},title:{rotation:0}},init:function(a,b){var c=b.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.coll=(this.isXAxis=c)?"xAxis":"yAxis";this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var d=this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter; -this.userOptions=b;this.minPixelPadding=0;this.reversed=d.reversed;this.zoomEnabled=d.zoomEnabled!==!1;this.categories=d.categories||e==="category";this.names=this.names||[];this.isLog=e==="logarithmic";this.isDatetimeAxis=e==="datetime";this.isLinked=s(d.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks= -{};this.stacksTouched=0;this.min=this.max=null;this.crosshair=p(d.crosshair,ra(a.options.tooltip.crosshairs)[c?0:1],!1);var f,d=this.options.events;Ka(this,a.axes)===-1&&(c&&!this.isColorAxis?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];if(a.inverted&&c&&this.reversed===v)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in d)H(this,f,d[f]);if(this.isLog)this.val2lin=Ba,this.lin2val=ia},setOptions:function(a){this.options= -A(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],A(S[this.coll],a))},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=a.categories,d=this.dateTimeLabelFormat,e=S.lang.numericSymbols,f=e&&e.length,g,h=a.options.labels.format,a=a.isLog?b:a.tickInterval;if(h)g=Ha(h,this);else if(c)g=b;else if(d)g=Ma(d,b);else if(f&&a>=1E3)for(;f--&&g===v;)c=Math.pow(1E3, -f+1),a>=c&&b*10%c===0&&e[f]!==null&&(g=B.numberFormat(b/c,-1)+e[f]);g===v&&(g=N(b)>=1E4?B.numberFormat(b,-1):B.numberFormat(b,-1,v,""));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.ignoreMinPadding=a.ignoreMaxPadding=null;a.buildStacks&&a.buildStacks();o(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d;d=c.options.threshold;var e;a.hasVisibleSeries=!0;a.isLog&&d<=0&&(d=null);if(a.isXAxis){if(d=c.xData,d.length)a.dataMin= -z(p(a.dataMin,d[0]),Na(d)),a.dataMax=t(p(a.dataMax,d[0]),Ca(d))}else{c.getExtremes();e=c.dataMax;c=c.dataMin;if(s(c)&&s(e))a.dataMin=z(p(a.dataMin,c),c),a.dataMax=t(p(a.dataMax,e),e);if(s(d))if(a.dataMin>=d)a.dataMin=d,a.ignoreMinPadding=!0;else if(a.dataMaxc)d?a=z(t(b,a),c):l=!0;return a},e=p(e,this.translate(a,null,null,c)),a=c=w(e+i);i=j=w(k-e-i);isNaN(e)?l=!0:this.horiz?(i=h,j=k-this.bottom,a=c=n(a,g,g+this.width)):(a=g,c=m-this.right,i=j=n(i,h,h+this.height));return l&&!d?null:f.renderer.crispLine(["M",a,i,"L",c,j],b||1)},getLinearTickPositions:function(a,b,c){var d,e=ea(V(b/a)*a),f=ea(sa(c/a)*a),g=[];if(b===c&&qa(b))return[b];for(b=e;b<=f;){g.push(b);b=ea(b+a);if(b===d)break;d=b}return g}, -getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e,f=this.pointRangePadding||0;e=this.min-f;var f=this.max+f,g=f-e;if(g&&g/c=this.minRange,f,g,h,i,j;if(this.isXAxis&&this.minRange===v&&!this.isLog)s(a.min)||s(a.max)?this.minRange=null:(o(this.series,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===v||hc&&(h=0);d=t(d,h);b.single||(f=t(f,Aa(j)?0:h/2),g=t(g, -j==="on"?0:h));!a.noSharedTooltip&&s(q)&&(e=s(e)?z(e,q):q)}),h=b.ordinalSlope&&e?b.ordinalSlope/e:1,b.minPointOffset=f*=h,b.pointRangePadding=g*=h,b.pointRange=z(d,c),k)b.closestPointRange=e;if(a)b.oldTransA=j;b.translationSlope=b.transA=j=b.len/(c+g||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=j*f},minFromRange:function(){return this.max-this.range},setTickInterval:function(a){var b=this,c=b.chart,d=b.options,e=b.isLog,f=b.isDatetimeAxis,g=b.isXAxis,h=b.isLinked,i=d.maxPadding,j=d.minPadding, -k=d.tickInterval,m=d.tickPixelInterval,l=b.categories;!f&&!l&&!h&&this.getTickAmount();h?(b.linkedParent=c[b.coll][d.linkedTo],c=b.linkedParent.getExtremes(),b.min=p(c.min,c.dataMin),b.max=p(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&la(11,1)):(b.min=p(b.userMin,d.min,b.dataMin),b.max=p(b.userMax,d.max,b.dataMax));if(e)!a&&z(b.min,p(b.dataMin,b.min))<=0&&la(10,1),b.min=ea(Ba(b.min),15),b.max=ea(Ba(b.max),15);if(b.range&&s(b.max))b.userMin=b.min=t(b.min,b.minFromRange()),b.userMax=b.max, -b.range=null;b.beforePadding&&b.beforePadding();b.adjustForMinRange();if(!l&&!b.axisPointRange&&!b.usePercentage&&!h&&s(b.min)&&s(b.max)&&(c=b.max-b.min)){if(!s(d.min)&&!s(b.userMin)&&j&&(b.dataMin<0||!b.ignoreMinPadding))b.min-=c*j;if(!s(d.max)&&!s(b.userMax)&&i&&(b.dataMax>0||!b.ignoreMaxPadding))b.max+=c*i}if(qa(d.floor))b.min=t(b.min,d.floor);if(qa(d.ceiling))b.max=z(b.max,d.ceiling);b.tickInterval=b.min===b.max||b.min===void 0||b.max===void 0?1:h&&!k&&m===b.linkedParent.options.tickPixelInterval? -k=b.linkedParent.tickInterval:p(k,this.tickAmount?(b.max-b.min)/t(this.tickAmount-1,1):void 0,l?1:(b.max-b.min)*m/t(b.len,m));g&&!a&&o(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(b.pointRange)b.tickInterval=t(b.pointRange,b.tickInterval);a=p(d.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);if(!k&& -b.tickInterval0.5&&b.tickInterval<5&&b.max>1E3&&b.max<9999)),!!this.tickAmount);if(!this.tickAmount&&this.len)b.tickInterval=b.unsquish();this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,e=a.startOnTick,f=a.endOnTick,g;this.tickmarkOffset=this.categories&&a.tickmarkPlacement==="between"&&this.tickInterval===1?0.5: -0;this.minorTickInterval=a.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b=c&&c.slice();if(!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]), -this.tickPositions=b,d&&(d=d.apply(this,[this.min,this.max]))))this.tickPositions=b=d;if(!this.isLinked)this.trimTicks(b,e,f),this.min===this.max&&s(this.min)&&!this.tickAmount&&(g=!0,this.min-=0.5,this.max+=0.5),this.single=g,!c&&!d&&this.adjustTickAmount()},trimTicks:function(a,b,c){var d=a[0],e=a[a.length-1],f=this.minPointOffset||0;b?this.min=d:this.min-f>d&&a.shift();c?this.max=e:this.max+fc&&(this.tickInterval*=2,this.setTickPositions());if(s(d)){for(a=c=b.length;a--;)(d===3&&a%2===1||d<=2&&a>0&&a=e&&(b=e));this.displayBtn=a!==v||b!==v;this.setExtremes(a,b,!1,v,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,e=p(b.width,a.plotWidth-c+(b.offsetRight||0)),f=p(b.height, -a.plotHeight),g=p(b.top,a.plotTop),b=p(b.left,a.plotLeft+c),c=/%$/;c.test(f)&&(f=parseFloat(f)/100*a.plotHeight);c.test(g)&&(g=parseFloat(g)/100*a.plotHeight+a.plotTop);this.left=b;this.top=g;this.width=e;this.height=f;this.bottom=a.chartHeight-f-g;this.right=a.chartWidth-e-b;this.len=t(d?e:f,0);this.pos=d?b:g},getExtremes:function(){var a=this.isLog;return{min:a?ea(ia(this.min)):this.min,max:a?ea(ia(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}, -getThreshold:function(a){var b=this.isLog,c=b?ia(this.min):this.min,b=b?ia(this.max):this.max;a===null?a=b<0?b:c:c>a?a=c:b15&&a<165?"right":a>195&&a<345?"left":"center"},unsquish:function(){var a=this.ticks,b=this.options.labels,c=this.horiz,d=this.tickInterval,e=d,f=this.len/(((this.categories?1:0)+this.max-this.min)/d),g,h=b.rotation,i=this.chart.renderer.fontMetrics(b.style.fontSize, -a[0]&&a[0].label),j,k=Number.MAX_VALUE,m,l=function(a){a/=f||1;a=a>1?sa(a):1;return a*d};c?(m=s(h)?[h]:f=-90&&a<=90)j=l(N(i.h/aa(ga*a))),b=j+N(a/360),bl)l=a.labelLength}),l>j&&l>g.h?k.rotation=this.labelRotation:this.labelRotation=0;else if(i&&(m={width:j+"px"},!h)){m.textOverflow= -"clip";for(i=c.length;!f&&i--;)if(j=c[i],j=d[j].label)if(j.styles.textOverflow==="ellipsis"&&j.css({textOverflow:"clip"}),j.getBBox().height>this.len/c.length-(g.h-g.f))j.specCss={textOverflow:"ellipsis"}}if(k.rotation&&(m={width:(l>a.chartHeight*0.5?a.chartHeight*0.33:a.chartHeight)+"px"},!h))m.textOverflow="ellipsis";this.labelAlign=k.align=e.align||this.autoLabelAlign(this.labelRotation);o(c,function(a){var b=(a=d[a])&&a.label;if(b)m&&b.css(A(m,b.specCss)),delete b.specCss,b.attr(k),a.rotation= -k.rotation});this.tickRotCorr=b.rotCorr(g.b,this.labelRotation||0,this.side===2)},hasData:function(){return this.hasVisibleSeries||s(this.min)&&s(this.max)&&!!this.tickPositions},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,i=b.inverted?[1,0,3,2][h]:h,j,k,m=0,l,n=0,q=d.title,x=d.labels,T=0,Q=b.axisOffset,b=b.clipOffset,u=[-1,1,1,-1][h],y;j=a.hasData();a.showAxis=k=j||p(d.showEmpty,!0);a.staggerLines=a.horiz&&x.staggerLines;if(!a.axisGroup)a.gridGroup= -c.g("grid").attr({zIndex:d.gridZIndex||1}).add(),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(),a.labelGroup=c.g("axis-labels").attr({zIndex:x.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels").add();if(j||a.isLinked){if(o(e,function(b){f[b]?f[b].addLabel():f[b]=new Ra(a,b)}),a.renderUnsquish(),o(e,function(b){if(h===0||h===2||{1:"left",3:"right"}[h]===a.labelAlign)T=t(f[b].getLabelSize(),T)}),a.staggerLines)T*=a.staggerLines,a.labelOffset=T}else for(y in f)f[y].destroy(), -delete f[y];if(q&&q.text&&q.enabled!==!1){if(!a.axisTitle)a.axisTitle=c.text(q.text,0,0,q.useHTML).attr({zIndex:7,rotation:q.rotation||0,align:q.textAlign||{low:"left",middle:"center",high:"right"}[q.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(q.style).add(a.axisGroup),a.axisTitle.isNew=!0;if(k)m=a.axisTitle.getBBox()[g?"height":"width"],l=q.offset,n=s(l)?0:p(q.margin,g?5:10);a.axisTitle[k?"show":"hide"]()}a.offset=u*p(d.offset,Q[h]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0}; -c=h===2?a.tickRotCorr.y:0;g=T+n+(T&&u*(g?p(x.y,a.tickRotCorr.y+8):x.x)-c);a.axisTitleMargin=p(l,g);Q[h]=t(Q[h],a.axisTitleMargin+m+u*a.offset,g);d=d.offset?0:V(d.lineWidth/2)*2;b[i]=t(b[i],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a= -this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite,h=this.offset,i=e.x||0,j=e.y||0,k=F(e.style.fontSize||12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(this.side===2?k:0);return{x:a?d+i:b+(g?this.width:0)+h+i,y:a?b+j-(g?this.height:0)+h:d+j}},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.isLog,f=a.isLinked,g=a.tickPositions,h=a.axisTitle,i=a.ticks,j=a.minorTicks,k= -a.alternateBands,m=d.stackLabels,l=d.alternateGridColor,n=a.tickmarkOffset,q=d.lineWidth,x,p=b.hasRendered&&s(a.oldMin)&&!isNaN(a.oldMin),Q=a.showAxis,u=c.globalAnimation,y,t;a.labelEdge.length=0;a.overlap=!1;o([i,j,k],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||f){a.minorTickInterval&&!a.categories&&o(a.getMinorTickPositions(),function(b){j[b]||(j[b]=new Ra(a,b,"minor"));p&&j[b].isNew&&j[b].render(null,!0);j[b].render(null,!1,1)});if(g.length&&(o(g,function(b,c){if(!f||b>=a.min&& -b<=a.max)i[b]||(i[b]=new Ra(a,b)),p&&i[b].isNew&&i[b].render(c,!0,0.1),i[b].render(c)}),n&&(a.min===0||a.single)))i[-1]||(i[-1]=new Ra(a,-1,null,!0)),i[-1].render(-1);l&&o(g,function(b,c){if(c%2===0&&b=E.second?0:k*V(i.getMilliseconds()/k));if(j>=E.second)i[Eb](j>=E.minute?0:k*V(i.getSeconds()/k));if(j>=E.minute)i[Fb](j>=E.hour?0:k*V(i[qb]()/k));if(j>=E.hour)i[Gb](j>=E.day?0:k*V(i[rb]()/k)); -if(j>=E.day)i[tb](j>=E.month?1:k*V(i[Wa]()/k));j>=E.month&&(i[ub](j>=E.year?0:k*V(i[Xa]()/k)),h=i[Ya]());j>=E.year&&(h-=h%k,i[vb](h));if(j===E.week)i[tb](i[Wa]()-i[sb]()+p(d,1));b=1;if(mb||bb)i=i.getTime(),i=new ya(i+Va(i));h=i[Ya]();for(var d=i.getTime(),m=i[Xa](),l=i[Wa](),n=(E.day+(g?Va(i):i.getTimezoneOffset()*6E4))%E.day;d=0.5)a=w(a),g=this.getLinearTickPositions(a,b,c);else if(a>=0.08)for(var f=V(b),h,i,j,k,m,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];fb&&(!d||k<=c)&&k!==v&&g.push(k),k>c&&(m=!0),k=j}else if(b=ia(b), -c=ia(c),a=e[d?"minorTickInterval":"tickInterval"],a=p(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=ob(a,null,nb(a)),g=Ta(this.getLinearTickPositions(a,b,c),Ba),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=a;return g};var Mb=B.Tooltip=function(){this.init.apply(this,arguments)};Mb.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=F(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0, -y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).add().attr({y:-9999});fa||this.label.shadow(b.shadow);this.shared=b.shared},destroy:function(){if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=e.options.animation!==!1&&!e.isHidden&& -(N(a-f.x)>1||N(b-f.y)>1),h=e.followPointer||e.len>1;r(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:b,anchorX:h?v:g?(2*f.anchorX+c)/3:c,anchorY:h?v:g?(f.anchorY+d)/2:d});e.label.attr(f);if(g)clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(a,b,c,d)},32)},hide:function(a){var b=this;clearTimeout(this.hideTimer);if(!this.isHidden)this.hideTimer=setTimeout(function(){b.label.fadeOut();b.isHidden=!0},p(a,this.options.hideDelay,500))},getAnchor:function(a,b){var c,d=this.chart, -e=d.inverted,f=d.plotTop,g=d.plotLeft,h=0,i=0,j,k,a=ra(a);c=a[0].tooltipPos;this.followPointer&&b&&(b.chartX===v&&(b=d.pointer.normalize(b)),c=[b.chartX-d.plotLeft,b.chartY-f]);c||(o(a,function(a){j=a.series.yAxis;k=a.series.xAxis;h+=a.plotX+(!e&&k?k.left-g:0);i+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&j?j.top-f:0)}),h/=a.length,i/=a.length,c=[e?d.plotWidth-i:h,this.shared&&!e&&a.length>1&&b?b.chartY-f:e?d.plotHeight-h:i]);return Ta(c,w)},getPosition:function(a,b,c){var d=this.chart,e=this.distance, -f={},g=c.h||0,h,i=["y",d.chartHeight,b,c.plotY+d.plotTop,d.plotTop,d.plotTop+d.plotHeight],j=["x",d.chartWidth,a,c.plotX+d.plotLeft,d.plotLeft,d.plotLeft+d.plotWidth],k=p(c.ttBelow,d.inverted&&!c.negative||!d.inverted&&c.negative),m=function(a,b,c,d,h,i){var j=cb?d:d+g);else return!1},l=function(a,b,c,d){if(db-e)return!1;else f[a]=db-c/2?b-c-2:d-c/2},n=function(a){var b= -i;i=j;j=b;h=a},q=function(){m.apply(0,i)!==!1?l.apply(0,j)===!1&&!h&&(n(!0),q()):h?f.x=f.y=0:(n(!0),q())};(d.inverted||this.len>1)&&n();q();return f},defaultFormatter:function(a){var b=this.points||ra(this),c;c=[a.tooltipFooterHeaderFormatter(b[0])];c=c.concat(a.bodyFormatter(b));c.push(a.tooltipFooterHeaderFormatter(b[0],!0));return c.join("")},refresh:function(a,b){var c=this.chart,d=this.label,e=this.options,f,g,h,i={},j,k=[];j=e.formatter||this.defaultFormatter;var i=c.hoverPoints,m,l=this.shared; -clearTimeout(this.hideTimer);this.followPointer=ra(a)[0].series.tooltipOptions.followPointer;h=this.getAnchor(a,b);f=h[0];g=h[1];l&&(!a.series||!a.series.noSharedTooltip)?(c.hoverPoints=a,i&&o(i,function(a){a.setState()}),o(a,function(a){a.setState("hover");k.push(a.getLabelConfig())}),i={x:a[0].category,y:a[0].y},i.points=k,this.len=k.length,a=a[0]):i=a.getLabelConfig();j=j.call(i,this);i=a.series;this.distance=p(i.tooltipOptions.distance,16);j===!1?this.hide():(this.isHidden&&(kb(d),d.attr("opacity", -1).show()),d.attr({text:j}),m=e.borderColor||a.color||i.color||"#606060",d.attr({stroke:m}),this.updatePosition({plotX:f,plotY:g,negative:a.negative,ttBelow:a.ttBelow,h:h[2]||0}),this.isHidden=!1);I(c,"tooltipRefresh",{text:j,x:f+c.plotLeft,y:g+c.plotTop,borderColor:m})},updatePosition:function(a){var b=this.chart,c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(w(c.x),w(c.y||0),a.plotX+b.plotLeft,a.plotY+b.plotTop)},getXDateFormat:function(a,b,c){var d, -b=b.dateTimeLabelFormats,e=c&&c.closestPointRange,f,g={millisecond:15,second:12,minute:9,hour:6,day:3},h,i="millisecond";if(e){h=Ma("%m-%d %H:%M:%S.%L",a.x);for(f in E){if(e===E.week&&+Ma("%w",a.x)===c.options.startOfWeek&&h.substr(6)==="00:00:00.000"){f="week";break}else if(E[f]>e){f=i;break}else if(g[f]&&h.substr(g[f])!=="01-01 00:00:00.000".substr(g[f]))break;f!=="week"&&(i=f)}f&&(d=b[f])}else d=b.day;return d||b.year},tooltipFooterHeaderFormatter:function(a,b){var c=b?"footer":"header",d=a.series, -e=d.tooltipOptions,f=e.xDateFormat,g=d.xAxis,h=g&&g.options.type==="datetime"&&qa(a.key),c=e[c+"Format"];h&&!f&&(f=this.getXDateFormat(a,e,g));h&&f&&(c=c.replace("{point.key}","{point.key:"+f+"}"));return Ha(c,{point:a,series:d})},bodyFormatter:function(a){return Ta(a,function(a){var c=a.series.tooltipOptions;return(c.pointFormatter||a.point.tooltipFormatter).call(a.point,c.pointFormat)})}};var oa;$a=C.documentElement.ontouchstart!==v;var Ua=B.Pointer=function(a,b){this.init(a,b)};Ua.prototype={init:function(a, -b){var c=b.chart,d=c.events,e=fa?"":c.zoomType,c=a.inverted,f;this.options=b;this.chart=a;this.zoomX=f=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=f&&!c||e&&c;this.zoomVert=e&&!c||f&&c;this.hasZoom=f||e;this.runChartClick=d&&!!d.click;this.pinchDown=[];this.lastValidTouch={};if(B.Tooltip&&b.tooltip.enabled)a.tooltip=new Mb(a,b.tooltip),this.followTouchMove=p(b.tooltip.followTouchMove,!0);this.setDOMEvents()},normalize:function(a,b){var c,d,a=a||window.event,a=Sb(a);if(!a.target)a.target=a.srcElement; -d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;if(!b)this.chartPosition=b=Rb(this.chart.container);d.pageX===v?(c=t(a.x,a.clientX-b.left),d=a.y):(c=d.pageX-b.left,d=d.pageY-b.top);return r(a,{chartX:w(c),chartY:w(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};o(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(a){var b=this.chart,c=b.series,d=b.tooltip,e=d?d.shared: -!1,f=b.hoverPoint,g=b.hoverSeries,h,i=b.chartWidth,j,k,m=[],l,n;if(!e&&!g)for(h=0;hh+j&&(d=h+j),ei+k&&(e=i+k),this.hasDragged=Math.sqrt(Math.pow(n-d,2)+Math.pow(q-e,2)),this.hasDragged> -10){m=b.isInsidePlot(n-h,q-i);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&m&&!x&&!l)this.selectionMarker=l=b.renderer.rect(h,i,f?1:j,g?1:k,0).attr({fill:c.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();l&&f&&(d-=n,l.attr({width:N(d),x:(d>0?0:d)+n}));l&&g&&(d=e-q,l.attr({height:N(d),y:(d>0?0:d)+q}));m&&!l&&c.panning&&b.pan(a,c.panning)}},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var e={xAxis:[],yAxis:[],originalEvent:a.originalEvent|| -a},f=this.selectionMarker,g=f.attr?f.attr("x"):f.x,h=f.attr?f.attr("y"):f.y,i=f.attr?f.attr("width"):f.width,j=f.attr?f.attr("height"):f.height,k;if(this.hasDragged||d)o(c.axes,function(c){if(c.zoomEnabled&&s(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var f=c.horiz,n=a.type==="touchend"?c.minPixelPadding:0,q=c.toValue((f?g:h)+n),f=c.toValue((f?g+i:h+j)-n);e[c.coll].push({axis:c,min:z(q,f),max:t(q,f)});k=!0}}),k&&I(c,"selection",e,function(a){c.zoom(r(a,d?{animation:!1}:null))});this.selectionMarker= -this.selectionMarker.destroy();d&&this.scaleGroups()}if(c)L(c.container,{cursor:c._cursor}),c.cancelClick=this.hasDragged>10,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){Y[oa]&&Y[oa].pointer.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,a=this.normalize(a,c);c&&!this.inClass(a.target,"highcharts-tracker")&& -!b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&this.reset()},onContainerMouseLeave:function(){var a=Y[oa];if(a)a.pointer.reset(),a.pointer.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart;oa=b.index;a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,b){for(var c;a;){if(c=J(a,"class"))if(c.indexOf(b)!== --1)return!0;else if(c.indexOf("highcharts-container")!==-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries,c=(a=a.relatedTarget||a.toElement)&&a.point&&a.point.series;if(b&&!b.options.stickyTracking&&!this.inClass(a,"highcharts-tooltip")&&c!==b)b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop,a=this.normalize(a);a.originalEvent=a;b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(I(c.series,"click", -r(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&I(b,"click",a)))},setDOMEvents:function(){var a=this,b=a.chart.container;b.onmousedown=function(b){a.onContainerMouseDown(b)};b.onmousemove=function(b){a.onContainerMouseMove(b)};b.onclick=function(b){a.onContainerClick(b)};H(b,"mouseleave",a.onContainerMouseLeave);ab===1&&H(C,"mouseup",a.onDocumentMouseUp);if($a)b.ontouchstart=function(b){a.onContainerTouchStart(b)},b.ontouchmove= -function(b){a.onContainerTouchMove(b)},ab===1&&H(C,"touchend",a.onDocumentTouchEnd)},destroy:function(){var a;Z(this.chart.container,"mouseleave",this.onContainerMouseLeave);ab||(Z(C,"mouseup",this.onDocumentMouseUp),Z(C,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(a in this)this[a]=null}};r(B.Pointer.prototype,{pinchTranslate:function(a,b,c,d,e,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,a,b,c,d,e,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1, -a,b,c,d,e,f)},pinchTranslateDirection:function(a,b,c,d,e,f,g,h){var i=this.chart,j=a?"x":"y",k=a?"X":"Y",m="chart"+k,l=a?"width":"height",n=i["plot"+(a?"Left":"Top")],q,x,p=h||1,o=i.inverted,u=i.bounds[a?"h":"v"],t=b.length===1,s=b[0][m],r=c[0][m],w=!t&&b[1][m],v=!t&&c[1][m],z,c=function(){!t&&N(s-w)>20&&(p=h||N(r-v)/N(s-w));x=(n-r)/p+s;q=i["plot"+(a?"Width":"Height")]/p};c();b=x;bu.max&&(b=u.max-q,z=!0);z?(r-=0.8*(r-g[j][0]),t||(v-=0.8*(v-g[j][1])),c()):g[j]=[r,v];o||(f[j]= -x-n,f[l]=q);f=o?1/p:p;e[l]=q;e[j]=b;d[o?a?"scaleY":"scaleX":"scale"+k]=p;d["translate"+k]=f*n+(r-f*s)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown,e=a.touches,f=e.length,g=b.lastValidTouch,h=b.hasZoom,i=b.selectionMarker,j={},k=f===1&&(b.inClass(a.target,"highcharts-tracker")&&c.runTrackerClick||b.runChartClick),m={};if(f>1)b.initiated=!0;h&&b.initiated&&!k&&a.preventDefault();Ta(e,function(a){return b.normalize(a)});if(a.type==="touchstart")o(e,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}), -g.x=[d[0].chartX,d[1]&&d[1].chartX],g.y=[d[0].chartY,d[1]&&d[1].chartY],o(c.axes,function(a){if(a.zoomEnabled){var b=c.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(p(a.options.min,a.dataMin)),f=a.toPixels(p(a.options.max,a.dataMax)),g=z(e,f),e=t(e,f);b.min=z(a.pos,g-d);b.max=t(a.pos+a.len,e+d)}}),b.res=!0;else if(d.length){if(!i)b.selectionMarker=i=r({destroy:ta,touch:!0},c.plotBox);b.pinchTranslate(d,e,j,i,m,g);b.hasPinched=h;b.scaleGroups(j,m);if(!h&&b.followTouchMove&&f===1)this.runPointActions(b.normalize(a)); -else if(b.res)b.res=!1,this.reset(!1,0)}},touch:function(a,b){var c=this.chart;oa=c.index;a.touches.length===1?(a=this.normalize(a),c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop)&&!c.openMenu?(b&&this.runPointActions(a),this.pinch(a)):b&&this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchStart:function(a){this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(a){Y[oa]&&Y[oa].pointer.drop(a)}});if(K.PointerEvent||K.MSPointerEvent){var va= -{},Ab=!!K.PointerEvent,Wb=function(){var a,b=[];b.item=function(a){return this[a]};for(a in va)va.hasOwnProperty(a)&&b.push({pageX:va[a].pageX,pageY:va[a].pageY,target:va[a].target});return b},Bb=function(a,b,c,d){a=a.originalEvent||a;if((a.pointerType==="touch"||a.pointerType===a.MSPOINTER_TYPE_TOUCH)&&Y[oa])d(a),d=Y[oa].pointer,d[b]({type:c,target:a.currentTarget,preventDefault:ta,touches:Wb()})};r(Ua.prototype,{onContainerPointerDown:function(a){Bb(a,"onContainerTouchStart","touchstart",function(a){va[a.pointerId]= -{pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){Bb(a,"onContainerTouchMove","touchmove",function(a){va[a.pointerId]={pageX:a.pageX,pageY:a.pageY};if(!va[a.pointerId].target)va[a.pointerId].target=a.currentTarget})},onDocumentPointerUp:function(a){Bb(a,"onDocumentTouchEnd","touchend",function(a){delete va[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,Ab?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,Ab? -"pointermove":"MSPointerMove",this.onContainerPointerMove);a(C,Ab?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});Sa(Ua.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&L(b.container,{"-ms-touch-action":O,"touch-action":O})});Sa(Ua.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(H)});Sa(Ua.prototype,"destroy",function(a){this.batchMSEvents(Z);a.call(this)})}var lb=B.Legend=function(a,b){this.init(a,b)};lb.prototype= -{init:function(a,b){var c=this,d=b.itemStyle,e=b.itemMarginTop||0;this.options=b;if(b.enabled)c.itemStyle=d,c.itemHiddenStyle=A(d,b.itemHiddenStyle),c.itemMarginTop=e,c.padding=d=p(b.padding,8),c.initialItemX=d,c.initialItemY=d-5,c.maxItemWidth=0,c.chart=a,c.itemHeight=0,c.symbolWidth=p(b.symbolWidth,16),c.pages=[],c.render(),H(c.chart,"endResize",function(){c.positionCheckboxes()})},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color, -c=b?c.itemStyle.color:g,h=b?a.legendColor||a.color||"#CCC":g,g=a.options&&a.options.marker,i={fill:h},j;d&&d.css({fill:c,color:c});e&&e.attr({stroke:h});if(f){if(g&&f.isMarker)for(j in i.stroke=h,g=a.convertAttribs(g),g)d=g[j],d!==v&&(i[j]=d);f.attr(i)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox; -o(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&Pa(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(a){var b=this.group.alignAttr,c,d=this.clipHeight||this.legendHeight;if(b)c=b.translateY,o(this.allItems,function(e){var f=e.checkbox,g;f&&(g=c+f.y+(a||0)+3,L(f,{left:b.translateX+e.checkboxOffset+f.x-20+"px",top:g+"px",display:g>c-6&&g(l||b.chartWidth-2*j-x-d.x))this.itemX=x,this.itemY+=q+this.lastLineHeight+n,this.lastLineHeight=0;this.maxItemWidth=t(this.maxItemWidth,f);this.lastItemY=q+this.itemY+n;this.lastLineHeight=t(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=f:(this.itemY+=q+g+n,this.lastLineHeight=g);this.offsetWidth=l||t((e?this.itemX-x-k:f)+j,this.offsetWidth)},getAllItems:function(){var a=[];o(this.chart.series,function(b){var c=b.options;if(p(c.showInLegend, -!s(c.linkedTo)?v:!1,!0))a=a.concat(b.legendItems||(c.legendType==="point"?b.data:b))});return a},adjustMargins:function(a,b){var c=this.chart,d=this.options,e=d.align.charAt(0)+d.verticalAlign.charAt(0)+d.layout.charAt(0);this.display&&!d.floating&&o([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(f,g){f.test(e)&&!s(a[g])&&(c[gb[g]]=t(c[gb[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+p(d.margin,12)+b[g]))})},render:function(){var a=this,b= -a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,j=a.options,k=a.padding,m=j.borderWidth,l=j.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup);a.renderTitle();e=a.getAllItems();pb(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});j.reversed&&e.reverse();a.allItems=e;a.display= -f=!!e.length;a.lastLineHeight=0;o(e,function(b){a.renderItem(b)});g=(j.width||a.offsetWidth)+k;h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);h+=k;if(m||l){if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp({width:g,height:h})),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,j.borderRadius,m||0).attr({stroke:j.borderColor,"stroke-width":m||0,fill:l||O}).add(d).shadow(j.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;o(e,function(b){a.positionItem(b)});f&&d.align(r({width:g, -height:h},j),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h,i=this.clipRect,j=e.navigation,k=p(j.animation,!0),m=j.arrowSize||12,l=this.nav,n=this.pages,q=this.padding,x,s=this.allItems,r=function(a){i.attr({height:a});if(b.contentGroup.div)b.contentGroup.div.style.clip="rect("+q+"px,9999px,"+(q+a)+"px,0)"};e.layout==="horizontal"&& -(f/=2);g&&(f=z(f,g));n.length=0;if(a>f){this.clipHeight=h=t(f-20-this.titleHeight-q,0);this.currentPage=p(this.currentPage,1);this.fullHeight=a;o(s,function(a,b){var c=a._legendItemPos[1],d=w(a.legendItem.getBBox().height),e=n.length;if(!e||c-n[e-1]>h&&(x||c)!==n[e-1])n.push(x||c),e++;b===s.length-1&&c+d-n[e-1]>h&&n.push(c);c!==x&&(x=c)});if(!i)i=b.clipRect=d.clipRect(0,q,9999,0),b.contentGroup.clip(i);r(h);if(!l)this.nav=l=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,m, -m).on("click",function(){b.scroll(-1,k)}).add(l),this.pager=d.text("",15,10).css(j.style).add(l),this.down=d.symbol("triangle-down",0,0,m,m).on("click",function(){b.scroll(1,k)}).add(l);b.scroll(0);a=f}else if(l)r(c.chartHeight),l.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor,g=g.inactiveColor,i=this.pager,j=this.padding;e>d&&(e=d);if(e>0)b!== -v&&Qa(b,this.chart),this.nav.attr({translateX:j,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:e===1?g:h}).css({cursor:e===1?"default":"pointer"}),i.attr({text:e+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,fill:e===d?g:h}).css({cursor:e===d?"default":"pointer"}),c=-c[e-1]+this.initialItemY,this.scrollGroup.animate({translateY:c}),this.currentPage=e,this.positionCheckboxes(c)}};La=B.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.options.symbolHeight|| -a.fontMetrics.f;b.legendSymbol=this.chart.renderer.rect(0,a.baseline-c+1,a.symbolWidth,c,a.options.symbolRadius||0).attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,d;d=a.symbolWidth;var e=this.chart.renderer,f=this.legendGroup,a=a.baseline-w(a.fontMetrics.b*0.3),g;if(b.lineWidth){g={"stroke-width":b.lineWidth};if(b.dashStyle)g.dashstyle=b.dashStyle;this.legendLine=e.path(["M",0,a,"L",d,a]).attr(g).add(f)}if(c&&c.enabled!==!1)b=c.radius,this.legendSymbol= -d=e.symbol(this.symbol,d/2-b,a-b,2*b,2*b).add(f),d.isMarker=!0}};(/Trident\/7\.0/.test(za)||Ja)&&Sa(lb.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)});D=B.Chart=function(){this.init.apply(this,arguments)};D.prototype={callbacks:[],init:function(a,b){var c,d=a.series;a.series=null;c=A(S,a);c.series=a.series=d;this.userOptions=a;d=c.chart;this.margin=this.splashArray("margin",d);this.spacing=this.splashArray("spacing",d);var e=d.events; -this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f=this,g;f.index=Y.length;Y.push(f);ab++;d.reflow!==!1&&H(f,"load",function(){f.initReflow()});if(e)for(g in e)H(f,g,e[g]);f.xAxis=[];f.yAxis=[];f.animation=fa?!1:p(d.animation,!0);f.pointCount=f.colorCounter=f.symbolCounter=0;f.firstRender()},initSeries:function(a){var b=this.options.chart;(b=M[a.type||b.type||b.defaultSeriesType])||la(17,!0);b=new b;b.init(this, -a);return b},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},redraw:function(a){var b=this.axes,c=this.series,d=this.pointer,e=this.legend,f=this.isDirtyLegend,g,h,i=this.hasCartesianSeries,j=this.isDirtyBox,k=c.length,m=k,l=this.renderer,n=l.isHidden(),q=[];Qa(a,this);n&&this.cloneRenderTo();for(this.layOutTitles();m--;)if(a=c[m],a.options.stacking&&(g=!0,a.isDirty)){h=!0;break}if(h)for(m=k;m--;)if(a=c[m],a.options.stacking)a.isDirty=!0; -o(c,function(a){a.isDirty&&a.options.legendType==="point"&&(a.updateTotals&&a.updateTotals(),f=!0)});if(f&&e.options.enabled)e.render(),this.isDirtyLegend=!1;g&&this.getStacks();if(i&&!this.isResizing)this.maxTicks=null,o(b,function(a){a.setScale()});this.getMargins();i&&(o(b,function(a){a.isDirty&&(j=!0)}),o(b,function(a){var b=a.min+","+a.max;if(a.extKey!==b)a.extKey=b,q.push(function(){I(a,"afterSetExtremes",r(a.eventArgs,a.getExtremes()));delete a.eventArgs});(j||g)&&a.redraw()}));j&&this.drawChartBox(); -o(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.reset(!0);l.draw();I(this,"redraw");n&&this.cloneRenderTo(!0);o(q,function(a){a.call()})},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Pa(b),delete this.renderToClone):(c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),L(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&& -b.style.setProperty("display","block","important"),C.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+wb++;if(Aa(a))this.renderTo=a=C.getElementById(a);a||la(13,!0);c=F(J(a,"data-highcharts-chart"));!isNaN(c)&&Y[c]&&Y[c].hasRendered&&Y[c].destroy();J(a,"data-highcharts-chart",this.index);a.innerHTML="";!b.skipClone&&!a.offsetWidth&&this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight; -this.container=a=$(Ia,{className:"highcharts-container"+(b.className?" "+b.className:""),id:e},r({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},b.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=b.forExport?new ua(a,c,d,b.style,!0):new Za(a,c,d,b.style);fa&&this.renderer.create(this,a,c,d);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing, -c=this.margin,d=this.titleOffset;this.resetMargins();if(d&&!s(c[0]))this.plotTop=t(this.plotTop,d+this.options.title.margin+b[0]);this.legend.adjustMargins(c,b);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&o(a.axes,function(a){a.getOffset()});o(gb,function(d,e){s(c[e])||(a[d]+=b[e])});a.setChartSize()}, -reflow:function(a){var b=this,c=b.options.chart,d=b.renderTo,e=c.width||hb(d,"width"),f=c.height||hb(d,"height"),c=a?a.target:K,d=function(){if(b.container)b.setSize(e,f,!1),b.hasUserSize=null};if(!b.hasUserSize&&!b.isPrinting&&e&&f&&(c===K||c===C)){if(e!==b.containerWidth||f!==b.containerHeight)clearTimeout(b.reflowTimeout),a?b.reflowTimeout=setTimeout(d,100):d();b.containerWidth=e;b.containerHeight=f}},initReflow:function(){var a=this,b=function(b){a.reflow(b)};H(K,"resize",b);H(a,"destroy",function(){Z(K, -"resize",b)})},setSize:function(a,b,c){var d=this,e,f,g,h=d.renderer,i=h.globalAnimation;d.isResizing+=1;g=function(){d&&I(d,"endResize",null,function(){d.isResizing-=1})};Qa(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;if(s(a))d.chartWidth=e=t(0,w(a)),d.hasUserSize=!!e;if(s(b))d.chartHeight=f=t(0,w(b));(i?jb:L)(d.container,{width:e+"px",height:f+"px"},i);d.setChartSize(!0);h.setSize(e,f,c);d.maxTicks=null;o(d.axes,function(a){a.isDirty=!0;a.setScale()});o(d.series,function(a){a.isDirty= -!0});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;I(d,"resize");i===!1?g():setTimeout(g,i&&i.duration||500)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,g=this.spacing,h=this.clipOffset,i,j,k,m;this.plotLeft=i=w(this.plotLeft);this.plotTop=j=w(this.plotTop);this.plotWidth=k=t(0,w(d-i-this.marginRight));this.plotHeight=m=t(0,w(e-j-this.marginBottom));this.plotSizeX=b?m: -k;this.plotSizeY=b?k:m;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:g[3],y:g[0],width:d-g[3]-g[1],height:e-g[0]-g[2]};this.plotBox=c.plotBox={x:i,y:j,width:k,height:m};d=2*V(this.plotBorderWidth/2);b=sa(t(d,h[3])/2);c=sa(t(d,h[0])/2);this.clipBox={x:b,y:c,width:V(this.plotSizeX-t(d,h[1])/2-b),height:t(0,V(this.plotSizeY-t(d,h[2])/2-c))};a||o(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this;o(gb,function(b,c){a[b]=p(a.margin[c], -a.spacing[c])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,j=a.backgroundColor,k=a.plotBackgroundColor,m=a.plotBackgroundImage,l=a.plotBorderWidth||0,n,q=this.plotLeft,p=this.plotTop,o=this.plotWidth,t=this.plotHeight,u=this.plotBox,s=this.clipRect,r=this.clipBox;n=i+(a.shadow?8:0);if(i||j)if(e)e.animate(e.crisp({width:c- -n,height:d-n}));else{e={fill:j||O};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(n/2,n/2,c-n,d-n,a.borderRadius,i).attr(e).addClass("highcharts-background").add().shadow(a.shadow)}if(k)f?f.animate(u):this.plotBackground=b.rect(q,p,o,t,0).attr({fill:k}).add().shadow(a.plotShadow);if(m)h?h.animate(u):this.plotBGImage=b.image(m,q,p,o,t).add();s?s.animate({width:r.width,height:r.height}):this.clipRect=b.clipRect(r);if(l)g?g.animate(g.crisp({x:q,y:p,width:o,height:t,strokeWidth:-l})): -this.plotBorder=b.rect(q,p,o,t,0,-l).attr({stroke:a.plotBorderColor,"stroke-width":l,fill:O,zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;o(["inverted","angular","polar"],function(g){c=M[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&e--;)(c=M[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},linkSeries:function(){var a=this,b=a.series;o(b,function(a){a.linkedSeries.length=0});o(b,function(b){var d= -b.options.linkedTo;if(Aa(d)&&(d=d===":previous"?a.series[b.index-1]:a.get(d)))d.linkedSeries.push(b),b.linkedParent=d,b.visible=p(b.options.visible,d.options.visible,b.visible)})},renderSeries:function(){o(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&o(b.items,function(c){var d=r(b.style,c.style),e=F(d.left)+a.plotLeft,f=F(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,e,f).attr({zIndex:2}).css(d).add()})}, -render:function(){var a=this.axes,b=this.renderer,c=this.options,d,e,f,g;this.setTitle();this.legend=new lb(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;e=this.plotHeight-=13;o(a,function(a){a.setScale()});this.getAxisMargins();f=d/this.plotWidth>1.1;g=e/this.plotHeight>1.1;if(f||g)this.maxTicks=null,o(a,function(a){(a.horiz&&f||!a.horiz&&g)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&o(a,function(a){a.render()}); -if(!this.seriesGroup)this.seriesGroup=b.g("series-group").attr({zIndex:3}).add();this.renderSeries();this.renderLabels();this.showCredits(c.credits);this.hasRendered=!0},showCredits:function(a){if(a.enabled&&!this.credits)this.credits=this.renderer.text(a.text,0,0).on("click",function(){if(a.href)location.href=a.href}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position)},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;I(a,"destroy");Y[a.index]= -v;ab--;a.renderTo.removeAttribute("data-highcharts-chart");Z(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();o("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});if(d)d.innerHTML="",Z(d),f&&Pa(d);for(e in a)delete a[e]},isReadyToRender:function(){var a=this;return!ca&&K==K.top&& -C.readyState!=="complete"||fa&&!K.canvg?(fa?Lb.push(function(){a.firstRender()},a.options.global.canvasToolsURL):C.attachEvent("onreadystatechange",function(){C.detachEvent("onreadystatechange",a.firstRender);C.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;if(a.isReadyToRender()){a.getContainer();I(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();o(b.series||[],function(b){a.initSeries(b)});a.linkSeries();I(a, -"beforeRender");if(B.Pointer)a.pointer=new Ua(a,b);a.render();a.renderer.draw();c&&c.apply(a,[a]);o(a.callbacks,function(b){a.index!==v&&b.apply(a,[a])});I(a,"load");a.cloneRenderTo(!0)}},splashArray:function(a,b){var c=b[a],c=da(c)?c:[c,c,c,c];return[p(b[a+"Top"],c[0]),p(b[a+"Right"],c[1]),p(b[a+"Bottom"],c[2]),p(b[a+"Left"],c[3])]}};var Xb=B.CenteredSeriesMixin={getCenter:function(){var a=this.options,b=this.chart,c=2*(a.slicedOffset||0),d=b.plotWidth-2*c,b=b.plotHeight-2*c,e=a.center,e=[p(e[0], -"50%"),p(e[1],"50%"),a.size||"100%",a.innerSize||0],f=z(d,b),g,h;for(g=0;g<4;++g)h=e[g],a=g<2||g===2&&/%$/.test(h),e[g]=(/%$/.test(h)?[d,b,f,e[2]][g]*parseFloat(h)/100:parseFloat(h))+(a?c:0);return e}},Ea=function(){};Ea.prototype={init:function(a,b,c){this.series=a;this.color=a.color;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++; -return this},applyOptions:function(a,b){var c=this.series,d=c.options.pointValKey||c.pointValKey,a=Ea.prototype.optionsToObject.call(this,a);r(this,a);this.options=this.options?r(this.options,a):a;if(d)this.y=this[d];if(this.x===v&&c)this.x=b===v?c.autoIncrement():b;return this},optionsToObject:function(a){var b={},c=this.series,d=c.options.keys,e=d||c.pointArrayMap||["y"],f=e.length,g=0,h=0;if(typeof a==="number"||a===null)b[e[0]]=a;else if(Fa(a)){if(!d&&a.length>f){c=typeof a[0];if(c==="string")b.name= -a[0];else if(c==="number")b.x=a[0];g++}for(;ha+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions, -b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=A(e,c.series,a);this.tooltipOptions=A(S.tooltip,S.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&d[this.type].tooltip,a.tooltip);e.marker===null&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();if((c.negativeColor||c.negativeFillColor)&&!c.zones)a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,color:c.negativeColor,fillColor:c.negativeFillColor});a.length&& -s(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d=this.userOptions,e="_"+a+"Index",f=a+"Counter";b||(s(d[e])?b=d[e]:(d[e]=b=this.chart[f]%c.length,this.chart[f]+=1),b=c[b]);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||ba[this.type].color,this.chart.options.colors)},getSymbol:function(){var a=this.options.marker;this.getCyclic("symbol",a.symbol,this.chart.options.symbols); -if(/^url/.test(this.symbol))a.radius=0},drawLegendSymbol:La.drawLineMarker,setData:function(a,b,c,d){var e=this,f=e.points,g=f&&f.length||0,h,i=e.options,j=e.chart,k=null,m=e.xAxis,l=m&&!!m.categories,n=i.turboThreshold,q=this.xData,x=this.yData,t=(h=e.pointArrayMap)&&h.length,a=a||[];h=a.length;b=p(b,!0);if(d!==!1&&h&&g===h&&!e.cropped&&!e.hasGroupedData&&e.visible)o(a,function(a,b){f[b].update&&f[b].update(a,!1,null,!1)});else{e.xIncrement=null;e.pointRange=l?1:i.pointRange;e.colorCounter=0;o(this.parallelArrays, -function(a){e[a+"Data"].length=0});if(n&&h>n){for(c=0;k===null&&ci||this.forceCrop))if(b[d-1]l)b=[],c=[];else if(b[0]< -m||b[d-1]>l)e=this.cropData(this.xData,this.yData,m,l),b=e.xData,c=e.yData,e=e.start,f=!0;for(i=b.length-1;i>=0;i--)d=b[i]-b[i-1],d>0&&(g===v||d=c){f=t(0,i-h);break}for(;id){g=i+h;break}return{xData:a.slice(f, -g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,i,j=this.hasGroupedData,k,m=[],l;if(!b&&!j)b=[],b.length=a.length,b=this.data=b;for(l=0;l0),j=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[m+1]||j)>=g&&(c[m-1]||j)<=h,i&&j)if(i=k.length)for(;i--;)k[i]!==null&&(e[f++]=k[i]);else e[f++]=k;this.dataMin=Na(e);this.dataMax= -Ca(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,i=a.pointPlacement,j=i==="between"||qa(i),k=a.threshold,m=a.startFromThreshold?k:0,l,n,q,o=Number.MAX_VALUE,a=0;a=0&&n<=e.len&&l>=0&&l<=c.len;r.clientX= -j?c.translate(w,0,0,0,1):l;r.negative=r.y<(k||0);r.category=d&&d[r.x]!==v?d[r.x]:r.x;a&&(o=z(o,N(l-q)));q=l}this.closestPointRangePx=o;this.getSegments()},setClip:function(a){var b=this.chart,c=b.renderer,d=b.inverted,e=this.clipBox,f=e||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height].join(","),h=b[g],i=b[g+"m"];if(!h){if(a)f.width=0,b[g+"m"]=i=c.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight);b[g]=h=c.clipRect(f)}a&&(h.count+=1);if(this.options.clip!== -!1)this.group.clip(a||e?h:b.clipRect),this.markerGroup.clip(i),this.sharedClipKey=g;a||(h.count-=1,h.count<=0&&g&&b[g]&&(e||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,c=this.options.animation,d;if(c&&!da(c))c=ba[this.type].animation;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();I(this,"afterAnimate")}, -drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,j,k,m=this.options.marker,l=this.pointAttr[""],n,q,o,t=this.markerGroup,s=p(m.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*m.radius);if(m.enabled!==!1||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=V(g.plotX),e=g.plotY,k=g.graphic,n=g.marker||{},q=!!g.marker,a=s&&n.enabled===v||n.enabled,o=g.isInside,a&&e!==v&&!isNaN(e)&&g.y!==null)if(a=g.pointAttr[g.selected?"select":""]||l,h=a.r,i=p(n.symbol,this.symbol),j=i.indexOf("url")=== -0,k)k[o?"show":"hide"](!0).animate(r({x:d-h,y:e-h},k.symbolName?{width:2*h,height:2*h}:{}));else{if(o&&(h>0||j))g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h,q?n:m).attr(a).add(t)}else if(k)g.graphic=k.destroy()},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=p(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=a.options,c=ba[a.type].marker?b.marker:b,d=c.states,e=d.hover,f,g=a.color,h=a.options.negativeColor; -f={stroke:g,fill:g};var i=a.points||[],j,k,m=[],l=a.pointAttrToOptions;j=a.hasPointSpecificOptions;var n=c.lineColor,q=c.fillColor;k=b.turboThreshold;var p=a.zones,t=a.zoneAxis||"y",w;b.marker?(e.radius=e.radius||c.radius+e.radiusPlus,e.lineWidth=e.lineWidth||c.lineWidth+e.lineWidthPlus):(e.color=e.color||na(e.color||g).brighten(e.brightness).get(),e.negativeColor=e.negativeColor||na(e.negativeColor||h).brighten(e.brightness).get());m[""]=a.convertAttribs(c,f);o(["hover","select"],function(b){m[b]= -a.convertAttribs(d[b],m[""])});a.pointAttr=m;g=i.length;if(!k||g=f.value;)f=p[++j];if(f.color)k.color=k.fillColor=f.color}j=b.colorByPoint||k.color;if(k.options)for(w in l)s(c[l[w]])&&(j=!0);if(j){c=c||{};j=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker)f.color=f.color||!k.options.color&&e[k.negative&&h?"negativeColor":"color"]||na(k.color).brighten(f.brightness|| -e.brightness).get();f={color:k.color};if(!q)f.fillColor=k.color;if(!n)f.lineColor=k.color;c.hasOwnProperty("color")&&!c.color&&delete c.color;j[""]=a.convertAttribs(r(f,c),m[""]);j.hover=a.convertAttribs(d.hover,m.hover,j[""]);j.select=a.convertAttribs(d.select,m.select,j[""])}else j=m;k.pointAttr=j}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(za),d,e=a.data||[],f,g,h;I(a,"destroy");Z(a);o(a.axisTypes||[],function(b){if(h=a[b])ja(h.series,a),h.isDirty=h.forceRedraw=!0});a.legendItem&& -a.chart.legend.destroyItem(a);for(d=e.length;d--;)(f=e[d])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);for(g in a)a[g]instanceof P&&!a[g].survive&&(d=c&&g==="group"?"hide":"destroy",a[g][d]());if(b.hoverSeries===a)b.hoverSeries=null;ja(b.series,a);for(g in a)delete a[g]},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;o(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"? -c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];o(a.segments,function(e){c=a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color,b.dashStyle]],d=b.lineWidth,e=b.linecap!=="square",f=this.getGraphPath(),g=this.fillGraph&&this.color||O;o(this.zones, -function(d,e){c.push(["zoneGraph"+e,d.color||a.color,d.dashStyle||b.dashStyle])});o(c,function(c,i){var j=c[0],k=a[j];if(k)k.animate({d:f});else if((d||g)&&f.length)k={stroke:c[1],"stroke-width":d,fill:g,zIndex:1},c[2]?k.dashstyle=c[2]:e&&(k["stroke-linecap"]=k["stroke-linejoin"]="round"),a[j]=a.chart.renderer.path(f).attr(k).add(a.group).shadow(i<2&&b.shadow)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,f,g=this.clips||[],h,i=this.graph,j=this.area,k=t(b.chartWidth, -b.chartHeight),m=this[(this.zoneAxis||"y")+"Axis"],l,n=m.reversed,q=b.inverted,x=m.horiz,r,s,u,y=!1;if(d.length&&(i||j)&&m.min!==v)i&&i.hide(),j&&j.hide(),l=m.getExtremes(),o(d,function(d,o){e=n?x?b.plotWidth:0:x?0:m.toPixels(l.min);e=z(t(p(f,e),0),k);f=z(t(w(m.toPixels(p(d.value,l.max),!0)),0),k);y&&(e=f=m.toPixels(l.max));r=Math.abs(e-f);s=z(e,f);u=t(e,f);if(m.isXAxis){if(h={x:q?u:s,y:0,width:r,height:k},!x)h.x=b.plotHeight-h.x}else if(h={x:0,y:q?u:s,width:k,height:r},x)h.y=b.plotWidth-h.y;b.inverted&& -c.isVML&&(h=m.isXAxis?{x:0,y:n?s:u,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});g[o]?g[o].animate(h):(g[o]=c.clipRect(h),i&&a["zoneGraph"+o].clip(g[o]),j&&a["zoneArea"+o].clip(g[o]));y=d.value>l.max}),this.clips=g},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};o(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)H(c,"resize",a),H(b,"destroy",function(){Z(c, -"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({visibility:c,zIndex:d||0.1}).add(e));f[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;if(a.inverted)b=c,c=this.xAxis;return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=(c=d.animation)&&!!a.animate&&b.renderer.isSVG&& -p(c.duration,500)||0,f=a.visible?"visible":"hidden",g=d.zIndex,h=a.hasRendered,i=b.seriesGroup;c=a.plotGroup("group","series",f,g,i);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,i);e&&a.animate(!0);a.getAttribs();c.inverted=a.isCartesian?b.inverted:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());o(a.points,function(a){a.redraw&&a.redraw()});a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&a.options.enableMouseTracking!==!1&&a.drawTracker();b.inverted&&a.invertGroups(); -d.clip!==!1&&!a.sharedClipKey&&!h&&c.clip(b.clipRect);e&&a.animate();if(!h)e?a.animationTimeout=setTimeout(function(){a.afterAnimate()},e):a.afterAnimate();a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.isDirty,d=this.group,e=this.xAxis,f=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:p(e&&e.left,a.plotLeft),translateY:p(f&&f.top,a.plotTop)}));this.translate();this.render();b&&I(this,"updatedData"); -(c||b)&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(b,d,g){var h,i;if(i=b&&b.length)return h=c.kdAxisArray[d%g],b.sort(function(a,b){return a[h]-b[h]}),i=Math.floor(i/2),{point:b[i],left:a(b.slice(0,i),d+1,g),right:a(b.slice(i+1),d+1,g)}}function b(){var b= -ib(c.points||[],function(a){return a.y!==null});c.kdTree=a(b,d,d)}var c=this,d=c.kdDimensions;delete c.kdTree;c.options.kdSync?b():setTimeout(b)},searchKDTree:function(a,b){function c(a,b,j,k){var m=b.point,l=d.kdAxisArray[j%k],n,q,p=m;q=s(a[e])&&s(m[e])?Math.pow(a[e]-m[e],2):null;n=s(a[f])&&s(m[f])?Math.pow(a[f]-m[f],2):null;n=(q||0)+(n||0);m.dist=s(n)?Math.sqrt(n):Number.MAX_VALUE;m.distX=s(q)?Math.sqrt(q):Number.MAX_VALUE;l=a[l]-m[l];n=l<0?"left":"right";q=l<0?"right":"left";b[n]&&(n=c(a,b[n], -j+1,k),p=n[g]l;)d--;e.updateParallelArrays(i,"splice",d,0,0);e.updateParallelArrays(i,d);if(k&&i.name)k[l]=i.name;h.splice(d,0,a);n&&(e.data.splice(d,0,null),e.processData());f.legendType==="point"&&e.generatePoints();c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),e.updateParallelArrays(i,"shift"),h.shift()));e.isDirty=!0;e.isDirtyData=!0;b&&(e.getAttribs(),j.redraw())},removePoint:function(a,b, -c){var d=this,e=d.data,f=e[a],g=d.points,h=d.chart,i=function(){e.length===g.length&&g.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&h.redraw()};Qa(c,h);b=p(b,!0);f?f.firePointEvent("remove",null,i):i()},remove:function(a,b){var c=this,d=c.chart,a=p(a,!0);if(!c.isRemoving)c.isRemoving=!0,I(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();a&&d.redraw(b)});c.isRemoving= -!1},update:function(a,b){var c=this,d=this.chart,e=this.userOptions,f=this.type,g=M[f].prototype,h=["group","markerGroup","dataLabelsGroup"],i;if(a.type&&a.type!==f||a.zIndex!==void 0)h.length=0;o(h,function(a){h[a]=c[a];delete c[a]});a=A(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);for(i in g)this[i]=v;r(this,M[a.type||f].prototype);o(h,function(a){c[a]=h[a]});this.init(d,a);d.linkSeries();p(b,!0)&&d.redraw(!1)}});r(ha.prototype,{update:function(a, -b){var c=this.chart,a=c.options[this.coll][this.options.index]=A(this.userOptions,a);this.destroy(!0);this._addedPlotLB=this.chart._labelPanes=v;this.init(c,r(a,{events:v}));c.isDirtyBox=!0;p(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);ja(b.axes,this);ja(b[c],this);b.options[c].splice(this.options.index,1);o(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;p(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a}, -b)},setCategories:function(a,b){this.update({categories:a},b)}});var wa=ka(R);M.line=wa;ba.area=A(U,{threshold:0});var pa=ka(R,{type:"area",getSegments:function(){var a=this,b=[],c=[],d=[],e=this.xAxis,f=this.yAxis,g=f.stacks[this.stackKey],h={},i,j,k=this.points,m=this.options.connectNulls,l,n;if(this.options.stacking&&!this.cropped){for(l=0;l=0;d--)g=p(a[d].yBottom,f),da&&i>e? -(i=t(a,e),k=2*e-i):ig&&k>e?(k=t(g,e),i=2*e-k):kg?d-g:f-(v?g:0)));c.barX=o;c.pointWidth=i;r=w(o+r)+m;o=w(o)+m;r-=o;d= -N(s)<0.5;y=z(w(s+y)+l,9E4);s=w(s)+l;y-=s;d&&(s-=1,y+=1);c.tooltipPos=b.inverted?[e.len+e.pos-b.plotLeft-h,a.xAxis.len-o-r/2,y]:[o+r/2,h+e.pos-b.plotTop,y];c.shapeType="rect";c.shapeArgs={x:o,y:s,width:r,height:y}})},getSymbol:ta,drawLegendSymbol:La.drawRectangle,drawGraph:ta,drawPoints:function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,f,g;o(a.points,function(h){var i=h.plotY,j=h.graphic;if(i!==v&&!isNaN(i)&&h.y!==null)f=h.shapeArgs,i=s(a.borderWidth)?{"stroke-width":a.borderWidth}: -{},g=h.pointAttr[h.selected?"select":""]||a.pointAttr[""],j?(kb(j),j.attr(i)[b.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}); -pa=ka(R,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&R.prototype.drawGraph.call(this)}});M.scatter=pa;ba.pie=A(U,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.y===null?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null, -size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});U={type:"pie",isCartesian:!1,pointClass:ka(Ea,{init:function(){Ea.prototype.init.apply(this,arguments);var a=this,b;r(a,{visible:a.visible!==!1,name:p(a.name,"Slice")});b=function(b){a.slice(b.type==="select")};H(a,"select",b);H(a,"unselect",b);return a},setVisible:function(a,b){var c=this,d=c.series,e=d.chart,f=d.options.ignoreHiddenPoint,b=p(b,f);if(a!==c.visible){c.visible= -c.options.visible=a=a===v?!c.visible:a;d.options.data[Ka(c,d.data)]=c.options;o(["graphic","dataLabel","connector","shadowGroup"],function(b){if(c[b])c[b][a?"show":"hide"](!0)});c.legendItem&&e.legend.colorizeItem(c,a);!a&&c.state==="hover"&&c.setState("");if(f)d.isDirty=!0;b&&e.redraw()}},slice:function(a,b,c){var d=this.series;Qa(c,d.chart);p(b,!0);this.sliced=this.options.sliced=a=s(a)?a:!this.sliced;d.options.data[Ka(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,translateY:0}; -this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var b=this.shapeArgs,c=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.plotLeft+b.x,c.plotTop+b.y,b.r+a,b.r+a,{innerR:this.shapeArgs.r,start:b.start,end:b.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},animate:function(a){var b= -this,c=b.points,d=b.startAngleRad;if(!a)o(c,function(a){var c=a.graphic,g=a.shapeArgs;c&&(c.attr({r:a.startR||b.center[3]/2,start:d,end:d}),c.animate({r:g.r,start:g.start,end:g.end},b.options.animation))}),b.animate=null},setData:function(a,b,c,d){R.prototype.setData.call(this,a,!1,c,d);this.processData();this.generatePoints();p(b,!0)&&this.chart.redraw(c)},updateTotals:function(){var a,b=0,c=this.points,d=c.length,e,f=this.options.ignoreHiddenPoint;for(a=0;a0&&(e.visible||!f)?e.y/b*100:0,e.total=b},generatePoints:function(){R.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var b=0,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g,h,i=c.startAngle||0,j=this.startAngleRad=ma/180*(i-90),i=(this.endAngleRad=ma/180*(p(c.endAngle,i+360)-90))-j,k=this.points,m=c.dataLabels.distance,c=c.ignoreHiddenPoint,l,n=k.length,o;if(!a)this.center=a=this.getCenter();this.getX= -function(b,c){h=W.asin(z((b-a[1])/(a[2]/2+m),1));return a[0]+(c?-1:1)*X(h)*(a[2]/2+m)};for(l=0;l1.5*ma?h-=2*ma:h<-ma/2&&(h+=2*ma);o.slicedTranslation={translateX:w(X(h)*d),translateY:w(aa(h)*d)};f=X(h)*a[2]/2;g=aa(h)*a[2]/2;o.tooltipPos=[a[0]+f*0.7,a[1]+g*0.7];o.half=h<-ma/2||h>ma/2?1:0;o.angle=h;e=z(e,m/2);o.labelPos= -[a[0]+f+X(h)*m,a[1]+g+aa(h)*m,a[0]+f+X(h)*e,a[1]+g+aa(h)*e,a[0]+f,a[1]+g,m<0?"center":o.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g,h;if(e&&!a.shadowGroup)a.shadowGroup=b.g("shadow").add(a.group);o(a.points,function(i){if(i.y!==null){d=i.graphic;g=i.shapeArgs;f=i.shadowGroup;if(e&&!f)f=i.shadowGroup=b.g("shadow").add(a.shadowGroup);c=i.sliced?i.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);if(d)d.animate(r(g,c)); -else{h={"stroke-linejoin":"round"};if(!i.visible)h.visibility="hidden";i.graphic=d=b[i.shapeType](g).setRadialReference(a.center).attr(i.pointAttr[i.selected?"select":""]).attr(h).attr(c).add(a.group).shadow(e,f)}}})},searchPoint:ta,sortByAngle:function(a,b){a.sort(function(a,d){return a.angle!==void 0&&(d.angle-a.angle)*b})},drawLegendSymbol:La.drawRectangle,getCenter:Xb.getCenter,getSymbol:ta};U=ka(R,U);M.pie=U;R.prototype.drawDataLabels=function(){var a=this,b=a.options,c=b.cursor,d=b.dataLabels, -e=a.points,f,g,h=a.hasRendered||0,i,j,k=a.chart.renderer;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),j=a.plotGroup("dataLabelsGroup","data-labels",d.defer?"hidden":"visible",d.zIndex||6),p(d.defer,!0)&&(j.attr({opacity:+h}),h||H(a,"afterAnimate",function(){a.visible&&j.show();j[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=d,o(e,function(e){var h,n=e.dataLabel,o,t,w=e.connector,z=!0,u,y={};f=e.dlOptions||e.options&&e.options.dataLabels;h=p(f&&f.enabled, -g.enabled);if(n&&!h)e.dataLabel=n.destroy();else if(h){d=A(g,f);u=d.style;h=d.rotation;o=e.getLabelConfig();i=d.format?Ha(d.format,o):d.formatter.call(o,d);u.color=p(d.color,u.color,a.color,"black");if(n)if(s(i))n.attr({text:i}),z=!1;else{if(e.dataLabel=n=n.destroy(),w)e.connector=w.destroy()}else if(s(i)){n={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:h,padding:d.padding,zIndex:1};if(u.color==="contrast")y.color=d.inside||d.distance<0||b.stacking? -k.getContrast(e.color||a.color):"#000000";if(c)y.cursor=c;for(t in n)n[t]===v&&delete n[t];n=e.dataLabel=k[h?"text":"label"](i,0,-999,d.shape,null,null,d.useHTML).attr(n).css(r(u,y)).add(j).shadow(d.shadow)}n&&a.alignDataLabel(e,n,d,null,z)}})};R.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=p(a.plotX,-999),i=p(a.plotY,-999),j=b.getBBox(),k=f.renderer.fontMetrics(c.style.fontSize).b,m=this.visible&&(a.series.forceDL||f.isInsidePlot(h,w(i),g)||d&&f.isInsidePlot(h,g?d.x+ -1:d.y+d.height-1,g));if(m)d=r({x:g?f.plotWidth-i:h,y:w(g?f.plotHeight-h:i),width:0,height:0},d),r(c,{width:j.width,height:j.height}),c.rotation?(a=f.renderer.rotCorr(k,c.rotation),b[e?"attr":"animate"]({x:d.x+c.x+d.width/2+a.x,y:d.y+c.y+d.height/2}).attr({align:c.align})):(b.align(c,null,d),g=b.alignAttr,p(c.overflow,"justify")==="justify"?this.justifyDataLabel(b,c,g,j,d,e):p(c.crop,!0)&&(m=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+j.width,g.y+j.height)),c.shape&&b.attr({anchorX:a.plotX,anchorY:a.plotY})); -if(!m)b.attr({y:-999}),b.placed=!1};R.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g=this.chart,h=b.align,i=b.verticalAlign,j,k,m=a.box?0:a.padding||0;j=c.x+m;if(j<0)h==="right"?b.align="left":b.x=-j,k=!0;j=c.x+d.width-m;if(j>g.plotWidth)h==="left"?b.align="right":b.x=g.plotWidth-j,k=!0;j=c.y+m;if(j<0)i==="bottom"?b.verticalAlign="top":b.y=-j,k=!0;j=c.y+d.height-m;if(j>g.plotHeight)i==="top"?b.verticalAlign="bottom":b.y=g.plotHeight-j,k=!0;if(k)a.placed=!f,a.align(b,null,e)};if(M.pie)M.pie.prototype.drawDataLabels= -function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=p(e.connectorPadding,10),g=p(e.connectorWidth,1),h=d.plotWidth,i=d.plotHeight,j,k,m=p(e.softConnector,!0),l=e.distance,n=a.center,q=n[2]/2,r=n[1],s=l>0,v,u,y,C=[[],[]],A,B,D,F,G,E=[0,0,0,0],L=function(a,b){return b.y-a.y};if(a.visible&&(e.enabled||a._hasPointLabels)){R.prototype.drawDataLabels.apply(a);o(b,function(a){a.dataLabel&&a.visible&&C[a.half].push(a)});for(F=2;F--;){var I=[],M=[],H=C[F],K=H.length,J;if(K){a.sortByAngle(H, -F-0.5);for(G=b=0;!b&&H[G];)b=H[G]&&H[G].dataLabel&&(H[G].dataLabel.getBBox().height||21),G++;if(l>0){u=z(r+q+l,d.plotHeight);for(G=t(0,r-q-l);G<=u;G+=b)I.push(G);u=I.length;if(K>u){c=[].concat(H);c.sort(L);for(G=K;G--;)c[G].rank=G;for(G=K;G--;)H[G].rank>=u&&H.splice(G,1);K=H.length}for(G=0;G0){if(u=M.pop(),J=u.i,B=u.y,c>B&&I[J+1]!==null||ch-f&&(E[1]=t(w(A+u-h+f),E[1])),B-b/2<0?E[0]=t(w(-B+b/2),E[0]): -B+b/2>i&&(E[2]=t(w(B+b/2-i),E[2]))}}}if(Ca(E)===0||this.verifyDataLabelOverflow(E))this.placeDataLabels(),s&&g&&o(this.points,function(b){j=b.connector;y=b.labelPos;if((v=b.dataLabel)&&v._pos&&b.visible)D=v._attr.visibility,A=v.connX,B=v.connY,k=m?["M",A+(y[6]==="left"?5:-5),B,"C",A,B,2*y[2]-y[4],2*y[3]-y[5],y[2],y[3],"L",y[4],y[5]]:["M",A+(y[6]==="left"?5:-5),B,"L",y[2],y[3],"L",y[4],y[5]],j?(j.animate({d:k}),j.attr("visibility",D)):b.connector=j=a.chart.renderer.path(k).attr({"stroke-width":g,stroke:e.connectorColor|| -b.color||"#606060",visibility:D}).add(a.dataLabelsGroup);else if(j)b.connector=j.destroy()})}},M.pie.prototype.placeDataLabels=function(){o(this.points,function(a){var b=a.dataLabel;if(b&&a.visible)(a=b._pos)?(b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-999})})},M.pie.prototype.alignDataLabel=ta,M.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f=e,g;d[0]!==null?f=t(b[2]-t(a[1],a[3]),e):(f=t(b[2]-a[1]-a[3], -e),b[0]+=(a[3]-a[1])/2);d[1]!==null?f=t(z(f,b[2]-t(a[0],a[2])),e):(f=t(z(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);fp(this.translatedThreshold,g.yAxis.len)),j=p(c.inside,!!this.options.stacking);if(h&&(d=A(h),f&&(d={x:g.yAxis.len-d.y-d.height,y:g.xAxis.len-d.x-d.width,width:d.height,height:d.width}),!j))f?(d.x+=i?0:d.width,d.width=0):(d.y+=i?d.height:0,d.height=0);c.align=p(c.align,!f||j?"center":i?"right":"left");c.verticalAlign=p(c.verticalAlign,f||j?"middle":i?"top":"bottom");R.prototype.alignDataLabel.call(this,a,b,c,d,e)};(function(a){var b=a.Chart,c=a.each,d=a.pick,e=HighchartsAdapter.addEvent;b.prototype.callbacks.push(function(a){function b(){var e= -[];c(a.series,function(a){var b=a.options.dataLabels,f=a.dataLabelCollections||["dataLabel"];(b.enabled||a._hasPointLabels)&&!b.allowOverlap&&a.visible&&c(f,function(b){c(a.points,function(a){if(a[b])a[b].labelrank=d(a.labelrank,a.shapeArgs&&a.shapeArgs.height),e.push(a[b])})})});a.hideOverlappingLabels(e)}b();e(a,"redraw",b)});b.prototype.hideOverlappingLabels=function(a){var b=a.length,d,e,j,k,m,l,n;for(e=0;em.x+(j.width-n)||l.x+(k.width-n)m.y+(j.height-n)||l.y+(k.height-n)d;if(h.series.length&&(i||m>z(k.dataMin,k.min))&& -(!i||jparseInt(a.userAgent.split("Firefox/")[1],10);a.hasTouch=!!a.win.TouchEvent;a.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];a.noop=function(){};a.supportsPassiveEvents=function(){var g=!1;if(!a.isMS){var v=Object.defineProperty({},"passive",{get:function(){g= +!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,v),a.win.removeEventListener("testPassive",a.noop,v))}return g}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});K(g,"Core/Utilities.js",[g["Core/Globals.js"]],function(a){function g(b,d,k,H){var z=d?"Highcharts error":"Highcharts warning";32===b&&(b=""+z+": Deprecated member");var w=n(b),p=w?""+z+" #"+b+": www.highcharts.com/errors/"+b+"/": +b.toString();if("undefined"!==typeof H){var q="";w&&(p+="?");I(H,function(b,z){q+="\n - ".concat(z,": ").concat(b);w&&(p+=encodeURI(z)+"="+encodeURI(b))});p+=q}A(a,"displayError",{chart:k,code:b,message:p,params:H},function(){if(d)throw Error(p);h.console&&-1===g.messages.indexOf(p)&&console.warn(p)});g.messages.push(p)}function x(b,h){var z={};I(b,function(d,w){if(G(b[w],!0)&&!b.nodeType&&h[w])d=x(b[w],h[w]),Object.keys(d).length&&(z[w]=d);else if(G(b[w])||b[w]!==h[w]||w in b&&!(w in h))z[w]=b[w]}); +return z}function E(b,h){return parseInt(b,h||10)}function D(b){return"string"===typeof b}function B(b){b=Object.prototype.toString.call(b);return"[object Array]"===b||"[object Array Iterator]"===b}function G(b,h){return!!b&&"object"===typeof b&&(!h||!B(b))}function r(b){return G(b)&&"number"===typeof b.nodeType}function t(b){var h=b&&b.constructor;return!(!G(b,!0)||r(b)||!h||!h.name||"Object"===h.name)}function n(b){return"number"===typeof b&&!isNaN(b)&&Infinity>b&&-Infinity=d-1&&(d=Math.floor(k)),Math.max(0,d-(z(b,"padding-left",!0)||0)-(z(b,"padding-right",!0)||0));if("height"===d)return Math.max(0,Math.min(b.offsetHeight,b.scrollHeight)-(z(b,"padding-top",!0)||0)-(z(b, +"padding-bottom",!0)||0));h.getComputedStyle||g(27,!0);if(b=h.getComputedStyle(b,void 0)){var w=b.getPropertyValue(d);m(k,"opacity"!==d)&&(w=E(w))}return w}function I(b,h,d){for(var z in b)Object.hasOwnProperty.call(b,z)&&h.call(d||b[z],b[z],z,b)}function L(b,h,d){function z(h,y){var d=b.removeEventListener||a.removeEventListenerPolyfill;d&&d.call(b,h,y,!1)}function w(d){var y;if(b.nodeName){if(h){var H={};H[h]=!0}else H=d;I(H,function(b,h){if(d[h])for(y=d[h].length;y--;)z(h,d[h][y].fn)})}}var k= +"function"===typeof b&&b.prototype||b;if(Object.hasOwnProperty.call(k,"hcEvents")){var p=k.hcEvents;h?(k=p[h]||[],d?(p[h]=k.filter(function(b){return d!==b.fn}),z(h,d)):(w(p),p[h]=[])):(w(p),delete k.hcEvents)}}function A(b,h,d,H){d=d||{};if(q.createEvent&&(b.dispatchEvent||b.fireEvent&&b!==a)){var z=q.createEvent("Events");z.initEvent(h,!0,!0);d=l(z,d);b.dispatchEvent?b.dispatchEvent(d):b.fireEvent(h,d)}else if(b.hcEvents){d.target||l(d,{preventDefault:function(){d.defaultPrevented=!0},target:b, +type:h});z=[];for(var w=b,k=!1;w.hcEvents;)Object.hasOwnProperty.call(w,"hcEvents")&&w.hcEvents[h]&&(z.length&&(k=!0),z.unshift.apply(z,w.hcEvents[h])),w=Object.getPrototypeOf(w);k&&z.sort(function(b,h){return b.order-h.order});z.forEach(function(h){!1===h.fn.call(b,d)&&d.preventDefault()})}H&&!d.defaultPrevented&&H.call(b,d)}var d=a.charts,q=a.doc,h=a.win;(g||(g={})).messages=[];Math.easeInOutSine=function(b){return-.5*(Math.cos(Math.PI*b)-1)};var k=Array.prototype.find?function(b,h){return b.find(h)}: +function(b,h){var d,z=b.length;for(d=0;dd&&(d=b[h]);return d},arrayMin:function(b){for(var h=b.length,d=b[0];h--;)b[h]h?b=h&&(d=[1/h])));for(k=0;k=b||!p&&w<=(d[k]+(d[k+1]||d[k]))/2);k++);return H=C(H*h,-Math.round(Math.log(.001)/Math.LN10))},objectEach:I,offset:function(b){var d=q.documentElement;b=b.parentElement||b.parentNode?b.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:b.top+(h.pageYOffset||d.scrollTop)-(d.clientTop||0),left:b.left+(h.pageXOffset||d.scrollLeft)- +(d.clientLeft||0),width:b.width,height:b.height}},pad:function(b,d,h){return Array((d||2)+1-String(b).replace("-","").length).join(h||"0")+b},pick:m,pInt:E,relativeLength:function(b,d,h){return/%$/.test(b)?d*parseFloat(b)/100+(h||0):parseFloat(b)},removeEvent:L,splat:function(b){return B(b)?b:[b]},stableSort:function(b,d){var h=b.length,k,p;for(p=0;p>16,(n&65280)>>8,n&255,1]:4===t&&(r=[(n&3840)>>4|(n&3840)>>8,(n&240)>>4|n&240,(n&15)<<4|n&15,1])}if(!r)for(n=g.parsers.length;n--&&!r;){var f=g.parsers[n];(t=f.regex.exec(a))&&(r=f.parse(t))}}r&&(this.rgba=r)};g.prototype.get=function(a){var r=this.input,t=this.rgba;if("object"===typeof r&&"undefined"!==typeof this.stops){var n=E(r);n.stops=[].slice.call(n.stops);this.stops.forEach(function(f,c){n.stops[c]=[n.stops[c][0],f.get(a)]});return n}return t&& +v(t[0])?"rgb"===a||!a&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===a?"".concat(t[3]):"rgba("+t.join(",")+")":r};g.prototype.brighten=function(a){var r=this.rgba;if(this.stops)this.stops.forEach(function(n){n.brighten(a)});else if(v(a)&&0!==a)for(var t=0;3>t;t++)r[t]+=D(255*a),0>r[t]&&(r[t]=0),255d?"AM":"PM",P:12>d?"am":"pm",S:n(u.getSeconds()),L:n(Math.floor(e%1E3),3)},a.dateFormats);t(u, +function(b,d){for(;-1!==c.indexOf("%"+d);)c=c.replace("%"+d,"function"===typeof b?b.call(l,e):b)});return m?c.substr(0,1).toUpperCase()+c.substr(1):c};u.prototype.resolveDTLFormat=function(e){return G(e,!0)?e:(e=c(e),{main:e[0],from:e[1],to:e[2]})};u.prototype.getTimeTicks=function(c,e,m,u){var A=this,d=[],q={},h=new A.Date(e),k=c.unitRange,b=c.count||1,p;u=f(u,1);if(E(e)){A.set("Milliseconds",h,k>=l.second?0:b*Math.floor(A.get("Milliseconds",h)/b));k>=l.second&&A.set("Seconds",h,k>=l.minute?0:b* +Math.floor(A.get("Seconds",h)/b));k>=l.minute&&A.set("Minutes",h,k>=l.hour?0:b*Math.floor(A.get("Minutes",h)/b));k>=l.hour&&A.set("Hours",h,k>=l.day?0:b*Math.floor(A.get("Hours",h)/b));k>=l.day&&A.set("Date",h,k>=l.month?1:Math.max(1,b*Math.floor(A.get("Date",h)/b)));if(k>=l.month){A.set("Month",h,k>=l.year?0:b*Math.floor(A.get("Month",h)/b));var z=A.get("FullYear",h)}k>=l.year&&A.set("FullYear",h,z-z%b);k===l.week&&(z=A.get("Day",h),A.set("Date",h,A.get("Date",h)-z+u+(z4*l.month||A.getTimezoneOffset(e)!==A.getTimezoneOffset(m));e=h.getTime();for(h=1;ed.length&&d.forEach(function(b){0===b%18E5&&"000000000"===A.dateFormat("%H%M%S%L", +b)&&(q[b]="day")})}d.info=B(c,{higherRanks:q,totalRange:k*b});return d};u.prototype.getDateFormat=function(c,e,m,u){var f=this.dateFormat("%m-%d %H:%M:%S.%L",e),d={millisecond:15,second:12,minute:9,hour:6,day:3},q="millisecond";for(h in l){if(c===l.week&&+this.dateFormat("%w",e)===m&&"00:00:00.000"===f.substr(6)){var h="week";break}if(l[h]>c){h=q;break}if(d[h]&&f.substr(d[h])!=="01-01 00:00:00.000".substr(d[h]))break;"week"!==h&&(q=h)}return this.resolveDTLFormat(u[h]).main};return u}();"";return g}); +K(g,"Core/Defaults.js",[g["Core/Chart/ChartDefaults.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Color/Palettes.js"],g["Core/Time.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B){g=g.parse;var v=B.merge,r={colors:E.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), +weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:a,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{}, +labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute", +width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:x.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y", +month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:x.isTouchDevice?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:g("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"},useHTML:!1},credits:{enabled:!0, +href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};r.chart.styledMode=!1;"";var t=new D(v(r.global,r.time));a={defaultOptions:r,defaultTime:t,getOptions:function(){return r},setOptions:function(a){v(!0,r,a);if(a.time||a.global)x.time?x.time.update(v(r.global,r.time,a.global,a.time)):x.time=t;return r}};"";return a});K(g,"Core/Animation/Fx.js",[g["Core/Color/Color.js"], +g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.parse,D=g.win,B=x.isNumber,G=x.objectEach;return function(){function a(a,n,f){this.pos=NaN;this.options=n;this.elem=a;this.prop=f}a.prototype.dSetter=function(){var a=this.paths,n=a&&a[0];a=a&&a[1];var f=this.now||0,c=[];if(1!==f&&n&&a)if(n.length===a.length&&1>f)for(var l=0;l=m+this.startTime){this.now= +this.end;this.pos=1;this.update();var u=e[this.prop]=!0;G(e,function(c){!0!==c&&(u=!1)});u&&l&&l.call(c);a=!1}else this.pos=f.easing((n-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0;return a};a.prototype.initPath=function(a,n,f){function c(c,d){for(;c.lengthu[1]){var g=f+ +u[1];0<=g?(u[0]=(+u[0]).toExponential(g).split("e")[0],f=g):(u[0]=u[0].split(".")[0]||0,a=20>f?(u[0]*Math.pow(10,u[1])).toFixed(f):0,u[1]=0)}g=(Math.abs(u[1]?u[0]:a)+Math.pow(10,-Math.max(f, +e)-1)).toFixed(f);e=String(t(g));var n=3a?"-":"")+(n?e.substr(0,n)+l:"");a=0>+u[1]&&!C?"0":a+e.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+l);f&&(a+=c+g.slice(-f));u[1]&&0!==+a&&(a+="e"+u[1]);return a}var E=a.defaultOptions,D=a.defaultTime,B=g.getNestedProperty,G=g.isNumber,r=g.pick,t=g.pInt;return{dateFormat:function(a,f,c){return D.dateFormat(a,f,c)},format:function(a,f,c){var l="{",m=!1,e=/f$/,u=/\.([0-9])/,C=E.lang,g=c&&c.time|| +D;c=c&&c.numberFormatter||v;for(var n=[];a;){var r=a.indexOf(l);if(-1===r)break;var A=a.slice(0,r);if(m){A=A.split(":");l=B(A.shift()||"",f);if(A.length&&"number"===typeof l)if(A=A.join(":"),e.test(A)){var d=parseInt((A.match(u)||["","-1"])[1],10);null!==l&&(l=c(l,d,C.decimalPoint,-1c){E(a,l);for(J=e=0;J<=c;)J+=a[e].size,e++;C=a.splice(e-1,a.length)}E(a,m);for(a=a.map(function(c){return{size:c.size,targets:[c.target],align:x(c.align,.5)}});u;){for(e=a.length;e--;)c=a[e],l=(Math.min.apply(0,c.targets)+Math.max.apply(0,c.targets))/ +2,c.pos=g(l-c.size*c.align,0,t-c.size);e=a.length;for(u=!1;e--;)0a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].align=.5,a[e-1].pos+a[e-1].size>t&&(a[e-1].pos=t-a[e-1].size),a.splice(e,1),u=!0)}f.push.apply(f,C);e=0;a.some(function(c){var m=0;return(c.targets||[]).some(function(){f[e].pos=c.pos+m;if("undefined"!==typeof n&&Math.abs(f[e].pos-f[e].target)>n)return f.slice(0,e+1).forEach(function(c){return delete c.pos}),f.reducedLen= +(f.reducedLen||t)-.1*t,f.reducedLen>.1*t&&v(f,t,n),!0;m+=f[e].size;e++;return!1})});E(f,m);return f}a.distribute=v})(D||(D={}));return D});K(g,"Core/Renderer/SVG/SVGElement.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=a.animate,B=a.animObject,G=a.stop,r=x.deg2rad,t=x.doc,n=x.svg,f=x.SVG_NS,c=x.win,l=E.addEvent,m=E.attr,e=E.createElement,u=E.css,C=E.defined,J=E.erase,I=E.extend,L=E.fireEvent,A=E.isArray, +d=E.isFunction,q=E.isString,h=E.merge,k=E.objectEach,b=E.pick,p=E.pInt,z=E.syncTimeout,w=E.uniqueKey;a=function(){function a(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=f;this.symbolCustomAttribs="x y width height r start end innerR anchorX anchorY rounded".split(" ")}a.prototype._defaultGetter=function(d){d=b(this[d+"Value"],this[d],this.element?this.element.getAttribute(d):null,0);/^[\-0-9\.]+$/.test(d)&&(d=parseFloat(d));return d};a.prototype._defaultSetter= +function(b,d,h){h.setAttribute(d,b)};a.prototype.add=function(b){var d=this.renderer,h=this.element;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&d.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex)var c=this.zIndexSetter();c||(b?b.element:d.box).appendChild(h);if(this.onAdd)this.onAdd();return this};a.prototype.addClass=function(b,d){var h=d?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b,d){-1===h.indexOf(d)&&b.push(d);return b}, +h?[h]:[]).join(" ");b!==h&&this.attr("class",b);return this};a.prototype.afterSetters=function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)};a.prototype.align=function(d,h,c){var k={},e=this.renderer,y=e.alignedObjects,p,H,a;if(d){if(this.alignOptions=d,this.alignByTranslate=h,!c||q(c))this.alignTo=p=c||"renderer",J(y,this),y.push(this),c=void 0}else d=this.alignOptions,h=this.alignByTranslate,p=this.alignTo;c=b(c,e[p],"scrollablePlotBox"===p?e.plotBox:void 0,e);p=d.align;var w= +d.verticalAlign;e=(c.x||0)+(d.x||0);y=(c.y||0)+(d.y||0);"right"===p?H=1:"center"===p&&(H=2);H&&(e+=(c.width-(d.width||0))/H);k[h?"translateX":"x"]=Math.round(e);"bottom"===w?a=1:"middle"===w&&(a=2);a&&(y+=(c.height-(d.height||0))/a);k[h?"translateY":"y"]=Math.round(y);this[this.placed?"animate":"attr"](k);this.placed=!0;this.alignAttr=k;return this};a.prototype.alignSetter=function(b){var d={left:"start",center:"middle",right:"end"};d[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor", +d[b]))};a.prototype.animate=function(d,h,c){var e=this,p=B(b(h,this.renderer.globalAnimation,!0));h=p.defer;b(t.hidden,t.msHidden,t.webkitHidden,!1)&&(p.duration=0);0!==p.duration?(c&&(p.complete=c),z(function(){e.element&&v(e,d,p)},h)):(this.attr(d,void 0,c||p.complete),k(d,function(b,d){p.step&&p.step.call(this,b,{prop:d,pos:1,elem:this})},this));return this};a.prototype.applyTextOutline=function(b){var d=this.element;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(d.style.fill))); +var h=b.split(" ");b=h[h.length-1];if((h=h[0])&&"none"!==h&&x.svg){this.fakeTS=!0;h=h.replace(/(^[\d\.]+)(.*?)$/g,function(b,d,h){return 2*Number(d)+h});this.removeTextOutline();var c=t.createElementNS(f,"tspan");m(c,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":h,"stroke-linejoin":"round"});b=d.querySelector("textPath")||d;[].forEach.call(b.childNodes,function(b){var d=b.cloneNode(!0);d.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(function(b){return d.removeAttribute(b)}); +c.appendChild(d)});var k=0;[].forEach.call(b.querySelectorAll("text tspan"),function(b){k+=Number(b.getAttribute("dy"))});h=t.createElementNS(f,"tspan");h.textContent="\u200b";m(h,{x:Number(d.getAttribute("x")),dy:-k});c.appendChild(h);b.insertBefore(c,b.firstChild)}};a.prototype.attr=function(b,d,h,c){var p=this.element,y=this.symbolCustomAttribs,e,a=this,w,H;if("string"===typeof b&&"undefined"!==typeof d){var F=b;b={};b[F]=d}"string"===typeof b?a=(this[b+"Getter"]||this._defaultGetter).call(this, +b,p):(k(b,function(d,h){w=!1;c||G(this,h);this.symbolName&&-1!==y.indexOf(h)&&(e||(this.symbolAttr(b),e=!0),w=!0);!this.rotation||"x"!==h&&"y"!==h||(this.doTransform=!0);w||(H=this[h+"Setter"]||this._defaultSetter,H.call(this,d,h,p),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(h)&&this.updateShadows(h,d,H))},this),this.afterSetters());h&&h.call(this);return a};a.prototype.clip=function(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+ +")":"none")};a.prototype.crisp=function(b,d){d=d||b.strokeWidth||0;var h=Math.round(d)%2/2;b.x=Math.floor(b.x||this.x||0)+h;b.y=Math.floor(b.y||this.y||0)+h;b.width=Math.floor((b.width||this.width||0)-2*h);b.height=Math.floor((b.height||this.height||0)-2*h);C(b.strokeWidth)&&(b.strokeWidth=d);return b};a.prototype.complexColor=function(b,d,c){var p=this.renderer,e,y,a,m,f,H,F,z,M,q,l=[],u;L(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?y="radialGradient":b.linearGradient&& +(y="linearGradient");if(y){a=b[y];f=p.gradients;H=b.stops;M=c.radialReference;A(a)&&(b[y]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===y&&M&&!C(a.gradientUnits)&&(m=a,a=h(a,p.getRadialAttr(M,m),{gradientUnits:"userSpaceOnUse"}));k(a,function(b,d){"id"!==d&&l.push(d,b)});k(H,function(b){l.push(b)});l=l.join(",");if(f[l])q=f[l].attr("id");else{a.id=q=w();var T=f[l]=p.createElement(y).attr(a).add(p.defs);T.radAttr=m;T.stops=[];H.forEach(function(b){0===b[1].indexOf("rgba")? +(e=g.parse(b[1]),F=e.get("rgb"),z=e.get("a")):(F=b[1],z=1);b=p.createElement("stop").attr({offset:b[0],"stop-color":F,"stop-opacity":z}).add(T);T.stops.push(b)})}u="url("+p.url+"#"+q+")";c.setAttribute(d,u);c.gradient=l;b.toString=function(){return u}}})};a.prototype.css=function(b){var d=this.styles,c={},e=this.element,a=!d;b.color&&(b.fill=b.color);d&&k(b,function(b,h){d&&d[h]!==b&&(c[h]=b,a=!0)});if(a){d&&(b=I(d,c));if(null===b.width||"auto"===b.width)delete this.textWidth;else if("text"===e.nodeName.toLowerCase()&& +b.width)var y=this.textWidth=p(b.width);this.styles=b;y&&!n&&this.renderer.forExport&&delete b.width;var w=h(b);e.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(function(b){return w&&delete w[b]});u(e,w);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),b.textOutline&&this.applyTextOutline(b.textOutline))}return this};a.prototype.dashstyleSetter=function(d){var h=this["stroke-width"];"inherit"===h&&(h=1);if(d=d&&d.toLowerCase()){var c=d.replace("shortdashdotdot", +"3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(d=c.length;d--;)c[d]=""+p(c[d])*b(h,NaN);d=c.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",d)}};a.prototype.destroy=function(){var b=this,d=b.element||{},h=b.renderer,c=d.ownerSVGElement,p=h.isSVG&&"SPAN"===d.nodeName&&b.parentGroup||void 0;d.onclick=d.onmouseout= +d.onmouseover=d.onmousemove=d.point=null;G(b);if(b.clipPath&&c){var y=b.clipPath;[].forEach.call(c.querySelectorAll("[clip-path],[CLIP-PATH]"),function(b){-1q.width)q={x:0,y:0,width:0,height:0}}else q=this.htmlGetBBox(); +if(e.isSVG&&(e=q.width,h=q.height,z&&(q.height=h={"11px,17":14,"13px,20":16}[""+(F||"")+",".concat(Math.round(h))]||h),c)){z=Number(p.getAttribute("y")||0)-q.y;k={right:1,center:.5}[k||0]||0;y=c*r;F=(c-90)*r;var H=e*Math.cos(y);c=e*Math.sin(y);l=Math.cos(F);y=Math.sin(F);e=q.x+k*(e-H)+z*l;F=e+H;l=F-h*l;H=l-H;z=q.y+z-k*c+z*y;k=z+c;h=k-h*y;c=h-c;q.x=Math.min(e,F,l,H);q.y=Math.min(z,k,h,c);q.width=Math.max(e,F,l,H)-q.x;q.height=Math.max(z,k,h,c)-q.y}if(M&&(""===w||0]*>/g,"").replace(/</g,"<").replace(/>/g,">")};a.prototype.toFront=function(){var b=this.element;b.parentNode.appendChild(b);return this};a.prototype.translate=function(b,d){return this.attr({translateX:b,translateY:d})};a.prototype.updateShadows=function(b,d,h){var c=this.shadows;if(c)for(var k=c.length;k--;)h.call(c[k],"height"===b?Math.max(d-(c[k].cutHeight||0),0):"d"===b?this.d:d,b,c[k])};a.prototype.updateTransform=function(){var d= +this.element,h=this.matrix,c=this.rotation;c=void 0===c?0:c;var k=this.scaleX,p=this.scaleY,y=this.translateX,e=this.translateY;y=["translate("+(void 0===y?0:y)+","+(void 0===e?0:e)+")"];C(h)&&y.push("matrix("+h.join(",")+")");c&&y.push("rotate("+c+" "+b(this.rotationOriginX,d.getAttribute("x"),0)+" "+b(this.rotationOriginY,d.getAttribute("y")||0)+")");(C(k)||C(p))&&y.push("scale("+b(k,1)+" "+b(p,1)+")");y.length&&!(this.text||this).textPath&&d.setAttribute("transform",y.join(" "))};a.prototype.visibilitySetter= +function(b,d,h){"inherit"===b?h.removeAttribute(d):this[d]!==b&&h.setAttribute(d,b);this[d]=b};a.prototype.xGetter=function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)};a.prototype.zIndexSetter=function(b,d){var h=this.renderer,c=this.parentGroup,k=(c||h).element||h.box,y=this.element;h=k===h.box;var e=!1;var a=this.added;var w;C(b)?(y.setAttribute("data-z-index",b),b=+b,this[d]===b&&(a=!1)):C(this[d])&&y.removeAttribute("data-z-index");this[d]= +b;if(a){(b=this.zIndex)&&c&&(c.handleZ=!0);d=k.childNodes;for(w=d.length-1;0<=w&&!e;w--){c=d[w];a=c.getAttribute("data-z-index");var q=!C(a);if(c!==y)if(0>b&&q&&!h&&!w)k.insertBefore(y,d[w]),e=!0;else if(p(a)<=b||q&&(!C(b)||0<=b))k.insertBefore(y,d[w+1]||null),e=!0}e||(k.insertBefore(y,d[h?3:0]||null),e=!0)}return e};return a}();a.prototype.strokeSetter=a.prototype.fillSetter;a.prototype.yGetter=a.prototype.xGetter;a.prototype.matrixSetter=a.prototype.rotationOriginXSetter=a.prototype.rotationOriginYSetter= +a.prototype.rotationSetter=a.prototype.scaleXSetter=a.prototype.scaleYSetter=a.prototype.translateXSetter=a.prototype.translateYSetter=a.prototype.verticalAlignSetter=function(b,d){this[d]=b;this.doTransform=!0};"";return a});K(g,"Core/Renderer/RendererRegistry.js",[g["Core/Globals.js"]],function(a){var g;(function(g){g.rendererTypes={};var v;g.getRendererType=function(a){void 0===a&&(a=v);return g.rendererTypes[a]||g.rendererTypes[v]};g.registerRendererType=function(x,B,E){g.rendererTypes[x]=B;if(!v|| +E)v=x,a.Renderer=B}})(g||(g={}));return g});K(g,"Core/Renderer/SVG/SVGLabel.js",[g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return a(f,c)};return function(f,c){function l(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(l.prototype=c.prototype, +new l)}}(),E=g.defined,D=g.extend,B=g.isNumber,G=g.merge,r=g.pick,t=g.removeEvent;return function(g){function f(c,a,m,e,u,C,n,I,r,A){var d=g.call(this)||this;d.paddingLeftSetter=d.paddingSetter;d.paddingRightSetter=d.paddingSetter;d.init(c,"g");d.textStr=a;d.x=m;d.y=e;d.anchorX=C;d.anchorY=n;d.baseline=r;d.className=A;d.addClass("button"===A?"highcharts-no-tooltip":"highcharts-label");A&&d.addClass("highcharts-"+A);d.text=c.text(void 0,0,0,I).attr({zIndex:1});var q;"string"===typeof u&&((q=/^url\((.*?)\)$/.test(u))|| +d.renderer.symbols[u])&&(d.symbolKey=u);d.bBox=f.emptyBBox;d.padding=3;d.baselineOffset=0;d.needsBox=c.styledMode||q;d.deferredAttr={};d.alignFactor=0;return d}v(f,g);f.prototype.alignSetter=function(c){c={left:0,center:.5,right:1}[c];c!==this.alignFactor&&(this.alignFactor=c,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))};f.prototype.anchorXSetter=function(c,a){this.anchorX=c;this.boxAttr(a,Math.round(c)-this.getCrispAdjust()-this.xSetting)};f.prototype.anchorYSetter=function(c,a){this.anchorY= +c;this.boxAttr(a,c-this.ySetting)};f.prototype.boxAttr=function(c,a){this.box?this.box.attr(c,a):this.deferredAttr[c]=a};f.prototype.css=function(c){if(c){var l={};c=G(c);f.textProps.forEach(function(e){"undefined"!==typeof c[e]&&(l[e]=c[e],delete c[e])});this.text.css(l);var m="width"in l;"fontSize"in l||"fontWeight"in l?this.updateTextPadding():m&&this.updateBoxSize()}return a.prototype.css.call(this,c)};f.prototype.destroy=function(){t(this.element,"mouseenter");t(this.element,"mouseleave");this.text&& +this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)};f.prototype.fillSetter=function(c,a){c&&(this.needsBox=!0);this.fill=c;this.boxAttr(a,c)};f.prototype.getBBox=function(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();var c=this.padding,a=r(this.paddingLeft,c);return{width:this.width,height:this.height,x:this.bBox.x-a,y:this.bBox.y-c}};f.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()% +2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2};f.prototype.heightSetter=function(c){this.heightSetting=c};f.prototype.onAdd=function(){this.text.add(this);this.attr({text:r(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&E(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};f.prototype.paddingSetter=function(c,a){B(c)?c!==this[a]&&(this[a]=c,this.updateTextPadding()):this[a]=void 0};f.prototype.rSetter=function(c,a){this.boxAttr(a,c)};f.prototype.shadow= +function(c){c&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(c));return this};f.prototype.strokeSetter=function(c,a){this.stroke=c;this.boxAttr(a,c)};f.prototype["stroke-widthSetter"]=function(c,a){c&&(this.needsBox=!0);this["stroke-width"]=c;this.boxAttr(a,c)};f.prototype["text-alignSetter"]=function(c){this.textAlign=c};f.prototype.textSetter=function(c){"undefined"!==typeof c&&this.text.attr({text:c});this.updateTextPadding()};f.prototype.updateBoxSize=function(){var c= +this.text,a=c.element.style,m={},e=this.padding,u=this.bBox=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!E(c.textStr)?f.emptyBBox:c.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||u.height||0)+2*e;a=this.renderer.fontMetrics(a&&a.fontSize,c);this.baselineOffset=e+Math.min((this.text.firstLineMetrics||a).b,u.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-a.h)/2);this.needsBox&&!c.textPath&&(this.box||(c=this.box=this.symbolKey? +this.renderer.symbol(this.symbolKey):this.renderer.rect(),c.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),c.add(this)),c=this.getCrispAdjust(),m.x=c,m.y=(this.baseline?-this.baselineOffset:0)+c,m.width=Math.round(this.width),m.height=Math.round(this.height),this.box.attr(D(m,this.deferredAttr)),this.deferredAttr={})};f.prototype.updateTextPadding=function(){var c=this.text;if(!c.textPath){this.updateBoxSize();var a=this.baseline? +0:this.baselineOffset,f=r(this.paddingLeft,this.padding);E(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(f+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(f!==c.x||a!==c.y)c.attr("x",f),c.hasBoxWidthChanged&&(this.bBox=c.getBBox(!0)),"undefined"!==typeof a&&c.attr("y",a);c.x=f;c.y=a}};f.prototype.widthSetter=function(c){this.widthSetting=B(c)?c:void 0};f.prototype.getPaddedWidth=function(){var c=this.padding,a=r(this.paddingLeft, +c);c=r(this.paddingRight,c);return(this.widthSetting||this.bBox.width||0)+a+c};f.prototype.xSetter=function(c){this.x=c;this.alignFactor&&(c-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(c);this.attr("translateX",this.xSetting)};f.prototype.ySetter=function(c){this.ySetting=this.y=Math.round(c);this.attr("translateY",this.ySetting)};f.emptyBBox={width:0,height:0,x:0,y:0};f.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "); +return f}(a)});K(g,"Core/Renderer/SVG/Symbols.js",[g["Core/Utilities.js"]],function(a){function g(a,g,n,f,c){var l=[];if(c){var m=c.start||0,e=G(c.r,n);n=G(c.r,f||n);var u=(c.end||0)-.001;f=c.innerR;var C=G(c.open,.001>Math.abs((c.end||0)-m-2*Math.PI)),J=Math.cos(m),I=Math.sin(m),r=Math.cos(u),A=Math.sin(u);m=G(c.longArc,.001>u-m-Math.PI?0:1);l.push(["M",a+e*J,g+n*I],["A",e,n,0,m,G(c.clockwise,1),a+e*r,g+n*A]);D(f)&&l.push(C?["M",a+f*r,g+f*A]:["L",a+f*r,g+f*A],["A",f,f,0,m,D(c.clockwise)?1-c.clockwise: +0,a+f*J,g+f*I]);C||l.push(["Z"])}return l}function x(a,g,n,f,c){return c&&c.r?E(a,g,n,f,c):[["M",a,g],["L",a+n,g],["L",a+n,g+f],["L",a,g+f],["Z"]]}function E(a,g,n,f,c){c=c&&c.r||0;return[["M",a+c,g],["L",a+n-c,g],["C",a+n,g,a+n,g,a+n,g+c],["L",a+n,g+f-c],["C",a+n,g+f,a+n,g+f,a+n-c,g+f],["L",a+c,g+f],["C",a,g+f,a,g+f,a,g+f-c],["L",a,g+c],["C",a,g,a,g,a+c,g]]}var D=a.defined,B=a.isNumber,G=a.pick;return{arc:g,callout:function(a,g,n,f,c){var l=Math.min(c&&c.r||0,n,f),m=l+6,e=c&&c.anchorX;c=c&&c.anchorY|| +0;var u=E(a,g,n,f,{r:l});if(!B(e))return u;a+e>=n?c>g+m&&c=a+e?c>g+m&&cf&&e>a+m&&ec&&e>a+m&&e/g,A=[l,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(A!==f.textCache){f.textCache=A;delete f.actualWidth;for(A=I.length;A--;)e.removeChild(I[A]);g||this.ellipsis||this.width||f.textPath||-1!==l.indexOf(" ")&&(!this.noWrap||L.test(l))?""!==l&&(u&&u.appendChild(e),l=new a(l),this.modifyTree(l.nodes), +l.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("\u2026")&&f.attr("title",this.unescapeEntities(f.textStr||"",["<",">"])),u&&u.removeChild(e)):e.appendChild(v.createTextNode(this.unescapeEntities(l)));n(this.textOutline)&&f.applyTextOutline&&f.applyTextOutline(this.textOutline)}};l.prototype.modifyDOM=function(){var c=this,a=this.svgElement,f=G(a.element,"x");a.firstLineMetrics=void 0;for(var l;l=a.element.firstChild;)if(/^[\s\u200B]*$/.test(l.textContent||" "))a.element.removeChild(l); +else break;[].forEach.call(a.element.querySelectorAll("tspan.highcharts-br"),function(e,d){e.nextSibling&&e.previousSibling&&(0===d&&1===e.previousSibling.nodeType&&(a.firstLineMetrics=a.renderer.fontMetrics(void 0,e.previousSibling)),G(e,{dy:c.getLineHeight(e.nextSibling),x:f}))});var g=this.width||0;if(g){var n=function(e,d){var q=e.textContent||"",h=q.replace(/([^\^])-/g,"$1- ").split(" "),k=!c.noWrap&&(1g){for(;h<=k;)b=Math.ceil((h+k)/2),f&&(p=n(f,b)),w=z(b,p&&p.length-1),h===k?h=k+1:w>g?k=b-1:h=b;0===k? +c.textContent="":a&&k===a.length-1||(c.textContent=p||n(a||f,b))}f&&f.splice(0,b);e.actualWidth=w;e.rotation=d};l.prototype.unescapeEntities=function(c,a){f(this.renderer.escapes,function(e,f){a&&-1!==a.indexOf(e)||(c=c.toString().replace(new RegExp(e,"g"),f))});return c};return l}()});K(g,"Core/Renderer/SVG/SVGRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Color/Color.js"],g["Core/Globals.js"],g["Core/Renderer/RendererRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGLabel.js"], +g["Core/Renderer/SVG/Symbols.js"],g["Core/Renderer/SVG/TextBuilder.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t){var n=x.charts,f=x.deg2rad,c=x.doc,l=x.isFirefox,m=x.isMS,e=x.isWebKit,u=x.noop,C=x.SVG_NS,J=x.symbolSizes,I=x.win,L=t.addEvent,A=t.attr,d=t.createElement,q=t.css,h=t.defined,k=t.destroyObjectProperties,b=t.extend,p=t.isArray,z=t.isNumber,w=t.isObject,N=t.isString,H=t.merge,O=t.pick,Q=t.pInt,v=t.uniqueKey,Y;x=function(){function y(b,d,h,c,a,y,k){this.width=this.url=this.style= +this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(b,d,h,c,a,y,k)}y.prototype.init=function(b,d,h,a,y,k,e){var F=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),p=F.element;e||F.css(this.getStyle(a));b.appendChild(p);A(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&A(p,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=p;this.boxWrapper=F;this.alignedObjects= +[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(c.createTextNode("Created with Highcharts 10.3.2"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=y;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(d,h,!1);var f;l&&b.getBoundingClientRect&&(d=function(){q(b,{left:0,top:0});f=b.getBoundingClientRect();q(b,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},d(),this.unSubPixelFix= +L(I,"resize",d))};y.prototype.definition=function(b){return(new a([b])).addToDOM(this.defs.element)};y.prototype.getReferenceURL=function(){if((l||e)&&c.getElementsByTagName("base").length){if(!h(Y)){var b=v();b=(new a([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#".concat(b,")"),fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(c.body); +q(b,{position:"fixed",top:0,left:0,zIndex:9E5});var d=c.elementFromPoint(6,6);Y="hitme"===(d&&d.id);c.body.removeChild(b)}if(Y)return I.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};y.prototype.getStyle=function(d){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},d)};y.prototype.setStyle=function(b){this.boxWrapper.css(this.getStyle(b))};y.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width}; +y.prototype.destroy=function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();k(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};y.prototype.createElement=function(b){var d=new this.Element;d.init(this,b);return d};y.prototype.getRadialAttr=function(b,d){return{cx:b[0]-b[2]/2+(d.cx||0)*b[2],cy:b[1]-b[2]/2+(d.cy||0)*b[2],r:(d.r||0)*b[2]}};y.prototype.buildText=function(b){(new r(b)).buildSVG()}; +y.prototype.getContrast=function(b){b=g.parse(b).rgba.map(function(b){b/=255;return.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4)});b=.2126*b[0]+.7152*b[1]+.0722*b[2];return 1.05/(b+.05)>(b+.05)/.05?"#FFFFFF":"#000000"};y.prototype.button=function(d,h,c,y,k,e,p,f,q,z){void 0===k&&(k={});var F=this.label(d,h,c,q,void 0,void 0,z,void 0,"button"),l=this.styledMode;d=k.states||{};var M=0;k=H(k);delete k.states;var u=H({color:"#333333",cursor:"pointer",fontWeight:"normal"},k.style);delete k.style;var g= +a.filterUserAttributes(k);F.attr(H({padding:8,r:2},g));if(!l){g=H({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},g);e=H(g,{fill:"#e6e6e6"},a.filterUserAttributes(e||d.hover||{}));var P=e.style;delete e.style;p=H(g,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},a.filterUserAttributes(p||d.select||{}));var T=p.style;delete p.style;f=H(g,{style:{color:"#cccccc"}},a.filterUserAttributes(f||d.disabled||{}));var A=f.style;delete f.style}L(F.element,m?"mouseover":"mouseenter",function(){3!== +M&&F.setState(1)});L(F.element,m?"mouseout":"mouseleave",function(){3!==M&&F.setState(M)});F.setState=function(b){1!==b&&(F.state=M=b);F.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);l||(F.attr([g,e,p,f][b||0]),b=[u,P,T,A][b||0],w(b)&&F.css(b))};l||(F.attr(g).css(b({cursor:"default"},u)),z&&F.text.css({pointerEvents:"none"}));return F.on("touchstart",function(b){return b.stopPropagation()}).on("click", +function(b){3!==M&&y.call(F,b)})};y.prototype.crispLine=function(b,d,c){void 0===c&&(c="round");var a=b[0],y=b[1];h(a[1])&&a[1]===y[1]&&(a[1]=y[1]=Math[c](a[1])-d%2/2);h(a[2])&&a[2]===y[2]&&(a[2]=y[2]=Math[c](a[2])+d%2/2);return b};y.prototype.path=function(d){var h=this.styledMode?{}:{fill:"none"};p(d)?h.d=d:w(d)&&b(h,d);return this.createElement("path").attr(h)};y.prototype.circle=function(b,d,h){b=w(b)?b:"undefined"===typeof b?{}:{x:b,y:d,r:h};d=this.createElement("circle");d.xSetter=d.ySetter= +function(b,d,h){h.setAttribute("c"+d,b)};return d.attr(b)};y.prototype.arc=function(b,d,h,c,a,y){w(b)?(c=b,d=c.y,h=c.r,b=c.x):c={innerR:c,start:a,end:y};b=this.symbol("arc",b,d,h,h,c);b.r=h;return b};y.prototype.rect=function(b,d,h,c,a,y){a=w(b)?b.r:a;var k=this.createElement("rect");b=w(b)?b:"undefined"===typeof b?{}:{x:b,y:d,width:Math.max(h,0),height:Math.max(c,0)};this.styledMode||("undefined"!==typeof y&&(b["stroke-width"]=y,b=k.crisp(b)),b.fill="none");a&&(b.r=a);k.rSetter=function(b,d,h){k.r= +b;A(h,{rx:b,ry:b})};k.rGetter=function(){return k.r||0};return k.attr(b)};y.prototype.setSize=function(b,d,h){this.width=b;this.height=d;this.boxWrapper.animate({width:b,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:O(h,!0)?void 0:0});this.alignElements()};y.prototype.g=function(b){var d=this.createElement("g");return b?d.attr({"class":"highcharts-"+b}):d};y.prototype.image=function(b,d,h,c,a,y){var k={preserveAspectRatio:"none"},e=function(b, +d){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink","href",d):b.setAttribute("hc-svg-href",d)};z(d)&&(k.x=d);z(h)&&(k.y=h);z(c)&&(k.width=c);z(a)&&(k.height=a);var p=this.createElement("image").attr(k);d=function(d){e(p.element,b);y.call(p,d)};y?(e(p.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),h=new I.Image,L(h,"load",d),h.src=b,h.complete&&d({})):e(p.element,b);return p};y.prototype.symbol=function(a,y,k,p,e,f){var F=this,w=/^url\((.*?)\)$/, +z=w.test(a),l=!z&&(this.symbols[a]?a:"circle"),m=l&&this.symbols[l],u;if(m){"number"===typeof y&&(u=m.call(this.symbols,Math.round(y||0),Math.round(k||0),p||0,e||0,f));var g=this.path(u);F.styledMode||g.attr("fill","none");b(g,{symbolName:l||void 0,x:y,y:k,width:p,height:e});f&&b(g,f)}else if(z){var P=a.match(w)[1];var T=g=this.image(P);T.imgwidth=O(J[P]&&J[P].width,f&&f.width);T.imgheight=O(J[P]&&J[P].height,f&&f.height);var C=function(b){return b.attr({width:b.width,height:b.height})};["width", +"height"].forEach(function(b){T[b+"Setter"]=function(b,d){this[d]=b;b=this.alignByTranslate;var c=this.element,a=this.width,y=this.height,k=this.imgwidth,p=this.imgheight,e=this["img"+d];if(h(e)){var F=1;f&&"within"===f.backgroundSize&&a&&y?(F=Math.min(a/k,y/p),e=Math.round(e*F),A(c,{width:Math.round(k*F),height:Math.round(p*F)})):c&&c.setAttribute(d,e);b||this.translate(((a||0)-e*F)/2,((y||0)-e*F)/2)}}});h(y)&&T.attr({x:y,y:k});T.isImg=!0;h(T.imgwidth)&&h(T.imgheight)?C(T):(T.attr({width:0,height:0}), +d("img",{onload:function(){var b=n[F.chartIndex];0===this.width&&(q(this,{position:"absolute",top:"-999em"}),c.body.appendChild(this));J[P]={width:this.width,height:this.height};T.imgwidth=this.width;T.imgheight=this.height;T.element&&C(T);this.parentNode&&this.parentNode.removeChild(this);F.imgCount--;if(!F.imgCount&&b&&!b.hasLoaded)b.onload()},src:P}),this.imgCount++)}return g};y.prototype.clipRect=function(b,d,h,c){var a=v()+"-",y=this.createElement("clipPath").attr({id:a}).add(this.defs);b=this.rect(b, +d,h,c,0).add(y);b.id=a;b.clipPath=y;b.count=0;return b};y.prototype.text=function(b,d,c,a){var y={};if(a&&(this.allowHTML||!this.forExport))return this.html(b,d,c);y.x=Math.round(d||0);c&&(y.y=Math.round(c));h(b)&&(y.text=b);b=this.createElement("text").attr(y);if(!a||this.forExport&&!this.allowHTML)b.xSetter=function(b,d,h){for(var c=h.getElementsByTagName("tspan"),a=h.getAttribute(d),y=0,k;yb?b+3:Math.round(1.2*b);return{h:d,b:Math.round(.8*d),f:b}};y.prototype.rotCorr=function(b,d,h){var c=b;d&&h&&(c=Math.max(c*Math.cos(d*f),4));return{x:-b/3*Math.sin(d*f),y:c}};y.prototype.pathToSegments=function(b){for(var d=[],h=[],c={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},a=0;a":">","'":"'",'"':"""},symbols:G, +draw:u});E.registerRendererType("svg",x,!0);"";return x});K(g,"Core/Renderer/HTML/HTMLElement.js",[g["Core/Globals.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var c=function(a,f){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c,a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return c(a,f)};return function(a,f){function e(){this.constructor=a}c(a,f);a.prototype=null===f? +Object.create(f):(e.prototype=f.prototype,new e)}}(),D=a.isFirefox,B=a.isMS,G=a.isWebKit,r=a.win,t=x.css,n=x.defined,f=x.extend,c=x.pick,l=x.pInt;return function(a){function e(){return null!==a&&a.apply(this,arguments)||this}v(e,a);e.compose=function(c){if(-1===e.composedClasses.indexOf(c)){e.composedClasses.push(c);var a=e.prototype,f=c.prototype;f.getSpanCorrection=a.getSpanCorrection;f.htmlCss=a.htmlCss;f.htmlGetBBox=a.htmlGetBBox;f.htmlUpdateTransform=a.htmlUpdateTransform;f.setSpanRotation=a.setSpanRotation}return c}; +e.prototype.getSpanCorrection=function(c,a,e){this.xCorr=-c*e;this.yCorr=-a};e.prototype.htmlCss=function(a){var e="SPAN"===this.element.tagName&&a&&"width"in a,l=c(e&&a.width,void 0);if(e){delete a.width;this.textWidth=l;var g=!0}a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=f(this.styles,a);t(this.element,a);g&&this.htmlUpdateTransform();return this};e.prototype.htmlGetBBox=function(){var c=this.element;return{x:c.offsetLeft,y:c.offsetTop,width:c.offsetWidth, +height:c.offsetHeight}};e.prototype.htmlUpdateTransform=function(){if(this.added){var c=this.renderer,a=this.element,e=this.translateX||0,f=this.translateY||0,g=this.x||0,m=this.y||0,d=this.textAlign||"left",q={left:0,center:.5,right:1}[d],h=this.styles;h=h&&h.whiteSpace;t(a,{marginLeft:e,marginTop:f});!c.styledMode&&this.shadows&&this.shadows.forEach(function(b){t(b,{marginLeft:e+1,marginTop:f+1})});this.inverted&&[].forEach.call(a.childNodes,function(b){c.invertChild(b,a)});if("SPAN"===a.tagName){var k= +this.rotation,b=this.textWidth&&l(this.textWidth),p=[k,d,a.innerHTML,this.textWidth,this.textAlign].join(),z=void 0;z=!1;if(b!==this.oldTextWidth){if(this.textPxLength)var w=this.textPxLength;else t(a,{width:"",whiteSpace:h||"nowrap"}),w=a.offsetWidth;(b>this.oldTextWidth||w>b)&&(/[ \-]/.test(a.textContent||a.innerText)||"ellipsis"===a.style.textOverflow)&&(t(a,{width:w>b||k?b+"px":"auto",display:"block",whiteSpace:h||"normal"}),this.oldTextWidth=b,z=!0)}this.hasBoxWidthChanged=z;p!==this.cTT&&(z= +c.fontMetrics(a.style.fontSize,a).b,!n(k)||k===(this.oldRotation||0)&&d===this.oldAlign||this.setSpanRotation(k,q,z),this.getSpanCorrection(!n(k)&&this.textPxLength||a.offsetWidth,z,q,k,d));t(a,{left:g+(this.xCorr||0)+"px",top:m+(this.yCorr||0)+"px"});this.cTT=p;this.oldRotation=k;this.oldAlign=d}}else this.alignOnAdd=!0};e.prototype.setSpanRotation=function(c,a,e){var f={},l=B&&!/Edge/.test(r.navigator.userAgent)?"-ms-transform":G?"-webkit-transform":D?"MozTransform":r.opera?"-o-transform":void 0; +l&&(f[l]=f.transform="rotate("+c+"deg)",f[l+(D?"Origin":"-origin")]=f.transformOrigin=100*a+"% "+e+"px",t(this.element,f))};e.composedClasses=[];return e}(g)});K(g,"Core/Renderer/HTML/HTMLRenderer.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Utilities.js"]],function(a,g,x,E){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,a){c.__proto__=a}||function(c, +a){for(var e in a)a.hasOwnProperty(e)&&(c[e]=a[e])};return a(f,c)};return function(f,c){function l(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(l.prototype=c.prototype,new l)}}(),B=E.attr,G=E.createElement,r=E.extend,t=E.pick;return function(n){function f(){return null!==n&&n.apply(this,arguments)||this}v(f,n);f.compose=function(c){-1===f.composedClasses.indexOf(c)&&(f.composedClasses.push(c),c.prototype.html=f.prototype.html);return c};f.prototype.html=function(c,f,m){var e= +this.createElement("span"),l=e.element,n=e.renderer,J=n.isSVG,I=function(c,a){["opacity","visibility"].forEach(function(d){c[d+"Setter"]=function(e,h,k){var b=c.div?c.div.style:a;g.prototype[d+"Setter"].call(this,e,h,k);b&&(b[h]=e)}});c.addedSetters=!0};e.textSetter=function(c){c!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,a.setElementHTML(this.element,t(c,"")),this.textStr=c,e.doTransform=!0)};J&&I(e,e.element.style);e.xSetter=e.ySetter=e.alignSetter=e.rotationSetter=function(c,a){"align"=== +a?e.alignValue=e.textAlign=c:e[a]=c;e.doTransform=!0};e.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};e.attr({text:c,x:Math.round(f),y:Math.round(m)}).css({position:"absolute"});n.styledMode||e.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});l.style.whiteSpace="nowrap";e.css=e.htmlCss;J&&(e.add=function(c){var a=n.box.parentNode,d=[];if(this.parentGroup=c){var f=c.div;if(!f){for(;c;)d.push(c),c=c.parentGroup;d.reverse().forEach(function(h){function c(b, +d){h[d]=b;"translateX"===d?q.left=b+"px":q.top=b+"px";h.doTransform=!0}var b=B(h.element,"class"),p=h.styles||{};f=h.div=h.div||G("div",b?{className:b}:void 0,{position:"absolute",left:(h.translateX||0)+"px",top:(h.translateY||0)+"px",display:h.display,opacity:h.opacity,cursor:p.cursor,pointerEvents:p.pointerEvents,visibility:h.visibility},f||a);var q=f.style;r(h,{classSetter:function(b){return function(d){this.element.setAttribute("class",d);b.className=d}}(f),on:function(){d[0].div&&e.on.apply({element:d[0].div, +onEvents:h.onEvents},arguments);return h},translateXSetter:c,translateYSetter:c});h.addedSetters||I(h)})}}else f=a;f.appendChild(l);e.added=!0;e.alignOnAdd&&e.htmlUpdateTransform();return e});return e};f.composedClasses=[];return f}(x)});K(g,"Core/Axis/AxisDefaults.js",[],function(){var a;(function(a){a.defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1}, +minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:void 0,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,x:0,zIndex:7,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2, +minorTickPosition:"outside",minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6", +gridLineWidth:void 0,tickColor:"#ccd6eb"};a.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){var a=this.axis.chart.numberFormatter;return a(this.total||0,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0}; +a.defaultLeftAxisOptions={labels:{x:-15},title:{rotation:270}};a.defaultRightAxisOptions={labels:{x:15},title:{rotation:90}};a.defaultBottomAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}};a.defaultTopAxisOptions={labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}}})(a||(a={}));return a});K(g,"Core/Foundation.js",[g["Core/Utilities.js"]],function(a){var g=a.addEvent,x=a.isFunction,E=a.objectEach,D=a.removeEvent,B;(function(a){a.registerEventOptions=function(a,t){a.eventOptions= +a.eventOptions||{};E(t.events,function(n,f){a.eventOptions[f]!==n&&(a.eventOptions[f]&&(D(a,f,a.eventOptions[f]),delete a.eventOptions[f]),x(n)&&(a.eventOptions[f]=n,g(a,f,n)))})}})(B||(B={}));return B});K(g,"Core/Axis/Tick.js",[g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Utilities.js"]],function(a,g,x){var v=g.deg2rad,D=x.clamp,B=x.correctFloat,G=x.defined,r=x.destroyObjectProperties,t=x.extend,n=x.fireEvent,f=x.isNumber,c=x.merge,l=x.objectEach,m=x.pick;g=function(){function e(c,a, +e,f,l){this.isNewLabel=this.isNew=!0;this.axis=c;this.pos=a;this.type=e||"";this.parameters=l||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;n(this,"init");e||f||this.addLabel()}e.prototype.addLabel=function(){var c=this,e=c.axis,l=e.options,g=e.chart,L=e.categories,A=e.logarithmic,d=e.names,q=c.pos,h=m(c.options&&c.options.labels,l.labels),k=e.tickPositions,b=q===k[0],p=q===k[k.length-1],z=(!h.step||1===h.step)&&1===e.tickInterval;k=k.info;var w=c.label, +N;L=this.parameters.category||(L?m(L[q],d[q],q):q);A&&f(L)&&(L=B(A.lin2log(L)));if(e.dateTime)if(k){var H=g.time.resolveDTLFormat(l.dateTimeLabelFormats[!l.grid&&k.higherRanks[q]||k.unitName]);var O=H.main}else f(L)&&(O=e.dateTime.getXDateFormat(L,l.dateTimeLabelFormats||{}));c.isFirst=b;c.isLast=p;var Q={axis:e,chart:g,dateTimeLabelFormat:O,isFirst:b,isLast:p,pos:q,tick:c,tickPositionInfo:k,value:L};n(this,"labelFormat",Q);var r=function(b){return h.formatter?h.formatter.call(b,b):h.format?(b.text= +e.defaultLabelFormatter.call(b,b),a.format(h.format,b,g)):e.defaultLabelFormatter.call(b,b)};l=r.call(Q,Q);var Y=H&&H.list;c.shortenLabel=Y?function(){for(N=0;Nh&&f-k*bg&&(n=Math.round((l-f)/Math.cos(h*v)));else if(l=f+(1-k)*b,f-k*bg&&(w=g-c.x+w*k,u=-1),w=Math.min(p,w),ww||a.autoRotation&&(q.styles||{}).width)n=w;n&&(this.shortenLabel?this.shortenLabel():(z.width=Math.floor(n)+"px",(e.style||{}).textOverflow||(z.textOverflow="ellipsis"),q.css(z)))};e.prototype.moveLabel=function(c,a){var e=this,f=e.label,g=e.axis,m=g.reversed,d=!1;f&&f.textStr===c?(e.movedLabel= +f,d=!0,delete e.label):l(g.ticks,function(h){d||h.isNew||h===e||!h.label||h.label.textStr!==c||(e.movedLabel=h.label,d=!0,h.labelPos=e.movedLabel.xy,delete h.label)});if(!d&&(e.labelPos||f)){var q=e.labelPos||f.xy;f=g.horiz?m?0:g.width+g.left:q.x;g=g.horiz?q.y:m?g.width+g.left:0;e.movedLabel=e.createLabel({x:f,y:g},c,a);e.movedLabel&&e.movedLabel.attr({opacity:0})}};e.prototype.render=function(c,a,e){var f=this.axis,l=f.horiz,g=this.pos,d=m(this.tickmarkOffset,f.tickmarkOffset);g=this.getPosition(l, +g,d,a);d=g.x;var q=g.y;f=l&&d===f.pos+f.len||!l&&q===f.pos?-1:1;l=m(e,this.label&&this.label.newOpacity,1);e=m(e,1);this.isActive=!0;this.renderGridLine(a,e,f);this.renderMark(g,e,f);this.renderLabel(g,a,l,c);this.isNew=!1;n(this,"afterRender")};e.prototype.renderGridLine=function(c,a,e){var f=this.axis,l=f.options,g={},d=this.pos,q=this.type,h=m(this.tickmarkOffset,f.tickmarkOffset),k=f.chart.renderer,b=this.gridLine,p=l.gridLineWidth,z=l.gridLineColor,w=l.gridLineDashStyle;"minor"===this.type&& +(p=l.minorGridLineWidth,z=l.minorGridLineColor,w=l.minorGridLineDashStyle);b||(f.chart.styledMode||(g.stroke=z,g["stroke-width"]=p||0,g.dashstyle=w),q||(g.zIndex=1),c&&(a=0),this.gridLine=b=k.path().attr(g).addClass("highcharts-"+(q?q+"-":"")+"grid-line").add(f.gridGroup));if(b&&(e=f.getPlotLinePath({value:d+h,lineWidth:b.strokeWidth()*e,force:"pass",old:c})))b[c||this.isNew?"attr":"animate"]({d:e,opacity:a})};e.prototype.renderMark=function(c,a,e){var f=this.axis,l=f.options,g=f.chart.renderer,d= +this.type,q=f.tickSize(d?d+"Tick":"tick"),h=c.x;c=c.y;var k=m(l["minor"!==d?"tickWidth":"minorTickWidth"],!d&&f.isXAxis?1:0);l=l["minor"!==d?"tickColor":"minorTickColor"];var b=this.mark,p=!b;q&&(f.opposite&&(q[0]=-q[0]),b||(this.mark=b=g.path().addClass("highcharts-"+(d?d+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||b.attr({stroke:l,"stroke-width":k})),b[p?"attr":"animate"]({d:this.getMarkPath(h,c,q[0],b.strokeWidth()*e,f.horiz,g),opacity:a}))};e.prototype.renderLabel=function(c,a,e,l){var g= +this.axis,u=g.horiz,d=g.options,q=this.label,h=d.labels,k=h.step;g=m(this.tickmarkOffset,g.tickmarkOffset);var b=c.x;c=c.y;var p=!0;q&&f(b)&&(q.xy=c=this.getLabelPosition(b,c,q,u,h,g,l,k),this.isFirst&&!this.isLast&&!d.showFirstLabel||this.isLast&&!this.isFirst&&!d.showLastLabel?p=!1:!u||h.step||h.rotation||a||0===e||this.handleOverflow(c),k&&l%k&&(p=!1),p&&f(c.y)?(c.opacity=e,q[this.isNewLabel?"attr":"animate"](c).show(!0),this.isNewLabel=!1):(q.hide(),this.isNewLabel=!0))};e.prototype.replaceMovedLabel= +function(){var c=this.label,a=this.axis,e=a.reversed;if(c&&!this.isNew){var f=a.horiz?e?a.left:a.width+a.left:c.xy.x;e=a.horiz?c.xy.y:e?a.width+a.top:a.top;c.animate({x:f,y:e,opacity:0},void 0,c.destroy);delete this.label}a.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return e}();"";return g});K(g,"Core/Axis/Axis.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Axis/AxisDefaults.js"],g["Core/Color/Color.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"], +g["Core/Axis/Tick.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r){var t=a.animObject,n=E.defaultOptions,f=D.registerEventOptions,c=B.deg2rad,l=r.arrayMax,m=r.arrayMin,e=r.clamp,u=r.correctFloat,C=r.defined,J=r.destroyObjectProperties,I=r.erase,v=r.error,A=r.extend,d=r.fireEvent,q=r.isArray,h=r.isNumber,k=r.isString,b=r.merge,p=r.normalizeTickInterval,z=r.objectEach,w=r.pick,N=r.relativeLength,H=r.removeEvent,O=r.splat,Q=r.syncTimeout,S=function(b,d){return p(d,void 0,void 0,w(b.options.allowDecimals, +.5>d||void 0!==b.tickAmount),!!b.tickAmount)};a=function(){function a(b,d){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset= +this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0;this.init(b,d)}a.prototype.init=function(b,a){var c=a.isX;this.chart=b;this.horiz=b.inverted&&!this.isZAxis?!c:c;this.isXAxis=c;this.coll=this.coll||(c?"xAxis":"yAxis");d(this, +"init",{userOptions:a});this.opposite=w(a.opposite,this.opposite);this.side=w(a.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(a);var e=this.options,y=e.labels,k=e.type;this.userOptions=a;this.minPixelPadding=0;this.reversed=w(e.reversed,this.reversed);this.visible=e.visible;this.zoomEnabled=e.zoomEnabled;this.hasNames="category"===k||!0===e.categories;this.categories=e.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups= +{};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=C(e.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=e.minRange||e.maxZoom;this.range=e.range;this.offset=e.offset||0;this.min=this.max=null;a=w(e.crosshair,O(b.options.tooltip.crosshairs)[c?0:1]);this.crosshair=!0===a?{}:a;-1===b.axes.indexOf(this)&&(c?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),b[this.coll].push(this));this.series= +this.series||[];b.inverted&&!this.isZAxis&&c&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=h(y.rotation)?y.rotation:void 0;f(this,e);d(this,"afterInit")};a.prototype.setOptions=function(h){this.options=b(g.defaultXAxisOptions,"yAxis"===this.coll&&g.defaultYAxisOptions,[g.defaultTopAxisOptions,g.defaultRightAxisOptions,g.defaultBottomAxisOptions,g.defaultLeftAxisOptions][this.side],b(n[this.coll],h));d(this,"afterSetOptions",{userOptions:h})};a.prototype.defaultLabelFormatter= +function(b){var d=this.axis;b=this.chart.numberFormatter;var a=h(this.value)?this.value:NaN,c=d.chart.time,e=this.dateTimeLabelFormat,k=n.lang,y=k.numericSymbols;k=k.numericSymbolMagnitude||1E3;var f=d.logarithmic?Math.abs(a):d.tickInterval,p=y&&y.length;if(d.categories)var l="".concat(this.value);else if(e)l=c.dateFormat(e,a);else if(p&&1E3<=f)for(;p--&&"undefined"===typeof l;)d=Math.pow(k,p+1),f>=d&&0===10*a%d&&null!==y[p]&&0!==a&&(l=b(a/d,-1)+y[p]);"undefined"===typeof l&&(l=1E4<=Math.abs(a)?b(a, +-1):b(a,-1,void 0,""));return l};a.prototype.getSeriesExtremes=function(){var b=this,a=b.chart,c;d(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.stacking&&b.stacking.buildStacks();b.series.forEach(function(d){if(d.visible||!a.options.chart.ignoreHiddenSeries){var e=d.options,k=e.threshold;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=k&&(k=null);if(b.isXAxis){if(e=d.xData,e.length){e=b.logarithmic?e.filter(b.validatePositiveValue): +e;c=d.getXExtremes(e);var y=c.min;var f=c.max;h(y)||y instanceof Date||(e=e.filter(h),c=d.getXExtremes(e),y=c.min,f=c.max);e.length&&(b.dataMin=Math.min(w(b.dataMin,y),y),b.dataMax=Math.max(w(b.dataMax,f),f))}}else if(d=d.applyExtremes(),h(d.dataMin)&&(y=d.dataMin,b.dataMin=Math.min(w(b.dataMin,y),y)),h(d.dataMax)&&(f=d.dataMax,b.dataMax=Math.max(w(b.dataMax,f),f)),C(k)&&(b.threshold=k),!e.softThreshold||b.positiveValuesOnly)b.softThreshold=!1}})});d(this,"afterGetSeriesExtremes")};a.prototype.translate= +function(b,d,a,c,e,k){var f=this.linkedParent||this,y=c&&f.old?f.old.min:f.min;if(!h(y))return NaN;var p=f.minPixelPadding;e=(f.isOrdinal||f.brokenAxis&&f.brokenAxis.hasBreaks||f.logarithmic&&e)&&f.lin2val;var F=1,l=0;c=c&&f.old?f.old.transA:f.transA;c||(c=f.transA);a&&(F*=-1,l=f.len);f.reversed&&(F*=-1,l-=F*(f.sector||f.len));d?(k=(b*F+l-p)/c+y,e&&(k=f.lin2val(k))):(e&&(b=f.val2lin(b)),b=F*(b-y)*c,k=(f.isRadial?b:u(b))+l+F*p+(h(k)?c*k:0));return k};a.prototype.toPixels=function(b,d){return this.translate(b, +!1,!this.horiz,void 0,!0)+(d?0:this.pos)};a.prototype.toValue=function(b,d){return this.translate(b-(d?0:this.pos),!0,!this.horiz,void 0,!0)};a.prototype.getPlotLinePath=function(b){function a(b,d,a){if("pass"!==n&&ba)n?b=e(b,d,a):C=!0;return b}var c=this,k=c.chart,f=c.left,y=c.top,p=b.old,l=b.value,g=b.lineWidth,q=p&&k.oldChartHeight||k.chartHeight,z=p&&k.oldChartWidth||k.chartWidth,m=c.transB,u=b.translatedValue,n=b.force,A,H,N,O,C;b={value:l,lineWidth:g,old:p,force:n,acrossPanes:b.acrossPanes, +translatedValue:u};d(this,"getPlotLinePath",b,function(b){u=w(u,c.translate(l,void 0,void 0,p));u=e(u,-1E5,1E5);A=N=Math.round(u+m);H=O=Math.round(q-u-m);h(u)?c.horiz?(H=y,O=q-c.bottom,A=N=a(A,f,f+c.width)):(A=f,N=z-c.right,H=O=a(H,y,y+c.height)):(C=!0,n=!1);b.path=C&&!n?null:k.renderer.crispLine([["M",A,H],["L",N,O]],g||1)});return b.path};a.prototype.getLinearTickPositions=function(b,d,a){var h=u(Math.floor(d/b)*b);a=u(Math.ceil(a/b)*b);var c=[],e;u(h+b)===h&&(e=20);if(this.single)return[d];for(d= +h;d<=a;){c.push(d);d=u(d+b,e);if(d===k)break;var k=d}return c};a.prototype.getMinorTickInterval=function(){var b=this.options;return!0===b.minorTicks?w(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval};a.prototype.getMinorTickPositions=function(){var b=this.options,d=this.tickPositions,a=this.minorTickInterval,h=this.pointRangePadding||0,c=this.min-h;h=this.max+h;var e=h-c,k=[];if(e&&e/a=this.minRange;var q=this.minRange;var z=(q-h+a)/2;z=[a-z,w(b.min,a-z)];g&&(z[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);a=l(z);h=[a+q,w(b.max,a+q)];g&&(h[2]=d?d.log2lin(this.dataMax):this.dataMax);h=m(h);h-a=m)H=m,q=0;else if(this.dataMax<=m){var N=m;g=0}this.min=w(n,H,this.dataMin);this.max=w(A,N,this.dataMax)}c&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,w(this.dataMin,this.min))&&v(10,1,a),this.min=u(c.log2lin(this.min),16),this.max=u(c.log2lin(this.max),16));this.range&&C(this.max)&&(this.userMin=this.min=n=Math.max(this.dataMin,this.minFromRange()),this.userMax=A=this.max,this.range=null); +d(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange();!(y||this.axisPointRange||this.stacking&&this.stacking.usePercentage||f)&&C(this.min)&&C(this.max)&&(a=this.max-this.min)&&(!C(n)&&q&&(this.min-=a*q),!C(A)&&g&&(this.max+=a*g));h(this.userMin)||(h(e.softMin)&&e.softMinthis.max&&(this.max=A=e.softMax),h(e.ceiling)&&(this.max=Math.min(this.max, +e.ceiling)));l&&C(this.dataMin)&&(m=m||0,!C(n)&&this.min=m?this.min=this.options.minRange?Math.min(m,this.max-this.minRange):m:!C(A)&&this.max>m&&this.dataMax<=m&&(this.max=this.options.minRange?Math.max(m,this.min+this.minRange):m));h(this.min)&&h(this.max)&&!this.chart.polar&&this.min>this.max&&(C(this.options.min)?this.max=this.min:C(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:f&& +this.linkedParent&&!z&&p===this.linkedParent.options.tickPixelInterval?z=this.linkedParent.tickInterval:w(z,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,y?1:(this.max-this.min)*p/Math.max(this.len,p));if(k&&!b){var O=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(b){b.forceCrop=b.forceCropping&&b.forceCropping();b.processData(O)});d(this,"postProcessData",{hasExtremesChanged:O})}this.setAxisTranslation();d(this,"initialAxisTranslation"); +this.pointRange&&!z&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));b=w(e.minTickInterval,this.dateTime&&!this.series.some(function(b){return b.noSharedTooltip})?this.closestPointRange:0);!z&&this.tickIntervalMath.max(2*this.len,200)))if(this.dateTime)f=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)f=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(e=b=this.tickInterval;e<=2*b;)if(f=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&& +f.length>this.tickAmount)this.tickInterval=S(this,e*=1.1);else break;else f=[this.min,this.max],v(19,!1,this.chart);f.length>this.len&&(f=[f[0],f[f.length-1]],f[0]===f[1]&&(f.length=1));c&&(this.tickPositions=f,(l=c.apply(this,[this.min,this.max]))&&(f=l))}this.tickPositions=f;this.paddedTicks=f.slice(0);this.trimTicks(f,p,k);!this.isLinked&&h(this.min)&&h(this.max)&&(this.single&&2>f.length&&!this.categories&&!this.series.some(function(b){return b.is("heatmap")&&"between"===b.options.pointPlacement})&& +(this.min-=.5,this.max+=.5),a||l||this.adjustTickAmount());d(this,"afterSetTickPositions")};a.prototype.trimTicks=function(b,a,h){var c=b[0],e=b[b.length-1],f=!this.isOrdinal&&this.minPointOffset||0;d(this,"trimTicks");if(!this.isLinked){if(a&&-Infinity!==c)this.min=c;else for(;this.min-f>b[0];)b.shift();if(h)this.max=e;else for(;this.max+fa&&(this.finalTickAmt=a,a=5);this.tickAmount=a};a.prototype.adjustTickAmount=function(){var b=this,d=b.finalTickAmt,a=b.max,c=b.min,e=b.options,f=b.tickPositions,k=b.tickAmount,p=b.thresholdAlignment,l=f&&f.length,g=w(b.threshold,b.softThreshold?0:null);var q=b.tickInterval;if(h(p)){var z=.5>p?Math.ceil(p* +(k-1)):Math.floor(p*(k-1));e.reversed&&(z=k-1-z)}if(b.hasData()&&h(c)&&h(a)){p=function(){b.transA*=(l-1)/(k-1);b.min=e.startOnTick?f[0]:Math.min(c,f[0]);b.max=e.endOnTick?f[f.length-1]:Math.max(a,f[f.length-1])};if(h(z)&&h(b.threshold)){for(;f[z]!==g||f.length!==k||f[0]>c||f[f.length-1]b.threshold?f.unshift(u(f[0]-q)):f.push(u(f[f.length-1]+q));if(q>8*b.tickInterval)break;q*=2}p()}else if(l=d&&0p&&(d=p)),C(e)&&(ap&&(a=p))),h.displayBtn="undefined"!==typeof d||"undefined"!==typeof a,h.setExtremes(d,a,!1,void 0,{trigger:"zoom"});b.zoomed= +!0});return b.zoomed};a.prototype.setAxisSize=function(){var b=this.chart,d=this.options,a=d.offsets||[0,0,0,0],h=this.horiz,c=this.width=Math.round(N(w(d.width,b.plotWidth-a[3]+a[1]),b.plotWidth)),e=this.height=Math.round(N(w(d.height,b.plotHeight-a[0]+a[2]),b.plotHeight)),f=this.top=Math.round(N(w(d.top,b.plotTop+a[0]),b.plotHeight,b.plotTop));d=this.left=Math.round(N(w(d.left,b.plotLeft+a[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-e-f;this.right=b.chartWidth-c-d;this.len=Math.max(h? +c:e,0);this.pos=h?d:f};a.prototype.getExtremes=function(){var b=this.logarithmic;return{min:b?u(b.lin2log(this.min)):this.min,max:b?u(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};a.prototype.getThreshold=function(b){var d=this.logarithmic,a=d?d.lin2log(this.min):this.min;d=d?d.lin2log(this.max):this.max;null===b||-Infinity===b?b=a:Infinity===b?b=d:a>b?b=a:da?b.align="right":195a&&(b.align="left")});return b.align};a.prototype.tickSize=function(b){var a=this.options,h=w(a["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0),c=a["tick"===b?"tickLength":"minorTickLength"];if(h&&c){"inside"===a[b+"Position"]&&(c=-c);var e=[c,h]}b={tickSize:e};d(this,"afterTickSize",b);return b.tickSize};a.prototype.labelMetrics= +function(){var b=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style.fontSize,this.ticks[b]&&this.ticks[b].label)};a.prototype.unsquish=function(){var b=this.options.labels,d=this.horiz,a=this.tickInterval,e=this.len/(((this.categories?1:0)+this.max-this.min)/a),f=b.rotation,k=this.labelMetrics(),p=Math.max(this.max-this.min,0),l=function(b){var d=b/(e||1);d=1p&&Infinity!==b&&Infinity!==e&&p&&(d=Math.ceil(p/a));return u(d* +a)},g=a,q=Number.MAX_VALUE;if(d){if(!b.staggerLines)if(h(f))var z=[f];else e=H)if(d=l(Math.abs(k.h/Math.sin(c*H))),m=d+Math.abs(H/360),mc.step)return c.rotation?0:(this.staggerLines||1)*this.len/e;if(!a){b=c.style.width;if(void 0!==b)return parseInt(String(b),10);if(f)return f-d.spacing[3]}return.33*d.chartWidth};a.prototype.renderUnsquish=function(){var b=this.chart,d=b.renderer,a=this.tickPositions,h=this.ticks,c=this.options.labels,e=c.style,f=this.horiz,p=this.getSlotWidth(),l=Math.max(1,Math.round(p-2*c.padding)),g={},q=this.labelMetrics(),z=e.textOverflow, +w=0;k(c.rotation)||(g.rotation=c.rotation||0);a.forEach(function(b){b=h[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>w&&(w=b.label.textPxLength)});this.maxLabelLength=w;if(this.autoRotation)w>l&&w>q.h?g.rotation=this.labelRotation:this.labelRotation=0;else if(p){var m=l;if(!z){var u="clip";for(l=a.length;!f&&l--;){var n=a[l];if(n=h[n].label)n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>p&&n.css({width:p+"px"}),n.getBBox().height> +this.len/a.length-(q.h-q.f)&&(n.specificTextOverflow="ellipsis")}}}g.rotation&&(m=w>.5*b.chartHeight?.33*b.chartHeight:w,z||(u="ellipsis"));if(this.labelAlign=c.align||this.autoLabelAlign(this.labelRotation))g.align=this.labelAlign;a.forEach(function(b){var d=(b=h[b])&&b.label,a=e.width,c={};d&&(d.attr(g),b.shortenLabel?b.shortenLabel():m&&!a&&"nowrap"!==e.whiteSpace&&(m=this.min&&b<=this.max||this.grid&&this.grid.isColumn)c[b]||(c[b]=new G(this,b)),a&&c[b].isNew&&c[b].render(d,!0,-1),c[b].render(d)};a.prototype.render=function(){var b=this,a=b.chart,c=b.logarithmic,e=b.options,f=b.isLinked,k=b.tickPositions,p=b.axisTitle,l=b.ticks,g=b.minorTicks,q=b.alternateBands,w=e.stackLabels, +m=e.alternateGridColor,u=b.tickmarkOffset,n=b.axisLine,A=b.showAxis,H=t(a.renderer.globalAnimation),N,O;b.labelEdge.length=0;b.overlap=!1;[l,g,q].forEach(function(b){z(b,function(b){b.isActive=!1})});if(b.hasData()||f){var C=b.chart.hasRendered&&b.old&&h(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(d){b.renderMinorTick(d,C)});k.length&&(k.forEach(function(d,a){b.renderTick(d,a,C)}),u&&(0===b.min||b.single)&&(l[-1]||(l[-1]=new G(b,-1,null,!0)),l[-1].render(-1))); +m&&k.forEach(function(d,h){O="undefined"!==typeof k[h+1]?k[h+1]+u:b.max-u;0===h%2&&df&&(!e||m<=g)&&"undefined"!==typeof m&&n.push(m);m>g&&(d=!0);m=h}}}else f=this.lin2log(f),g=this.lin2log(g),a=e?c.getMinorTickInterval():m.tickInterval,a=E("auto"===a?null:a,this.minorAutoInterval,m.tickPixelInterval/(e?5:1)*(g-f)/((e?l/c.tickPositions.length:l)||1)),a=x(a),n=c.getLinearTickPositions(a,f,g).map(this.log2lin),e||(this.minorAutoInterval=a/5);e||(c.tickInterval=a);return n}; +a.prototype.lin2log=function(a){return Math.pow(10,a)};a.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};return a}();a.Additions=n})(D||(D={}));return D});K(g,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[g["Core/Utilities.js"]],function(a){var g=a.erase,x=a.extend,E=a.isNumber,D;(function(a){var v=[],r;a.compose=function(a,f){r||(r=a);-1===v.indexOf(f)&&(v.push(f),x(f.prototype,t.prototype));return f};var t=function(){function a(){}a.prototype.getPlotBandPath=function(a,c,g){void 0=== +g&&(g=this.options);var f=this.getPlotLinePath({value:c,force:!0,acrossPanes:g.acrossPanes}),e=[],l=this.horiz;c=!E(this.min)||!E(this.max)||athis.max&&c>this.max;a=this.getPlotLinePath({value:a,force:!0,acrossPanes:g.acrossPanes});g=1;if(a&&f){if(c){var n=a.toString()===f.toString();g=0}for(c=0;cn-f?n:n-f);else if(F)e[a]=Math.max(p,k+f+c>d?k:k+f);else return!1},C=function(a,d,c,h,f){var k;fd-b?k=!1:e[a]=fd-h/2?d-h-2:f-c/2;return k},v=function(b){var a=u;u=A;A=a;y=b},F=function(){!1!==r.apply(0,u)?!1!==C.apply(0,A)||y||(v(!0),F()):y?e.x= +e.y=0:(v(!0),F())};(d.inverted||1a})&&(a=a.map(function(b){var a=d(b.anchorX,b.anchorY,b.point.isHeader,b.boxWidth,!1);return c(b,{target:a.y, +x:a.x})}));f.cleanSplit();r(a,ba);var E=U,da=U;a.forEach(function(b){var a=b.x,d=b.boxWidth;b=b.isHeader;b||(f.outside&&U+ada&&(da=U+a))});a.forEach(function(b){var a=b.x,d=b.anchorX,c=b.pos,h=b.point.isHeader;c={visibility:"undefined"===typeof c?"hidden":"inherit",x:a,y:(c||0)+Z,anchorX:d,anchorY:b.anchorY};if(f.outside&&ah[0]?Math.max(Math.abs(h[0]),b.width-h[0]):Math.max(Math.abs(h[0]),b.width);e.height=0>h[1]? +Math.max(Math.abs(h[1]),b.height-Math.abs(h[1])):Math.max(Math.abs(h[1]),b.height);this.tracker?this.tracker.attr(e):(this.tracker=c.renderer.rect(e).addClass("highcharts-tracker").add(c),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&&this.tracker.destroy()};a.prototype.styledModeFormat=function(a){return a.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}; +a.prototype.tooltipFooterHeaderFormatter=function(a,c){var d=a.series,f=d.tooltipOptions,b=d.xAxis,p=b&&b.dateTime;b={isFooter:c,labelConfig:a};var g=f.xDateFormat,q=f[c?"footerFormat":"headerFormat"];l(this,"headerFormatter",b,function(b){p&&!g&&e(a.key)&&(g=p.getXDateFormat(a.key,f.dateTimeLabelFormats));p&&g&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(b){q=q.replace("{point."+b+"}","{point."+b+":"+g+"}")});d.chart.styledMode&&(q=this.styledModeFormat(q));b.text=v(q,{point:a,series:d}, +this.chart)});return b.text};a.prototype.update=function(a){this.destroy();C(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,C(!0,this.options,a))};a.prototype.updatePosition=function(a){var d=this.chart,c=this.options,e=d.pointer,b=this.getLabel();e=e.getChartPosition();var f=(c.positioner||this.getPosition).call(this,b.width,b.height,a),g=a.plotX+d.plotLeft;a=a.plotY+d.plotTop;if(this.outside){c=c.borderWidth+2*this.distance;this.renderer.setSize(b.width+c,b.height+c,!1);if(1!== +e.scaleX||1!==e.scaleY)n(this.container,{transform:"scale(".concat(e.scaleX,", ").concat(e.scaleY,")")}),g*=e.scaleX,a*=e.scaleY;g+=e.left-f.x;a+=e.top-f.y}this.move(Math.round(f.x),Math.round(f.y||0),g,a)};return a}();"";return a});K(g,"Core/Series/Point.js",[g["Core/Renderer/HTML/AST.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/FormatUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,E,D){var v=g.animObject,G=x.defaultOptions,r=E.format,t=D.addEvent,n=D.defined, +f=D.erase,c=D.extend,l=D.fireEvent,m=D.getNestedProperty,e=D.isArray,u=D.isFunction,C=D.isNumber,J=D.isObject,I=D.merge,L=D.objectEach,A=D.pick,d=D.syncTimeout,q=D.removeEvent,h=D.uniqueKey;g=function(){function k(){this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}k.prototype.animateBeforeDestroy=function(){var b=this,a={x:b.startXPos, +opacity:0},d=b.getGraphicalProps();d.singular.forEach(function(d){b[d]=b[d].animate("dataLabel"===d?{x:b[d].startXPos,y:b[d].startYPos,opacity:0}:a)});d.plural.forEach(function(a){b[a].forEach(function(a){a.element&&a.animate(c({x:b.startXPos},a.startYPos?{x:a.startXPos,y:a.startYPos}:{}))})})};k.prototype.applyOptions=function(b,a){var d=this.series,h=d.options.pointValKey||d.pointValKey;b=k.prototype.optionsToObject.call(this,b);c(this,b);this.options=this.options?c(this.options,b):b;b.group&&delete this.group; +b.dataLabels&&delete this.dataLabels;h&&(this.y=k.prototype.getNestedProperty.call(this,h));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof a&&d.xAxis&&d.xAxis.hasNames&&(this.x=d.xAxis.nameToX(this));"undefined"===typeof this.x&&d?this.x="undefined"===typeof a?d.autoIncrement():a:C(b.x)&&d.options.relativeXValue&&(this.x=d.autoIncrement(b.x));return this};k.prototype.destroy=function(){function b(){if(a.graphic|| +a.graphics||a.dataLabel||a.dataLabels)q(a),a.destroyElements();for(g in a)a[g]=null}var a=this,c=a.series,h=c.chart;c=c.options.dataSorting;var e=h.hoverPoints,k=v(a.series.chart.renderer.globalAnimation),g;a.legendItem&&h.legend.destroyItem(a);e&&(a.setState(),f(e,a),e.length||(h.hoverPoints=null));if(a===h.hoverPoint)a.onMouseOut();c&&c.enabled?(this.animateBeforeDestroy(),d(b,k.duration)):b();h.pointCount--};k.prototype.destroyElements=function(b){var a=this;b=a.getGraphicalProps(b);b.singular.forEach(function(b){a[b]= +a[b].destroy()});b.plural.forEach(function(b){a[b].forEach(function(b){b.element&&b.destroy()});delete a[b]})};k.prototype.firePointEvent=function(b,a,d){var c=this,h=this.series.options;(h.point.events[b]||c.options&&c.options.events&&c.options.events[b])&&c.importEvents();"click"===b&&h.allowPointSelect&&(d=function(b){c.select&&c.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});l(c,b,a,d)};k.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+ +(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};k.prototype.getGraphicalProps=function(b){var a=this,d=[],c={singular:[],plural:[]},h;b=b||{graphic:1,dataLabel:1};b.graphic&&d.push("graphic","shadowGroup");b.dataLabel&&d.push("dataLabel", +"dataLabelPath","dataLabelUpper","connector");for(h=d.length;h--;){var e=d[h];a[e]&&c.singular.push(e)}["graphic","dataLabel","connector"].forEach(function(d){var h=d+"s";b[d]&&a[h]&&c.plural.push(h)});return c};k.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}};k.prototype.getNestedProperty=function(b){if(b)return 0=== +b.indexOf("custom.")?m(b,this.options):this[b]};k.prototype.getZone=function(){var b=this.series,a=b.zones;b=b.zoneAxis||"y";var d,c=0;for(d=a[c];this[b]>=d.value;)d=a[++c];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=d&&d.color&&!this.options.color?d.color:this.nonZonedColor;return d};k.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};k.prototype.init=function(b,a,d){this.series=b;this.applyOptions(a, +d);this.id=n(this.id)?this.id:h();this.resolveColor();b.chart.pointCount++;l(this,"afterInit");return this};k.prototype.isValid=function(){return null!==this.x&&C(this.y)};k.prototype.optionsToObject=function(b){var a=this.series,d=a.options.keys,c=d||a.pointArrayMap||["y"],h=c.length,f={},g=0,l=0;if(C(b)||null===b)f[c[0]]=b;else if(e(b))for(!d&&b.length>h&&(a=typeof b[0],"string"===a?f.name=b[0]:"number"===a&&(f.x=b[0]),g++);le+f&&(t=e+f),rb+g&&(r=b+g),this.hasDragged=Math.sqrt(Math.pow(l-t,2)+Math.pow(m-r,2)),10b.options.findNearestPointBy.indexOf("y");b=b.searchPoint(h,a);if((a=u(b,!0)&&b.series)&&!(a=!u(d,!0))){a=d.distX-b.distX;var e=d.dist-b.dist,f=(b.series.group&&b.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);a=0<(0!==a&&c?a:0!==e?e:0!==f?f:d.series.index>b.series.index?-1:1)}a&& +(d=b)});return d};a.prototype.getChartCoordinatesFromPoint=function(a,c){var d=a.series,f=d.xAxis;d=d.yAxis;var b=a.shapeArgs;if(f&&d){var g=I(a.clientX,a.plotX),l=a.plotY||0;a.isNode&&b&&e(b.x)&&e(b.y)&&(g=b.x,l=b.y);return c?{chartX:d.len+d.pos-l,chartY:f.len+f.pos-g}:{chartX:g+f.pos,chartY:l+d.pos}}if(b&&b.x&&b.y)return{chartX:b.x,chartY:b.y}};a.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var a=this.chart.container,c=J(a);this.chartPosition={left:c.left, +top:c.top,scaleX:1,scaleY:1};var h=a.offsetWidth;a=a.offsetHeight;2z.max&&(h=z.max-F,v=!0);v?(r-=.8*(r-g[k][0]),"number"===typeof C&&(C-=.8*(C-g[k][1])),c()):g[k]=[r,C];q||(f[k]=P-n,f[w]=F);f=q?1/M:M;b[w]=F;b[k]=h;e[q?a?"scaleY":"scaleX":"scale"+p]=M;e["translate"+p]=f*n+(r-f*A)};a.prototype.reset=function(a,c){var d=this.chart,e=d.hoverSeries,b=d.hoverPoint,f=d.hoverPoints,g=d.tooltip,l=g&&g.shared?f:b;a&&l&&L(l).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)g&&l&& +L(l).length&&(g.refresh(l),g.shared&&f?f.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):b&&(b.setState(b.state,!0),d.axes.forEach(function(a){a.crosshair&&b.series[a.coll]===a&&a.drawCrosshair(null,b)})));else{if(b)b.onMouseOut();f&&f.forEach(function(b){b.setState()});if(e)e.onMouseOut();g&&g.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()); +d.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}};a.prototype.runPointActions=function(d,c,h){var e=this.chart,b=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,f=b?b.shared:!1,g=c||e.hoverPoint,m=g&&g.series||e.hoverSeries;c=this.getHoverData(g,m,e.series,(!d||"touchmove"!==d.type)&&(!!c||m&&m.directTouch&&this.isDirectTouch),f,d);g=c.hoverPoint;m=c.hoverSeries;var n=c.hoverPoints;c=m&&m.tooltipOptions.followPointer&&!m.tooltipOptions.split;var q= +f&&m&&!m.noSharedTooltip;if(g&&(h||g!==e.hoverPoint||b&&b.isHidden)){(e.hoverPoints||[]).forEach(function(b){-1===n.indexOf(b)&&b.setState()});if(e.hoverSeries!==m)m.onMouseOver();this.applyInactiveState(n);(n||[]).forEach(function(b){b.setState("hover")});e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;e.hoverPoints=n;e.hoverPoint=g;g.firePointEvent("mouseOver",void 0,function(){b&&g&&b.refresh(q?n:g,d)})}else c&&b&&!b.isHidden&&(h=b.getAnchor([{}],d),e.isInsidePlot(h[0], +h[1],{visiblePlotOnly:!0})&&b.updatePosition({plotX:h[0],plotY:h[1]}));this.unDocMouseMove||(this.unDocMouseMove=r(e.container.ownerDocument,"mousemove",function(b){var c=B[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}),this.eventsToUnbind.push(this.unDocMouseMove));e.axes.forEach(function(b){var a=I((b.crosshair||{}).snap,!0),c;a&&((c=e.hoverPoint)&&c.series[b.coll]===b||(c=l(n,function(a){return a.series&&a.series[b.coll]===b})));c||!a?b.drawCrosshair(d,c):b.hideCrosshair()})};a.prototype.scaleGroups= +function(a,c){var d=this.chart;d.series.forEach(function(h){var b=a||h.getPlotBox();h.group&&(h.xAxis&&h.xAxis.zoomEnabled||d.mapView)&&(h.group.attr(b),h.markerGroup&&(h.markerGroup.attr(b),h.markerGroup.clip(c?d.clipRect:null)),h.dataLabelsGroup&&h.dataLabelsGroup.attr(b))});d.clipRect.attr(c||d.clipBox)};a.prototype.setDOMEvents=function(){var c=this,e=this.chart.container,h=e.ownerDocument;e.onmousedown=this.onContainerMouseDown.bind(this);e.onmousemove=this.onContainerMouseMove.bind(this);e.onclick= +this.onContainerClick.bind(this);this.eventsToUnbind.push(r(e,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(r(e,"mouseleave",this.onContainerMouseLeave.bind(this)));a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=r(h,"mouseup",this.onDocumentMouseUp.bind(this)));for(var f=this.chart.renderTo.parentElement;f&&"BODY"!==f.tagName;)this.eventsToUnbind.push(r(f,"scroll",function(){delete c.chartPosition})),f=f.parentElement;g.hasTouch&&(this.eventsToUnbind.push(r(e,"touchstart", +this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(r(e,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=r(h,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};a.prototype.setHoverChartIndex=function(){var c=this.chart,e=g.charts[I(a.hoverChartIndex,-1)];if(e&&e!==c)e.pointer.onContainerMouseLeave({relatedTarget:c.container});e&&e.mouseIsDown||(a.hoverChartIndex=c.index)};a.prototype.touch=function(a, +c){var d=this.chart,e;this.setHoverChartIndex();if(1===a.touches.length)if(a=this.normalize(a),(e=d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0}))&&!d.openMenu){c&&this.runPointActions(a);if("touchmove"===a.type){c=this.pinchDown;var b=c[0]?4<=Math.sqrt(Math.pow(c[0].chartX-a.chartX,2)+Math.pow(c[0].chartY-a.chartY,2)):!1}I(b,!0)&&this.pinch(a)}else c&&this.reset();else 2===a.touches.length&&this.pinch(a)};a.prototype.touchSelect=function(a){return!(!this.chart.options.chart.zooming.singleTouch|| +!a.touches||1!==a.touches.length)};a.prototype.zoomOption=function(a){var c=this.chart,d=c.options.chart;c=c.inverted;var e=d.zooming.type||"";/touch/.test(a.type)&&(e=I(d.zooming.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=d=/y/.test(e);this.zoomHor=a&&!c||d&&c;this.zoomVert=d&&!c||a&&c;this.hasZoom=a||d};return a}();"";return a});K(g,"Core/MSPointer.js",[g["Core/Globals.js"],g["Core/Pointer.js"],g["Core/Utilities.js"]],function(a,g,x){function v(){var a=[];a.item=function(a){return this[a]}; +l(u,function(c){a.push({pageX:c.pageX,pageY:c.pageY,target:c.target})});return a}function D(a,c,e,f){var d=G[g.hoverChartIndex||NaN];"touch"!==a.pointerType&&a.pointerType!==a.MSPOINTER_TYPE_TOUCH||!d||(d=d.pointer,f(a),d[c]({type:e,target:a.currentTarget,preventDefault:t,touches:v()}))}var B=this&&this.__extends||function(){var a=function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c, +e)};return function(c,e){function f(){this.constructor=c}a(c,e);c.prototype=null===e?Object.create(e):(f.prototype=e.prototype,new f)}}(),G=a.charts,r=a.doc,t=a.noop,n=a.win,f=x.addEvent,c=x.css,l=x.objectEach,m=x.pick,e=x.removeEvent,u={},C=!!n.PointerEvent;return function(g){function l(){return null!==g&&g.apply(this,arguments)||this}B(l,g);l.isRequired=function(){return!(a.hasTouch||!n.PointerEvent&&!n.MSPointerEvent)};l.prototype.batchMSEvents=function(a){a(this.chart.container,C?"pointerdown": +"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,C?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(r,C?"pointerup":"MSPointerUp",this.onDocumentPointerUp)};l.prototype.destroy=function(){this.batchMSEvents(e);g.prototype.destroy.call(this)};l.prototype.init=function(a,e){g.prototype.init.call(this,a,e);this.hasZoom&&c(a.container,{"-ms-touch-action":"none","touch-action":"none"})};l.prototype.onContainerPointerDown=function(a){D(a,"onContainerTouchStart","touchstart", +function(a){u[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})};l.prototype.onContainerPointerMove=function(a){D(a,"onContainerTouchMove","touchmove",function(a){u[a.pointerId]={pageX:a.pageX,pageY:a.pageY};u[a.pointerId].target||(u[a.pointerId].target=a.currentTarget)})};l.prototype.onDocumentPointerUp=function(a){D(a,"onDocumentTouchEnd","touchend",function(a){delete u[a.pointerId]})};l.prototype.setDOMEvents=function(){var a=this.chart.tooltip;g.prototype.setDOMEvents.call(this); +(this.hasZoom||m(a&&a.options.followTouchMove,!0))&&this.batchMSEvents(f)};return l}(g)});K(g,"Core/Legend/Legend.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/FormatUtilities.js"],g["Core/Globals.js"],g["Core/Series/Point.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B){var v=a.animObject,r=a.setAnimation,t=g.format,n=x.marginNames,f=D.distribute,c=B.addEvent,l=B.createElement,m=B.css,e=B.defined,u=B.discardElement,C=B.find,J=B.fireEvent,I=B.isNumber, +L=B.merge,A=B.pick,d=B.relativeLength,q=B.stableSort,h=B.syncTimeout;a=function(){function a(b,a){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth=this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options=void 0;this.padding=0;this.pages=[];this.proximate=!1;this.scrollGroup=void 0;this.widthOption= +this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=b;this.init(b,a)}a.prototype.init=function(b,a){this.chart=b;this.setOptions(a);a.enabled&&(this.render(),c(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=c(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())};a.prototype.setOptions=function(b){var a=A(b.padding,8);this.options= +b;this.chart.styledMode||(this.itemStyle=b.itemStyle,this.itemHiddenStyle=L(this.itemStyle,b.itemHiddenStyle));this.itemMarginTop=b.itemMarginTop||0;this.itemMarginBottom=b.itemMarginBottom||0;this.padding=a;this.initialItemY=a-5;this.symbolWidth=A(b.symbolWidth,16);this.pages=[];this.proximate="proximate"===b.layout&&!this.chart.inverted;this.baseline=void 0};a.prototype.update=function(b,a){var c=this.chart;this.setOptions(L(!0,this.options,b));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;A(a, +!0)&&c.redraw();J(this,"afterUpdate")};a.prototype.colorizeItem=function(b,a){var c=b.legendItem||{},d=c.group,e=c.label,h=c.line;c=c.symbol;if(d)d[a?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var f=this.options;d=this.itemHiddenStyle.color;f=a?f.itemStyle.color:d;var g=a?b.color||d:d,k=b.options&&b.options.marker,l={fill:g};e&&e.css({fill:f,color:f});h&&h.attr({stroke:g});c&&(k&&c.isMarker&&(l=b.pointAttribs(),a||(l.stroke=l.fill=d)),c.attr(l))}J(this,"afterColorizeItem", +{item:b,visible:a})};a.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()};a.prototype.positionItem=function(b){var a=this,c=b.legendItem||{},d=c.group,h=c.x;h=void 0===h?0:h;c=c.y;c=void 0===c?0:c;var f=this.options,g=f.symbolPadding,l=!f.rtl;f=b.checkbox;d&&d.element&&(g={translateX:l?h:this.legendWidth-h-2*g-4,translateY:c},d[e(d.translateY)?"animate":"attr"](g,void 0,function(){J(a,"afterPositionItem",{item:b})})); +f&&(f.x=h,f.y=c)};a.prototype.destroyItem=function(b){for(var a=b.checkbox,c=b.legendItem||{},d=0,e=["group","label","line","symbol"];dd-6&&f1.5*d?c.height:d))};a.prototype.layoutItem=function(a){var b=this.options,c=this.padding,d="horizontal"===b.layout,e=a.itemHeight,h=this.itemMarginBottom,f=this.itemMarginTop,g=d?A(b.itemDistance,20):0,l=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:a.itemWidth;var k=a.legendItem||{};d&&this.itemX-c+b>l&&(this.itemX=c,this.lastLineHeight&& +(this.itemY+=f+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY=f+this.itemY+h;this.lastLineHeight=Math.max(e,this.lastLineHeight);k.x=this.itemX;k.y=this.itemY;d?this.itemX+=b:(this.itemY+=f+e+h,this.lastLineHeight=e);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-c-(a.checkbox?0:g):b)+c,this.offsetWidth)};a.prototype.getAllItems=function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&A(c.showInLegend,e(c.linkedTo)?!1:void 0,!0)&&(a=a.concat((b.legendItem|| +{}).labels||("point"===c.legendType?b.data:b)))});J(this,"afterGetAllItems",{allItems:a});return a};a.prototype.getAlignment=function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)};a.prototype.adjustMargins=function(a,c){var b=this.chart,d=this.options,h=this.getAlignment();h&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(f,g){f.test(h)&&!e(a[g])&&(b[n[g]]=Math.max(b[n[g]], +b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+A(d.margin,12)+c[g]+(b.titleOffset[g]||0)))})};a.prototype.proximatePositions=function(){var a=this.chart,c=[],d="left"===this.options.align;this.allItems.forEach(function(b){var e;var h=d;if(b.yAxis){b.xAxis.options.reversed&&(h=!h);b.points&&(e=C(h?b.points:b.points.slice(0).reverse(),function(a){return I(a.plotY)}));h=this.itemMarginTop+b.legendItem.label.getBBox().height+this.itemMarginBottom;var f=b.yAxis.top-a.plotTop; +b.visible?(e=e?e.plotY:b.yAxis.height,e+=f-.3*h):e=f+b.yAxis.height;c.push({target:e,size:h,item:b})}},this);for(var e,h=0,g=f(c,a.plotHeight);hh&&!1!==k.enabled?(this.clipHeight=P= +Math.max(h-20-this.titleHeight-g,0),this.currentPage=A(this.currentPage,1),this.fullHeight=a,q.forEach(function(a,b){r=a.legendItem||{};a=r.y||0;var c=Math.round(r.label.getBBox().height),d=u.length;if(!d||a-u[d-1]>P&&(M||a)!==u[d-1])u.push(M||a),d++;r.pageIx=d-1;M&&((q[b-1].legendItem||{}).pageIx=d-1);b===q.length-1&&a+c-u[d-1]>P&&c<=P&&(u.push(a),r.pageIx=d);a!==M&&(M=a)}),v||(v=b.clipRect=d.clipRect(0,g,9999,0),b.contentGroup.clip(v)),t(P),C||(this.nav=C=d.g().attr({zIndex:1}).add(this.group), +this.up=d.symbol("triangle",0,0,n,n).add(C),F("upTracker").on("click",function(){b.scroll(-1,m)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&k.style&&this.pager.css(k.style),this.pager.add(C),this.down=d.symbol("triangle-down",0,0,n,n).add(C),F("downTracker").on("click",function(){b.scroll(1,m)})),b.scroll(0),a=h):C&&(t(),this.nav=C.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a};a.prototype.scroll=function(a,c){var b=this,d=this.chart, +e=this.pages,f=e.length,g=this.clipHeight,l=this.options.navigation,k=this.pager,m=this.padding,p=this.currentPage+a;p>f&&(p=f);0=Math.max(l+h,p.pos)&&g<=Math.min(l+h+e.width,p.pos+p.len)||(a.isInsidePlot=!1)}!c.ignoreY&&a.isInsidePlot&&(d=c.axis&&!c.axis.isXAxis&&c.axis||m&&(d?m.xAxis:m.yAxis)||{pos:f,len:Infinity},c=c.paneCoordinates? +d.pos+b:f+b,c>=Math.max(k+f,d.pos)&&c<=Math.min(k+f+e.height,d.pos+d.len)||(a.isInsidePlot=!1));R(this,"afterIsInsidePlot",a);return a.isInsidePlot};a.prototype.redraw=function(a){R(this,"beforeRedraw");var b=this.hasCartesianSeries?this.axes:this.colorAxis||[],c=this.series,d=this.pointer,e=this.legend,h=this.userOptions.legend,f=this.renderer,g=f.isHidden(),l=[],k=this.isDirtyBox,m=this.isDirtyLegend;this.setResponsive&&this.setResponsive(!1);v(this.hasRendered?a:!1,this);g&&this.temporaryDisplay(); +this.layOutTitles();for(a=c.length;a--;){var p=c[a];if(p.options.stacking||p.options.centerInCategory){var F=!0;if(p.isDirty){var n=!0;break}}}if(n)for(a=c.length;a--;)p=c[a],p.options.stacking&&(p.isDirty=!0);c.forEach(function(a){a.isDirty&&("point"===a.options.legendType?("function"===typeof a.updateTotals&&a.updateTotals(),m=!0):h&&(h.labelFormatter||h.labelFormat)&&(m=!0));a.isDirtyData&&R(a,"updatedData")});m&&e&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);F&&this.getStacks();b.forEach(function(a){a.updateNames(); +a.setScale()});this.getMargins();b.forEach(function(a){a.isDirty&&(k=!0)});b.forEach(function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,l.push(function(){R(a,"afterSetExtremes",K(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(k||F)&&a.redraw()});k&&this.drawChartBox();R(this,"predraw");c.forEach(function(a){(k||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});d&&d.reset(!0);f.draw();R(this,"redraw");R(this,"render");g&&this.temporaryDisplay(!0);l.forEach(function(a){a.call()})}; +a.prototype.get=function(a){function b(b){return b.id===a||b.options&&b.options.id===a}for(var c=this.series,d=ca(this.axes,b)||ca(this.series,b),e=0;!d&&eb.pointCount))}; +a.prototype.pan=function(a,b){var c=this,d=c.hoverPoints;b="object"===typeof b?b:{enabled:b,type:"x"};var e=c.options.chart;e&&e.panning&&(e.panning=b);var h=b.type,f;R(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});var b=c.xAxis;"xy"===h?b=b.concat(c.yAxis):"y"===h&&(b=c.yAxis);var e={};b.forEach(function(b){if(b.options.panningEnabled&&!b.options.isInternal){var d=b.horiz,g=a[d?"chartX":"chartY"];d=d?"mouseDownX":"mouseDownY";var k=c[d],l=b.minPointOffset||0,m=b.reversed&& +!c.inverted||!b.reversed&&c.inverted?-1:1,p=b.getExtremes(),F=b.toValue(k-g,!0)+l*m,n=b.toValue(k+b.len-g,!0)-(l*m||b.isXAxis&&b.pointRangePadding||0),u=n=m&&F<=n&&(b.setExtremes(k,F,!1,!1,{trigger:"pan"}),!c.resetZoomButton&&k!==m&&F!==n&&h.match("y")&&(c.showResetZoom(),b.displayBtn= +!1),f=!0),e[d]=g)}});Z(e,function(a,b){c[b]=a});f&&c.redraw(!1);Q(c.container,{cursor:"move"})})};return a}();K(a.prototype,{callbacks:[],collectionsWithInit:{xAxis:[a.prototype.addAxis,[!0]],yAxis:[a.prototype.addAxis,[!1]],series:[a.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "), +propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});"";return a});K(g,"Core/Legend/LegendSymbol.js",[g["Core/Utilities.js"]],function(a){var g=a.merge,x=a.pick,E;(function(a){a.drawLineMarker=function(a){var v=this.legendItem=this.legendItem||{},r=this.options,t=a.symbolWidth,n=a.symbolHeight,f=n/2,c=this.chart.renderer,l=v.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);var m={},e=r.marker;this.chart.styledMode|| +(m={"stroke-width":r.lineWidth||0},r.dashStyle&&(m.dashstyle=r.dashStyle));v.line=c.path([["M",0,a],["L",t,a]]).addClass("highcharts-graph").attr(m).add(l);e&&!1!==e.enabled&&t&&(r=Math.min(x(e.radius,f),f),0===this.symbol.indexOf("url")&&(e=g(e,{width:n,height:n}),r=0),v.symbol=v=c.symbol(this.symbol,t/2-r,a-r,2*r,2*r,e).addClass("highcharts-point").add(l),v.isMarker=!0)};a.drawRectangle=function(a,g){g=g.legendItem||{};var r=a.symbolHeight,t=a.options.squareSymbol;g.symbol=this.chart.renderer.rect(t? +(a.symbolWidth-r)/2:0,a.baseline-r+1,t?r:a.symbolWidth,r,x(a.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(g.group)}})(E||(E={}));return E});K(g,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc", +lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",defer:!0,formatter:function(){var a=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":a(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}}, +select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"}});K(g,"Core/Series/Series.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Defaults.js"],g["Core/Foundation.js"],g["Core/Globals.js"],g["Core/Legend/LegendSymbol.js"],g["Core/Series/Point.js"],g["Core/Series/SeriesDefaults.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t,n){var f= +a.animObject,c=a.setAnimation,l=g.defaultOptions,m=x.registerEventOptions,e=E.hasTouch,u=E.svg,C=E.win,v=r.seriesTypes,I=n.arrayMax,L=n.arrayMin,A=n.clamp,d=n.cleanRecursively,q=n.correctFloat,h=n.defined,k=n.erase,b=n.error,p=n.extend,z=n.find,w=n.fireEvent,N=n.getNestedProperty,H=n.isArray,O=n.isNumber,Q=n.isString,S=n.merge,Y=n.objectEach,y=n.pick,T=n.removeEvent,K=n.splat,ca=n.syncTimeout;a=function(){function a(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData= +this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}a.prototype.init=function(a,b){w(this,"init",{options:b});var c=this,d=a.series;this.eventsToUnbind=[];c.chart=a;c.options=c.setOptions(b);b=c.options;c.linkedSeries=[];c.bindAxes();p(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});m(this,b);var e=b.events;if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick= +!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(a){c[a+"Data"]||(c[a+"Data"]=[])});c.isCartesian&&(a.hasCartesianSeries=!0);var h;d.length&&(h=d[d.length-1]);c._i=y(h&&h._i,-1)+1;c.opacity=c.options.opacity;a.orderSeries(this.insert(d));b.dataSorting&&b.dataSorting.enabled?c.setDataSortingOptions():c.points||c.data||c.setData(b.data,!1);w(this,"afterInit")};a.prototype.is=function(a){return v[a]&&this instanceof v[a]};a.prototype.insert=function(a){var b=this.options.index,c;if(O(b)){for(c= +a.length;c--;)if(b>=y(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return y(c,a.length-1)};a.prototype.bindAxes=function(){var a=this,c=a.options,d=a.chart,e;w(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(h){var f=0;d[h].forEach(function(b){e=b.options;if(c[h]===f&&!e.isInternal||"undefined"!==typeof c[h]&&c[h]===e.id||"undefined"===typeof c[h]&&0===e.index)a.insert(b.series),a[h]=b,b.isDirty=!0;e.isInternal||f++});a[h]|| +a.optionalAxis===h||b(18,!0,d)})});w(this,"afterBindAxes")};a.prototype.updateParallelArrays=function(a,b){var c=a.series,d=arguments,e=O(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};c.parallelArrays.forEach(e)};a.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0=this.cropStart?k-this.cropStart:k);!g&&O(k)&&e[k]&&e[k].touched&&(k=void 0);return k};a.prototype.updateData=function(a,b){var c=this.options,d=c.dataSorting,e=this.points,f=[],g=this.requireSorting,k=a.length===e.length,l,m,p,n=!0;this.xIncrement=null;a.forEach(function(a,b){var m=h(a)&&this.pointClass.prototype.optionsToObject.call({series:this},a)||{},n=m.x; +if(m.id||O(n)){if(m=this.findPointIndex(m,p),-1===m||"undefined"===typeof m?f.push(a):e[m]&&a!==c.data[m]?(e[m].update(a,!1,null,!1),e[m].touched=!0,g&&(p=m+1)):e[m]&&(e[m].touched=!0),!k||b!==m||d&&d.enabled||this.hasDerivedData)l=!0}else f.push(a)},this);if(l)for(a=e.length;a--;)(m=e[a])&&!m.touched&&m.remove&&m.remove(!1,b);else!k||d&&d.enabled?n=!1:(a.forEach(function(a,b){a!==e[b].y&&e[b].update&&e[b].update(a,!1,null,!1)}),f.length=0);e.forEach(function(a){a&&(a.touched=!1)});if(!n)return!1; +f.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=I(this.xData),this.autoIncrement());return!0};a.prototype.setData=function(a,c,d,e){void 0===c&&(c=!0);var h=this,f=h.points,g=f&&f.length||0,k=h.options,l=h.chart,m=k.dataSorting,p=h.xAxis,n=k.turboThreshold,F=this.xData,q=this.yData,u=h.pointArrayMap;u=u&&u.length;var w=k.keys,z,y=0,t=1,r=null;if(!l.options.chart.allowMutatingData){k.data&&delete h.options.data;h.userOptions.data&& +delete h.userOptions.data;var A=S(!0,a)}a=A||a||[];A=a.length;m&&m.enabled&&(a=this.sortData(a));l.options.chart.allowMutatingData&&!1!==e&&A&&g&&!h.cropped&&!h.hasGroupedData&&h.visible&&!h.boosted&&(z=this.updateData(a,d));if(!z){h.xIncrement=null;h.colorCounter=0;this.parallelArrays.forEach(function(a){h[a+"Data"].length=0});if(n&&A>n)if(r=h.getFirstValidPoint(a),O(r))for(d=0;da?1:0}).forEach(function(a, +b){a.x=b},this);b.linkedSeries&&b.linkedSeries.forEach(function(b){var c=b.options,e=c.data;c.dataSorting&&c.dataSorting.enabled||!e||(e.forEach(function(c,h){e[h]=d(b,c);a[h]&&(e[h].x=a[h].x,e[h].index=h)}),b.setData(e,!1))});return a};a.prototype.getProcessedData=function(a){var c=this.xAxis,d=this.options,e=d.cropThreshold,h=a||this.getExtremesFromAll||d.getExtremesFromAll,f=this.isCartesian;a=c&&c.val2lin;d=!(!c||!c.logarithmic);var g=0,k=this.xData,l=this.yData,m=this.requireSorting;var p=!1; +var n=k.length;if(c){p=c.getExtremes();var F=p.min;var q=p.max;p=!(!c.categories||c.names.length)}if(f&&this.sorted&&!h&&(!e||n>e||this.forceCrop))if(k[n-1]q)k=[],l=[];else if(this.yData&&(k[0]q)){var u=this.cropData(this.xData,this.yData,F,q);k=u.xData;l=u.yData;g=u.start;u=!0}for(e=k.length||1;--e;)if(c=d?a(k[e])-a(k[e-1]):k[e]-k[e-1],0c&&m&&!p&&(b(15,!1,this.chart),m=!1);return{xData:k,yData:l,cropped:u,cropStart:g,closestPointRange:w}}; +a.prototype.processData=function(a){var b=this.xAxis;if(this.isCartesian&&!this.isDirty&&!b.isDirty&&!this.yAxis.isDirty&&!a)return!1;a=this.getProcessedData();this.cropped=a.cropped;this.cropStart=a.cropStart;this.processedXData=a.xData;this.processedYData=a.yData;this.closestPointRange=this.basePointRange=a.closestPointRange;w(this,"afterProcessData")};a.prototype.cropData=function(a,b,c,d,e){var h=a.length,f,g=0,k=h;e=y(e,this.cropShoulder);for(f=0;f=c){g=Math.max(0,f-e);break}for(c= +f;cd){k=c+e;break}return{xData:a.slice(g,k),yData:b.slice(g,k),start:g,end:k}};a.prototype.generatePoints=function(){var a=this.options,b=this.processedData||a.data,c=this.processedXData,d=this.processedYData,e=this.pointClass,h=c.length,f=this.cropStart||0,g=this.hasGroupedData,k=a.keys,l=[];a=a.dataGrouping&&a.dataGrouping.groupAll?f:0;var m,n,q=this.data;if(!q&&!g){var u=[];u.length=b.length;q=this.data=u}k&&g&&(this.options.keys=!1);for(n=0;n=k&&(e[g-f]||q)<=l;if(u&&q)if(u= +n.length)for(;u--;)O(n[u])&&(h[m++]=n[u]);else h[m++]=n}a={activeYData:h,dataMin:L(h),dataMax:I(h)};w(this,"afterGetExtremes",{dataExtremes:a});return a};a.prototype.applyExtremes=function(){var a=this.getExtremes();this.dataMin=a.dataMin;this.dataMax=a.dataMax;return a};a.prototype.getFirstValidPoint=function(a){for(var b=a.length,c=0,d=null;null===d&&c=J&&(J=null),C.total=C.stackTotal=x.total,C.percentage=x.total&&C.y/x.total*100,C.stackY=N,this.irregularWidths||x.setOffset(this.pointXOffset||0,this.barW||0));C.yBottom=h(J)?A(f.translate(J,0,1,0,1),-1E5,1E5):null;this.dataModify&&(N=this.dataModify.modifyValue(N, +z));C.plotY=void 0;O(N)&&(x=f.translate(N,!1,!0,!1,!0),"undefined"!==typeof x&&(C.plotY=A(x,-1E5,1E5)));C.isInside=this.isPointInside(C);C.clientX=m?q(c.translate(v,0,0,0,1,l)):t;C.negative=C[u]<(a[u+"Threshold"]||p||0);C.category=y(d&&d[C.x],C.x);if(!C.isNull&&!1!==C.visible){"undefined"!==typeof E&&(r=Math.min(r,Math.abs(t-E)));var E=t}C.zone=this.zones.length?C.getZone():void 0;!C.graphic&&this.group&&e&&(C.isNew=!0)}this.closestPointRangePx=r;w(this,"afterTranslate")};a.prototype.getValidPoints= +function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,{inverted:d.inverted})?!1:!1!==a.visible&&(c||!a.isNull)})};a.prototype.getClipBox=function(){var a=this.chart,b=this.xAxis,c=this.yAxis,d=S(a.clipBox);b&&b.len!==a.plotSizeX&&(d.width=b.len);c&&c.len!==a.plotSizeY&&(d.height=c.len);return d};a.prototype.getSharedClipKey=function(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0)};a.prototype.setClip= +function(){var a=this.chart,b=this.group,c=this.markerGroup,d=a.sharedClips;a=a.renderer;var e=this.getClipBox(),h=this.getSharedClipKey(),f=d[h];f?f.animate(e):d[h]=f=a.clipRect(e);b&&b.clip(!1===this.options.clip?void 0:f);c&&c.clip()};a.prototype.animate=function(a){var b=this.chart,c=this.group,d=this.markerGroup,e=b.inverted,h=f(this.options.animation),g=[this.getSharedClipKey(),h.duration,h.easing,h.defer].join(),k=b.sharedClips[g],l=b.sharedClips[g+"m"];if(a&&c)h=this.getClipBox(),k?k.attr("height", +h.height):(h.width=0,e&&(h.x=b.plotHeight),k=b.renderer.clipRect(h),b.sharedClips[g]=k,l=b.renderer.clipRect({x:e?(b.plotSizeX||0)+99:-99,y:e?-b.plotLeft:-b.plotTop,width:99,height:e?b.chartWidth:b.chartHeight}),b.sharedClips[g+"m"]=l),c.clip(k),d&&d.clip(l);else if(k&&!k.hasClass("highcharts-animating")){b=this.getClipBox();var m=h.step;d&&d.element.childNodes.length&&(h.step=function(a,b){m&&m.apply(b,arguments);l&&l.element&&l.attr(b.prop,"width"===b.prop?a+99:a)});k.addClass("highcharts-animating").animate(b, +h)}};a.prototype.afterAnimate=function(){var a=this;this.setClip();Y(this.chart.sharedClips,function(b,c,d){b&&!a.chart.container.querySelector('[clip-path="url(#'.concat(b.id,')"]'))&&(b.destroy(),delete d[c])});this.finishedAnimating=!0;w(this,"afterAnimate")};a.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var b=this.chart,c=this.options.marker,d=this[this.specialGroup]||this.markerGroup,e=this.xAxis,h=y(c.enabled,!e||e.isRadial?!0:null,this.closestPointRangePx>=c.enabledThreshold* +c.radius),f,g;if(!1!==c.enabled||this._hasPointMarkers)for(f=0;fH.max;a.resetZones&&0===p&&(p=void 0)});this.clips=e}else a.visible&&(h&&h.show(),f&&f.show())}; +a.prototype.plotGroup=function(a,b,c,d,e){var f=this[a],g=!f;c={visibility:c,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(c.opacity=this.opacity);g&&(this[a]=f=this.chart.renderer.g().add(e));f.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(h(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(f.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);f.attr(c)[g? +"attr":"animate"](this.getPlotBox(b));return f};a.prototype.getPlotBox=function(a){var b=this.xAxis,c=this.yAxis,d=this.chart;a=d.inverted&&!d.polar&&b&&!1!==this.invertible&&("markers"===a||"series"===a);d.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:d.plotLeft,translateY:c?c.top:d.plotTop,rotation:a?90:0,rotationOriginX:a?(b.len-c.len)/2:0,rotationOriginY:a?(b.len+c.len)/2:0,scaleX:a?-1:1,scaleY:1}};a.prototype.removeEvents=function(a){a||T(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(a){a()}), +this.eventsToUnbind.length=0)};a.prototype.render=function(){var a=this,b=a.chart,c=a.options,d=f(c.animation),e=a.visible?"inherit":"hidden",h=c.zIndex,g=a.hasRendered,k=b.seriesGroup;b=!a.finishedAnimating&&b.renderer.isSVG?d.duration:0;w(this,"render");a.plotGroup("group","series",e,h,k);a.markerGroup=a.plotGroup("markerGroup","markers",e,h,k);!1!==c.clip&&a.setClip();a.animate&&b&&a.animate(!0);a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels(); +a.redrawPoints&&a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.animate&&b&&a.animate();g||(b&&d.defer&&(b+=d.defer),a.animationTimeout=ca(function(){a.afterAnimate()},b||0));a.isDirty=!1;a.hasRendered=!0;w(a,"afterRender")};a.prototype.redraw=function(){var a=this.isDirty||this.isDirtyData;this.translate();this.render();a&&delete this.kdTree};a.prototype.searchPoint=function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e? +c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b,a)};a.prototype.buildKDTree=function(a){function b(a,d,e){var h=a&&a.length;if(h){var f=c.kdAxisArray[d%e];a.sort(function(a,b){return a[f]-b[f]});h=Math.floor(h/2);return{point:a[h],left:b(a.slice(0,h),d+1,e),right:b(a.slice(h+1),d+1,e)}}}this.buildingKdTree=!0;var c=this,d=-1p?"left":"right";q=0>p?"right":"left";b[u]&&(u=d(a,b[u],c+1,l),n=u[k]u;)q--;this.updateParallelArrays(n,"splice",q,0,0);this.updateParallelArrays(n,q);k&&n.name&&(k[u]=n.name);l.splice(q,0,a);if(p||this.processedData)this.data.splice(q, +0,null),this.processData();"point"===h.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(n,"shift"),l.shift()));!1!==e&&w(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;b&&g.redraw(d)};a.prototype.removePoint=function(a,b,d){var e=this,h=e.data,f=h[a],g=e.points,k=e.chart,l=function(){g&&g.length===h.length&&g.splice(a,1);h.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(f||{series:e},"splice",a,1);f&&f.destroy(); +e.isDirty=!0;e.isDirtyData=!0;b&&k.redraw()};c(d,k);b=y(b,!0);f?f.firePointEvent("remove",null,l):l()};a.prototype.remove=function(a,b,c,d){function e(){h.destroy(d);f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();y(a,!0)&&f.redraw(b)}var h=this,f=h.chart;!1!==c?w(h,"remove",null,e):e()};a.prototype.update=function(a,c){a=d(a,this.userOptions);w(this,"update",{options:a});var e=this,h=e.chart,f=e.userOptions,g=e.initialType||e.type,k=h.options.plotOptions,l=v[g].prototype,m=e.finishedAnimating&&{animation:!1}, +n={},q=["eventOptions","navigatorSeries","baseSeries"],u=a.type||f.type||h.options.chart.type,z=!(this.hasDerivedData||u&&u!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||e.hasOptionChanged("dataGrouping")||e.hasOptionChanged("pointStart")||e.hasOptionChanged("pointInterval")||e.hasOptionChanged("pointIntervalUnit")||e.hasOptionChanged("keys"));u=u||g;z&&(q.push("data","isDirtyData","points","processedData", +"processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&q.push("area","graph"),e.parallelArrays.forEach(function(a){q.push(a+"Data")}),a.data&&(a.dataSorting&&p(e.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=S(f,m,{index:"undefined"===typeof f.index?e.index:f.index,pointStart:y(k&&k.series&&k.series.pointStart,f.pointStart,e.xData[0])},!z&&{data:e.options.data}, +a);z&&a.data&&(a.data=e.options.data);q=["group","markerGroup","dataLabelsGroup","transformGroup","shadowGroup"].concat(q);q.forEach(function(a){q[a]=e[a];delete e[a]});k=!1;if(v[u]){if(k=u!==e.type,e.remove(!1,!1,!1,!0),k)if(Object.setPrototypeOf)Object.setPrototypeOf(e,v[u].prototype);else{m=Object.hasOwnProperty.call(e,"hcEvents")&&e.hcEvents;for(t in l)e[t]=void 0;p(e,v[u].prototype);m?e.hcEvents=m:delete e.hcEvents}}else b(17,!0,h,{missingModuleFor:u});q.forEach(function(a){e[a]=q[a]});e.init(h, +a);if(z&&this.points){a=e.options;if(!1===a.visible)n.graphic=1,n.dataLabel=1;else if(!e._hasPointLabels){l=a.marker;var t=a.dataLabels;!l||!1!==l.enabled&&(f.marker&&f.marker.symbol)===l.symbol||(n.graphic=1);t&&!1===t.enabled&&(n.dataLabel=1)}f=0;for(l=this.points;fe&&g.shadow));n&&(n.startX=f.xMap,n.isArea=f.isArea)})};r.prototype.getGraphPath=function(a,g,f){var c=this, +l=c.options,m=[],e=[],n,t=l.step;a=a||c.points;var r=a.reversed;r&&a.reverse();(t={right:1,center:2}[t]||t&&3)&&r&&(t=4-t);a=this.getValidPoints(a,!1,!(l.connectNulls&&!g&&!f));a.forEach(function(u,r){var A=u.plotX,d=u.plotY,q=a[r-1];(u.leftCliff||q&&q.rightCliff)&&!f&&(n=!0);u.isNull&&!D(g)&&0a&&r>l?(r=Math.max(a,l),v=2*l-r):rf&&v>l?(v=Math.max(f,l),r=2*l-v):v=Math.abs(c)&&.5a.closestPointRange*a.xAxis.transA;d=a.borderWidth=L(b.borderWidth,d?0:1);var e=a.xAxis,f=a.yAxis,g=b.threshold,n=a.translatedThreshold= +f.getThreshold(g),q=L(b.minPointLength,5),u=a.getColumnMetrics(),t=u.width,r=a.pointXOffset=u.offset,y=a.dataMin,A=a.dataMax,v=a.barW=Math.max(t,1+2*d);c.inverted&&(n-=.5);b.pointPadding&&(v=Math.ceil(v));B.prototype.translate.apply(a);a.points.forEach(function(d){var h=L(d.yBottom,n),k=999+Math.abs(h),p=d.plotX||0;k=l(d.plotY,-k,f.len+k);var w=Math.min(k,h),z=Math.max(k,h)-w,C=t,x=p+r,B=v;q&&Math.abs(z)q?h-q:n-(p?q:0));m(d.options.pointWidth)&&(C=B=Math.ceil(d.options.pointWidth),x-=Math.round((C-t)/2));b.centerInCategory&&(x=a.adjustForMissingColumns(x,C,d,u));d.barX=x;d.pointWidth=C;d.tooltipPos=c.inverted?[l(f.len+f.pos-c.plotLeft-k,f.pos-c.plotLeft,f.len+f.pos-c.plotLeft),e.len+e.pos-c.plotTop-x-B/2,z]:[e.left-c.plotLeft+x+B/2,l(k+f.pos-c.plotTop,f.pos-c.plotTop,f.len+f.pos-c.plotTop),z];d.shapeType=a.pointClass.prototype.shapeType||"rect"; +d.shapeArgs=a.crispCol.apply(a,d.isNull?[x,n,B,0]:[x,w,B,z])})};d.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};d.prototype.pointAttribs=function(a,c){var b=this.options,d=this.pointAttrToOptions||{},e=d.stroke||"borderColor",h=d["stroke-width"]||"borderWidth",g=a&&a.color||this.color,k=a&&a[e]||b[e]||g;d=a&&a.options.dashStyle||b.dashStyle;var l=a&&a[h]||b[h]||this[h]||0,m=L(a&&a.opacity,b.opacity,1);if(a&&this.zones.length){var n=a.getZone(); +g=a.options.color||n&&(n.color||a.nonZonedColor)||this.color;n&&(k=n.borderColor||k,d=n.dashStyle||d,l=n.borderWidth||l)}c&&a&&(a=I(b.states[c],a.options.states&&a.options.states[c]||{}),c=a.brightness,g=a.color||"undefined"!==typeof c&&f(g).brighten(a.brightness).get()||g,k=a[e]||k,l=a[h]||l,d=a.dashStyle||d,m=L(a.opacity,m));e={fill:g,stroke:k,"stroke-width":l,opacity:m};d&&(e.dashstyle=d);return e};d.prototype.drawPoints=function(a){void 0===a&&(a=this.points);var c=this,b=this.chart,d=c.options, +e=b.renderer,f=d.animationLimit||250,h;a.forEach(function(a){var g=a.graphic,k=!!g,l=g&&b.pointCount"===c&&a>b||"<"===c&&a="===c&&a>=b||"<="===c&&a<=b||"=="===c&&a==b||"==="===c&&a===b?!0:!1):!0}function u(a){void 0===a&&(a=this.points);var d=this,b=d.chart,e=d.options,f=d.hasRendered||0,h=b.renderer,q=b.options.chart,u=q.backgroundColor;q=q.plotBackgroundColor;var C=h.getContrast(n(q)&&q||n(u)&&u||"#000000"),x=e.dataLabels,E;u=x.animation;u=x.defer?v(b,u,d):{defer:0,duration:0}; +x=A(A(b.options.plotOptions&&b.options.plotOptions.series&&b.options.plotOptions.series.dataLabels,b.options.plotOptions&&b.options.plotOptions[d.type]&&b.options.plotOptions[d.type].dataLabels),x);r(this,"drawDataLabels");if(t(x)||x.enabled||d._hasPointLabels){var I=d.plotGroup("dataLabelsGroup","data-labels",f?"inherit":"hidden",x.zIndex||6);I.attr({opacity:+f});!f&&(f=d.dataLabelsGroup)&&(d.visible&&I.show(),f[e.animation?"animate":"attr"]({opacity:1},u));a.forEach(function(a){E=m(A(x,a.dlOptions|| +a.options&&a.options.dataLabels));E.forEach(function(f,k){var m=f.enabled&&(!a.isNull||a.dataLabelOnNull)&&g(a,f),n=a.connectors?a.connectors[k]:a.connector,q=a.dataLabels?a.dataLabels[k]:a.dataLabel,p=!q,u=l(f.distance,a.labelDistance);if(m){var t=a.getLabelConfig();var r=l(f[a.formatPrefix+"Format"],f.format);t=B(r)?D(r,t,b):(f[a.formatPrefix+"Formatter"]||f.formatter).call(t,f);r=f.style;var A=f.rotation;b.styledMode||(r.color=l(f.color,r.color,d.color,"#000000"),"contrast"===r.color?(a.contrastColor= +h.getContrast(a.color||d.color),r.color=!B(u)&&f.inside||0>u||e.stacking?a.contrastColor:C):delete a.contrastColor,e.cursor&&(r.cursor=e.cursor));var v={r:f.borderRadius||0,rotation:A,padding:f.padding,zIndex:1};b.styledMode||(v.fill=f.backgroundColor,v.stroke=f.borderColor,v["stroke-width"]=f.borderWidth);c(v,function(a,b){"undefined"===typeof a&&delete v[b]})}!q||m&&B(t)&&!!q.div===!!f.useHTML&&(q.rotation&&f.rotation||q.rotation===f.rotation)||(p=!0,a.dataLabel=q=a.dataLabel&&a.dataLabel.destroy(), +a.dataLabels&&(1===a.dataLabels.length?delete a.dataLabels:delete a.dataLabels[k]),k||delete a.dataLabel,n&&(a.connector=a.connector.destroy(),a.connectors&&(1===a.connectors.length?delete a.connectors:delete a.connectors[k])));m&&B(t)?(q?v.text=t:(a.dataLabels=a.dataLabels||[],q=a.dataLabels[k]=A?h.text(t,0,0,f.useHTML).addClass("highcharts-data-label"):h.label(t,0,0,f.shape,null,null,f.useHTML,null,"data-label"),k||(a.dataLabel=q),q.addClass(" highcharts-data-label-color-"+a.colorIndex+" "+(f.className|| +"")+(f.useHTML?" highcharts-tracker":""))),q.options=f,q.attr(v),b.styledMode||q.css(r).shadow(f.shadow),(k=f[a.formatPrefix+"TextPath"]||f.textPath)&&!f.useHTML&&(q.setTextPath(a.getDataLabelPath&&a.getDataLabelPath(q)||a.graphic,k),a.dataLabelPath&&!k.enabled&&(a.dataLabelPath=a.dataLabelPath.destroy())),q.added||q.add(I),d.alignDataLabel(a,q,f,null,p)):q&&q.hide()})})}r(this,"afterDrawDataLabels")}function x(a,c,b,d,e,f){var h=this.chart,g=c.align,k=c.verticalAlign,l=a.box?0:a.padding||0,m=c.x; +m=void 0===m?0:m;var n=c.y;n=void 0===n?0:n;var q=(b.x||0)+l;if(0>q){"right"===g&&0<=m?(c.align="left",c.inside=!0):m-=q;var p=!0}q=(b.x||0)+d.width-l;q>h.plotWidth&&("left"===g&&0>=m?(c.align="right",c.inside=!0):m+=h.plotWidth-q,p=!0);q=b.y+l;0>q&&("bottom"===k&&0<=n?(c.verticalAlign="top",c.inside=!0):n-=q,p=!0);q=(b.y||0)+d.height-l;q>h.plotHeight&&("top"===k&&0>=n?(c.verticalAlign="bottom",c.inside=!0):n+=h.plotHeight-q,p=!0);p&&(c.x=m,c.y=n,a.placed=!f,a.align(c,void 0,e));return p}function A(a, +c){var b=[],d;if(t(a)&&!t(c))b=a.map(function(a){return f(a,c)});else if(t(c)&&!t(a))b=c.map(function(b){return f(a,b)});else if(t(a)||t(c))for(d=Math.max(a.length,c.length);d--;)b[d]=f(a[d],c[d]);else b=f(a,c);return b}function d(a,c,b,d,e){var f=this.chart,h=f.inverted,g=this.xAxis,k=g.reversed,l=h?c.height/2:c.width/2;a=(a=a.pointWidth)?a/2:0;c.startXPos=h?e.x:k?-l-a:g.width-l+a;c.startYPos=h?k?this.yAxis.height-l+a:-l-a:e.y;d?"hidden"===c.visibility&&(c.show(),c.attr({opacity:0}).animate({opacity:1})): +c.attr({opacity:1}).animate({opacity:0},void 0,c.hide);f.hasRendered&&(b&&c.attr({x:c.startXPos,y:c.startYPos}),c.placed=!0)}var q=[];a.compose=function(a){if(-1===q.indexOf(a)){var c=a.prototype;q.push(a);c.alignDataLabel=e;c.drawDataLabels=u;c.justifyDataLabel=x;c.setDataLabelStartPos=d}}})(e||(e={}));"";return e});K(g,"Series/Column/ColumnDataLabel.js",[g["Core/Series/DataLabel.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=g.series,D=x.merge,B=x.pick,G;(function(g){function t(a, +c,g,m,e){var f=this.chart.inverted,l=a.series,n=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0;l=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0;var t=a.dlBox||a.shapeArgs,r=B(a.below,a.plotY>B(this.translatedThreshold,l)),A=B(g.inside,!!this.options.stacking);t&&(m=D(t),0>m.y&&(m.height+=m.y,m.y=0),t=m.y+m.height-l,0\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}});K(g,"Series/Scatter/ScatterSeries.js",[g["Series/Scatter/ScatterSeriesDefaults.js"], +g["Core/Series/SeriesRegistry.js"],g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var a=function(f,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(f,c)};return function(f,c){function g(){this.constructor=f}a(f,c);f.prototype=null===c?Object.create(c):(g.prototype=c.prototype,new g)}}(),D=g.seriesTypes,B=D.column,G=D.line;D=x.addEvent;var r=x.extend,t=x.merge; +x=function(g){function f(){var a=null!==g&&g.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}v(f,g);f.prototype.applyJitter=function(){var a=this,f=this.options.jitter,g=this.points.length;f&&this.points.forEach(function(c,l){["x","y"].forEach(function(e,m){var n="plot"+e.toUpperCase();if(f[e]&&!c.isNull){var u=a[e+"Axis"];var t=f[e]*u.transA;if(u&&!u.isLog){var d=Math.max(0,c[n]-t);u=Math.min(u.len,c[n]+t);m=1E4*Math.sin(l+m*g);c[n]=d+(u-d)*(m-Math.floor(m));"x"=== +e&&(c.clientX=c.plotX)}}})})};f.prototype.drawGraph=function(){this.options.lineWidth?g.prototype.drawGraph.call(this):this.graph&&(this.graph=this.graph.destroy())};f.defaultOptions=t(G.defaultOptions,a);return f}(G);r(x.prototype,{drawTracker:B.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});D(x,"afterTranslate",function(){this.applyJitter()});g.registerSeriesType("scatter",x);return x});K(g,"Series/CenteredUtilities.js", +[g["Core/Globals.js"],g["Core/Series/Series.js"],g["Core/Utilities.js"]],function(a,g,x){var v=a.deg2rad,D=x.fireEvent,B=x.isNumber,G=x.pick,r=x.relativeLength,t;(function(a){a.getCenter=function(){var a=this.options,c=this.chart,l=2*(a.slicedOffset||0),m=c.plotWidth-2*l,e=c.plotHeight-2*l,n=a.center,t=Math.min(m,e),v=a.thickness,x=a.size,E=a.innerSize||0;"string"===typeof x&&(x=parseFloat(x));"string"===typeof E&&(E=parseFloat(E));a=[G(n[0],"50%"),G(n[1],"50%"),G(x&&0>x?void 0:a.size,"100%"),G(E&& +0>E?void 0:a.innerSize||0,"0%")];!c.angular||this instanceof g||(a[3]=0);for(n=0;4>n;++n)x=a[n],c=2>n||2===n&&/%$/.test(x),a[n]=r(x,[m,e,t,a[2]][n])+(c?l:0);a[3]>a[2]&&(a[3]=a[2]);B(v)&&2*va&&360>c-a?c:a+360;return{start:v*(a+-90),end:v*(c+-90)}}})(t||(t={}));"";return t});K(g,"Series/Pie/PiePoint.js",[g["Core/Animation/AnimationUtilities.js"],g["Core/Series/Point.js"], +g["Core/Utilities.js"]],function(a,g,x){var v=this&&this.__extends||function(){var a=function(c,f){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var e in c)c.hasOwnProperty(e)&&(a[e]=c[e])};return a(c,f)};return function(c,f){function g(){this.constructor=c}a(c,f);c.prototype=null===f?Object.create(f):(g.prototype=f.prototype,new g)}}(),D=a.setAnimation,B=x.addEvent,G=x.defined;a=x.extend;var r=x.isNumber,t=x.pick,n=x.relativeLength;g=function(a){function c(){var c= +null!==a&&a.apply(this,arguments)||this;c.labelDistance=void 0;c.options=void 0;c.series=void 0;return c}v(c,a);c.prototype.getConnectorPath=function(){var a=this.labelPosition,c=this.series.options.dataLabels,e=this.connectorShapes,f=c.connectorShape;e[f]&&(f=e[f]);return f.call(this,{x:a.final.x,y:a.final.y,alignment:a.alignment},a.connectorPosition,c)};c.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};c.prototype.haloPath=function(a){var c= +this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:c.r-1,start:c.start,end:c.end})};c.prototype.init=function(){var c=this;a.prototype.init.apply(this,arguments);this.name=t(this.name,"Slice");var f=function(a){c.slice("select"===a.type)};B(this,"select",f);B(this,"unselect",f);return this};c.prototype.isValid=function(){return r(this.y)&&0<=this.y};c.prototype.setVisible=function(a,c){var e=this,f=this.series,g=f.chart,l=f.options.ignoreHiddenPoint; +c=t(c,l);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,f.options.data[f.data.indexOf(this)]=this.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(c){if(e[c])e[c][a?"show":"hide"](a)}),this.legendItem&&g.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),l&&(f.isDirty=!0),c&&g.redraw())};c.prototype.slice=function(a,c,e){var f=this.series;D(e,f.chart);t(c,!0);this.sliced=this.options.sliced=G(a)?a:!this.sliced; +f.options.data[f.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return c}(g);a(g.prototype,{connectorShapes:{fixedOffset:function(a,c,g){var f=c.breakAt;c=c.touchingSliceAt;return[["M",a.x,a.y],g.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*f.x-c.x,2*f.y-c.y,f.x,f.y]:["L",f.x,f.y],["L",c.x,c.y]]},straight:function(a,c){c=c.touchingSliceAt;return[["M",a.x,a.y],["L",c.x,c.y]]},crookedLine:function(a, +c,g){c=c.touchingSliceAt;var f=this.series,e=f.center[0],l=f.chart.plotWidth,t=f.chart.plotLeft;f=a.alignment;var r=this.shapeArgs.r;g=n(g.crookDistance,1);l="left"===f?e+r+(l+t-e-r)*(1-g):t+(e-r)*g;g=["L",l,a.y];e=!0;if("left"===f?l>a.x||lc.x)e=!1;a=[["M",a.x,a.y]];e&&a.push(g);a.push(["L",c.x,c.y]);return a}}});return g});K(g,"Series/Pie/PieSeriesDefaults.js",[],function(){"";return{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset", +crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}});K(g,"Series/Pie/PieSeries.js",[g["Series/CenteredUtilities.js"],g["Series/Column/ColumnSeries.js"],g["Core/Globals.js"], +g["Core/Legend/LegendSymbol.js"],g["Series/Pie/PiePoint.js"],g["Series/Pie/PieSeriesDefaults.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Core/Renderer/SVG/Symbols.js"],g["Core/Utilities.js"]],function(a,g,x,E,D,B,G,r,t,n){var f=this&&this.__extends||function(){var a=function(c,e){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])};return a(c,e)};return function(c,e){function d(){this.constructor= +c}a(c,e);c.prototype=null===e?Object.create(e):(d.prototype=e.prototype,new d)}}(),c=a.getStartAndEndRadians;x=x.noop;var l=n.clamp,m=n.extend,e=n.fireEvent,u=n.merge,v=n.pick,J=n.relativeLength;n=function(a){function g(){var c=null!==a&&a.apply(this,arguments)||this;c.center=void 0;c.data=void 0;c.maxLabelDistance=void 0;c.options=void 0;c.points=void 0;return c}f(g,a);g.prototype.animate=function(a){var c=this,e=c.points,f=c.startAngleRad;a||e.forEach(function(a){var b=a.graphic,d=a.shapeArgs;b&& +d&&(b.attr({r:v(a.startR,c.center&&c.center[3]/2),start:f,end:f}),b.animate({r:d.r,start:d.start,end:d.end},c.options.animation))})};g.prototype.drawEmpty=function(){var a=this.startAngleRad,c=this.endAngleRad,e=this.options;if(0===this.total&&this.center){var f=this.center[0];var g=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(f,g,this.center[1]/2,0,a,c).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:t.arc(f,g,this.center[2]/2,0,{start:a,end:c,innerR:this.center[3]/ +2})});this.chart.styledMode||this.graph.attr({"stroke-width":e.borderWidth,fill:e.fillColor||"none",stroke:e.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())};g.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic&&c.hasNewShapeType()&&(c.graphic=c.graphic.destroy());c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})};g.prototype.generatePoints=function(){a.prototype.generatePoints.call(this); +this.updateTotals()};g.prototype.getX=function(a,c,e){var d=this.center,f=this.radii?this.radii[e.index]||0:d[2]/2;a=Math.asin(l((a-d[1])/(f+e.labelDistance),-1,1));return d[0]+(c?-1:1)*Math.cos(a)*(f+e.labelDistance)+(01.5*Math.PI?x-=2*Math.PI:x<-Math.PI/2&&(x+=2*Math.PI);r.slicedTranslation={translateX:Math.round(Math.cos(x)*f),translateY:Math.round(Math.sin(x)*f)};C=Math.cos(x)*a[2]/2;var y=Math.sin(x)*a[2]/2;r.tooltipPos=[a[0]+.7*C,a[1]+.7*y];r.half=x<-Math.PI/2||x>Math.PI/2?1:0;r.angle=x;A=Math.min(h,r.labelDistance/5);r.labelPosition={natural:{x:a[0]+C+Math.cos(x)*r.labelDistance,y:a[1]+y+Math.sin(x)*r.labelDistance},"final":{},alignment:0>r.labelDistance?"center":r.half?"right": +"left",connectorPosition:{breakAt:{x:a[0]+C+Math.cos(x)*A,y:a[1]+y+Math.sin(x)*A},touchingSliceAt:{x:a[0]+C,y:a[1]+y}}}}e(this,"afterTranslate")};g.prototype.updateTotals=function(){var a=this.points,c=a.length,e=this.options.ignoreHiddenPoint,f,g=0;for(f=0;fv&&(a.dataLabel.css({width:Math.round(.7*v)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&& +delete a.dataLabels))}),B.forEach(function(c,d){var e=c.length,h=[],q;if(e){a.sortByAngle(c,d-.5);if(0m-b&&0===d&&(p=Math.round(X+F-m+b),D[1]=Math.max(p,D[1])),0>W-M/2?D[0]=Math.max(Math.round(-W+M/2),D[0]):W+M/2>n&&(D[2]=Math.max(Math.round(W+M/2-n),D[2])),L.sideOverflow=p)}}}),0===t(D)||this.verifyDataLabelOverflow(D))&&(this.placeDataLabels(),this.points.forEach(function(b){V= +c(k,b.options.dataLabels);if(I=l(V.connectorWidth,1)){var d;J=b.connector;if((L=b.dataLabel)&&L._pos&&b.visible&&0c.bottom-2?f:e,c.half,c)},justify:function(a,c,e){return e[0]+(a.half?-1:1)*(c+a.labelDistance)},alignToPlotEdges:function(a,c,e,f){a=a.getBBox().width;return c?a+f:e-a-f},alignToConnectors:function(a,c,e,f){var b=0,d;a.forEach(function(a){d=a.dataLabel.getBBox().width;d>b&&(b=d)});return c?b+f:e-b-f}};e.compose=function(c){a.compose(r);-1===B.indexOf(c)&&(B.push(c),c=c.prototype,c.dataLabelPositioners=A,c.alignDataLabel=v,c.drawDataLabels=g,c.placeDataLabels=u,c.verifyDataLabelOverflow= +x)}})(e||(e={}));return e});K(g,"Extensions/OverlappingDataLabels.js",[g["Core/Chart/Chart.js"],g["Core/Utilities.js"]],function(a,g){function v(a,f){var c=!1;if(a){var g=a.newOpacity;a.oldOpacity!==g&&(a.alignAttr&&a.placed?(a[g?"removeClass":"addClass"]("highcharts-data-label-hidden"),c=!0,a.alignAttr.opacity=g,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){f.styledMode||a.css({pointerEvents:g?"auto":"none"})}),D(f,"afterHideOverlappingLabel")):a.attr({opacity:g}));a.isOld=!0}return c} +var E=g.addEvent,D=g.fireEvent,B=g.isArray,G=g.isNumber,r=g.objectEach,t=g.pick;E(a,"render",function(){var a=this,f=[];(this.labelCollectors||[]).forEach(function(a){f=f.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&&r(a.stacking.stacks,function(a){r(a,function(a){a.label&&f.push(a.label)})})});(this.series||[]).forEach(function(c){var g=c.options.dataLabels;c.visible&&(!1!==g.enabled||c._hasPointLabels)&&(g=function(c){return c.forEach(function(c){c.visible&& +(B(c.dataLabels)?c.dataLabels:c.dataLabel?[c.dataLabel]:[]).forEach(function(e){var g=e.options;e.labelrank=t(g.labelrank,c.labelrank,c.shapeArgs&&c.shapeArgs.height);g.allowOverlap?(e.oldOpacity=e.opacity,e.newOpacity=1,v(e,a)):f.push(e)})})},g(c.nodes||[]),g(c.points))});this.hideOverlappingLabels(f)});a.prototype.hideOverlappingLabels=function(a){var f=this,c=a.length,g=f.renderer,m,e,n,t=!1;var r=function(a){var c,e=a.box?0:a.padding||0,f=c=0,k;if(a&&(!a.alignAttr||a.placed)){var b=a.alignAttr|| +{x:a.attr("x"),y:a.attr("y")};var l=a.parentGroup;a.width||(c=a.getBBox(),a.width=c.width,a.height=c.height,c=g.fontMetrics(null,a.element).h);var m=a.width-2*e;(k={left:"0",center:"0.5",right:"1"}[a.alignValue])?f=+k*m:G(a.x)&&Math.round(a.x)!==a.translateX&&(f=a.x-a.translateX);return{x:b.x+(l.translateX||0)+e-(f||0),y:b.y+(l.translateY||0)+e-c,width:a.width-2*e,height:a.height-2*e}}};for(e=0;e=x.x+x.width||B.x+B.width<=x.x||B.y>=x.y+x.height||B.y+B.height<=x.y||((r.labelrank=r(e.minWidth,0)&&this.chartHeight>=r(e.minHeight,0)}).call(this)&&c.push(a._id)};a.prototype.setResponsive=function(a,c){var e=this,f=this.options.responsive, +g=this.currentResponsive,l=[];!c&&f&&f.rules&&f.rules.forEach(function(a){"undefined"===typeof a._id&&(a._id=n());e.matchResponsiveRule(a,l)},this);c=B.apply(void 0,l.map(function(a){return x((f||{}).rules||[],function(c){return c._id===a})}).map(function(a){return a&&a.chartOptions}));c.isResponsiveOptions=!0;l=l.toString()||void 0;l!==(g&&g.ruleIds)&&(g&&this.update(g.undoOptions,a,!0),l?(g=this.currentOptions(c),g.isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:c,undoOptions:g}, +this.update(c,a,!0)):this.currentResponsive=void 0)};return a}()})(f||(f={}));"";"";return f});K(g,"masters/highcharts.src.js",[g["Core/Globals.js"],g["Core/Utilities.js"],g["Core/Defaults.js"],g["Core/Animation/Fx.js"],g["Core/Animation/AnimationUtilities.js"],g["Core/Renderer/HTML/AST.js"],g["Core/FormatUtilities.js"],g["Core/Renderer/RendererUtilities.js"],g["Core/Renderer/SVG/SVGElement.js"],g["Core/Renderer/SVG/SVGRenderer.js"],g["Core/Renderer/HTML/HTMLElement.js"],g["Core/Renderer/HTML/HTMLRenderer.js"], +g["Core/Axis/Axis.js"],g["Core/Axis/DateTimeAxis.js"],g["Core/Axis/LogarithmicAxis.js"],g["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],g["Core/Axis/Tick.js"],g["Core/Tooltip.js"],g["Core/Series/Point.js"],g["Core/Pointer.js"],g["Core/MSPointer.js"],g["Core/Legend/Legend.js"],g["Core/Chart/Chart.js"],g["Core/Axis/Stacking/StackingAxis.js"],g["Core/Axis/Stacking/StackItem.js"],g["Core/Series/Series.js"],g["Core/Series/SeriesRegistry.js"],g["Series/Column/ColumnSeries.js"],g["Series/Column/ColumnDataLabel.js"], +g["Series/Pie/PieSeries.js"],g["Series/Pie/PieDataLabel.js"],g["Core/Series/DataLabel.js"],g["Core/Responsive.js"],g["Core/Color/Color.js"],g["Core/Time.js"]],function(a,g,x,E,D,B,G,r,t,n,f,c,l,m,e,u,C,J,I,K,A,d,q,h,k,b,p,z,w,N,H,O,Q,S,Y){a.animate=D.animate;a.animObject=D.animObject;a.getDeferredAnimation=D.getDeferredAnimation;a.setAnimation=D.setAnimation;a.stop=D.stop;a.timers=E.timers;a.AST=B;a.Axis=l;a.Chart=q;a.chart=q.chart;a.Fx=E;a.Legend=d;a.PlotLineOrBand=u;a.Point=I;a.Pointer=A.isRequired()? +A:K;a.Series=b;a.StackItem=k;a.SVGElement=t;a.SVGRenderer=n;a.Tick=C;a.Time=Y;a.Tooltip=J;a.Color=S;a.color=S.parse;c.compose(n);f.compose(t);a.defaultOptions=x.defaultOptions;a.getOptions=x.getOptions;a.time=x.defaultTime;a.setOptions=x.setOptions;a.dateFormat=G.dateFormat;a.format=G.format;a.numberFormat=G.numberFormat;a.addEvent=g.addEvent;a.arrayMax=g.arrayMax;a.arrayMin=g.arrayMin;a.attr=g.attr;a.clearTimeout=g.clearTimeout;a.correctFloat=g.correctFloat;a.createElement=g.createElement;a.css= +g.css;a.defined=g.defined;a.destroyObjectProperties=g.destroyObjectProperties;a.discardElement=g.discardElement;a.distribute=r.distribute;a.erase=g.erase;a.error=g.error;a.extend=g.extend;a.extendClass=g.extendClass;a.find=g.find;a.fireEvent=g.fireEvent;a.getMagnitude=g.getMagnitude;a.getStyle=g.getStyle;a.inArray=g.inArray;a.isArray=g.isArray;a.isClass=g.isClass;a.isDOMElement=g.isDOMElement;a.isFunction=g.isFunction;a.isNumber=g.isNumber;a.isObject=g.isObject;a.isString=g.isString;a.keys=g.keys; +a.merge=g.merge;a.normalizeTickInterval=g.normalizeTickInterval;a.objectEach=g.objectEach;a.offset=g.offset;a.pad=g.pad;a.pick=g.pick;a.pInt=g.pInt;a.relativeLength=g.relativeLength;a.removeEvent=g.removeEvent;a.seriesType=p.seriesType;a.splat=g.splat;a.stableSort=g.stableSort;a.syncTimeout=g.syncTimeout;a.timeUnits=g.timeUnits;a.uniqueKey=g.uniqueKey;a.useSerialIds=g.useSerialIds;a.wrap=g.wrap;w.compose(z);O.compose(b);m.compose(l);e.compose(l);H.compose(N);u.compose(l);Q.compose(q);h.compose(l, +q,b);return a});g["masters/highcharts.src.js"]._modules=g;return g["masters/highcharts.src.js"]}); +//# sourceMappingURL=highcharts.js.map \ No newline at end of file diff --git a/Scripts/offline-exporting.js b/Scripts/offline-exporting.js new file mode 100644 index 000000000..932edf55f --- /dev/null +++ b/Scripts/offline-exporting.js @@ -0,0 +1,29 @@ +/* + Highcharts JS v10.3.2 (2022-11-28) + + Client side exporting module + + (c) 2015-2021 Torstein Honsi / Oystein Moseng + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/offline-exporting",["highcharts","highcharts/modules/exporting"],function(e){a(e);a.Highcharts=e;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function e(a,k,b,e){a.hasOwnProperty(k)||(a[k]=e.apply(null,b),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:k, +module:a[k]}})))}a=a?a._modules:{};e(a,"Extensions/DownloadURL.js",[a["Core/Globals.js"]],function(a){var k=a.isSafari,b=a.win,e=b.document,m=b.URL||b.webkitURL||b,q=a.dataURLtoBlob=function(a){if((a=a.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3c.indexOf("Chrome");try{if(!c&&-1===a.indexOf("c?"p":"l","pt",[c,b]);[].forEach.call(a.querySelectorAll('*[visibility="hidden"]'),function(a){a.parentNode.removeChild(a)}); +for(var f=a.querySelectorAll("linearGradient"),k=0;k]*width\s*=\s*"?(\d+)"?[^>]*>/)[1]*u,p=c.match(/^]*height\s*=\s*"?(\d+)"?[^>]*>/)[1]*u,n=function(){h.canvg.Canvg.fromString(b,c).start();try{k(h.navigator.msSaveOrOpenBlob?a.msToBlob():a.toDataURL(q),r),d&&d()}catch(P){f(P)}finally{B()}};a.width=g;a.height=p;h.canvg?n():(y=!0,e(l+"canvg.js",function(){n()}))},f,f,function(){y&&B()})}};b.getScript=e;b.imageToDataUrl=x;b.svgToDataUrl=E;b.svgToPdf=z})(x||(x={})); +return x});e(a,"masters/modules/offline-exporting.src.js",[a["Core/Globals.js"],a["Extensions/OfflineExporting/OfflineExporting.js"]],function(a,e){a.downloadSVGLocal=e.downloadSVGLocal;e.compose(a.Chart)})}); +//# sourceMappingURL=offline-exporting.js.map \ No newline at end of file From 1f635cef0f26d9c95b147688c9a788ff5bea68a0 Mon Sep 17 00:00:00 2001 From: MLopez Date: Tue, 13 Dec 2022 15:25:49 -0700 Subject: [PATCH 14/18] =?UTF-8?q?E172=20Rep=20Indicadores=20agrupar=20peso?= =?UTF-8?q?s=20y=20dolares=20en=20las=20gr=C3=A1ficas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- General/RepIndicadorResumen.aspx | 420 +++++++++++++++----------- General/RepIndicadorResumen.aspx.vb | 448 ++++++++++------------------ 2 files changed, 405 insertions(+), 463 deletions(-) diff --git a/General/RepIndicadorResumen.aspx b/General/RepIndicadorResumen.aspx index 9bf5d037a..f8e071b9e 100644 --- a/General/RepIndicadorResumen.aspx +++ b/General/RepIndicadorResumen.aspx @@ -163,12 +163,12 @@
- + + +
+
+ + +
+
+ + Gastos +
+
+
+
+
+
+ +
+
+
+ + + + + + + +
+
+
+
+ +
+ + +
+
+ + Compras por clasificación - Gráfica +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+ + +
+
+ + Cuentas por cobrar +
+
+
+
+
+
+ +
+
+
+ + + + + + + +
+
+
+
+ +
+ + +
+
+ + Cuentas por cobrar - Gráfica Saldo VS Recuperado +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+ + +
+
+ + Cuentas por cobrar - Gráfica Recuperado +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+ +
+
+ + +
+
+ + Cuentas por Pagar productores +
+
+
+
+
+
+ +
+
+
+ + + + + + +
+
+
+
+
- Cuentas por Pagar Productores - Gráfica por Cantidad(Kg) + Cuentas por Pagar productores - Gráfica
@@ -275,142 +466,6 @@
-
-
- - -
-
- - Gastos -
-
-
-
-
-
- -
-
-
- - - - - - - -
-
-
-
- -
- - -
-
- - Compras por clasificación - Gráfica -
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- -
-
- - -
-
- - Cuentas por cobrar -
-
-
-
-
-
- -
-
-
- - - - - - - -
-
-
-
- -
- - -
-
- - Cuentas por cobrar - Gráfica Saldo(MXN) -
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
- - -
-
- - Cuentas por cobrar - Gráfica Recuperado -
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
- @@ -431,14 +486,14 @@ --%> <%----%> -