Repository: biolab/orange3-timeseries (language: python)

Issue:
Replace Highcharts with fully open-source charting library
<!--
This is an issue template. Please fill in the relevant details in the
sections below.
-->

##### Timeseries version
<!-- From menu _Options→Add-ons→Timeseries_ -->
0.3.3

##### Orange version
<!-- From menu _Help→About→Version_ or code `Orange.version.full_version` -->
3.14.0

##### Idea
Replace Highcharts with a fully OS alternative. A large discussion was opened in https://github.com/biolab/orange3/issues/2044. Check it for ideas.




Discussion / hints:
One more vote for having this add-on (re)implemented with commercial-friendly libraries.
@ajdapretnar

shameless plug for something that may work for you: https://github.com/leeoniya/uPlot
@leeoniya Thanks! We will have a look, but probably we'll try implementing it in Qt first.
@janezd This is done, if I'm not mistaken?

Fix patch:
diff --git a/LICENSE b/LICENSE
index 197ec4de..b864ec47 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,334 +1,11 @@
-Creative Commons Legal Code
+Copyright (c) 2021 Bioinformatics Laboratory, University of Ljubljana,
+  Faculty of Computer and Information Science
 
-Attribution-NonCommercial 3.0 Unported
+All rights reserved.
 
-    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
-    LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
-    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
-    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
-    REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
-    DAMAGES RESULTING FROM ITS USE.
+THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT ANY WARRANTY WHATSOEVER.
 
-License
+If you use or redistribute this software, you are permitted to do so
+under the terms of GNU [GPL-3.0]+ license.
 
-THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
-COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
-COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
-AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
-
-BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
-TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
-BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
-CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
-CONDITIONS.
-
-1. Definitions
-
- a. "Adaptation" means a work based upon the Work, or upon the Work and
-    other pre-existing works, such as a translation, adaptation,
-    derivative work, arrangement of music or other alterations of a
-    literary or artistic work, or phonogram or performance and includes
-    cinematographic adaptations or any other form in which the Work may be
-    recast, transformed, or adapted including in any form recognizably
-    derived from the original, except that a work that constitutes a
-    Collection will not be considered an Adaptation for the purpose of
-    this License. For the avoidance of doubt, where the Work is a musical
-    work, performance or phonogram, the synchronization of the Work in
-    timed-relation with a moving image ("synching") will be considered an
-    Adaptation for the purpose of this License.
- b. "Collection" means a collection of literary or artistic works, such as
-    encyclopedias and anthologies, or performances, phonograms or
-    broadcasts, or other works or subject matter other than works listed
-    in Section 1(f) below, which, by reason of the selection and
-    arrangement of their contents, constitute intellectual creations, in
-    which the Work is included in its entirety in unmodified form along
-    with one or more other contributions, each constituting separate and
-    independent works in themselves, which together are assembled into a
-    collective whole. A work that constitutes a Collection will not be
-    considered an Adaptation (as defined above) for the purposes of this
-    License.
- c. "Distribute" means to make available to the public the original and
-    copies of the Work or Adaptation, as appropriate, through sale or
-    other transfer of ownership.
- d. "Licensor" means the individual, individuals, entity or entities that
-    offer(s) the Work under the terms of this License.
- e. "Original Author" means, in the case of a literary or artistic work,
-    the individual, individuals, entity or entities who created the Work
-    or if no individual or entity can be identified, the publisher; and in
-    addition (i) in the case of a performance the actors, singers,
-    musicians, dancers, and other persons who act, sing, deliver, declaim,
-    play in, interpret or otherwise perform literary or artistic works or
-    expressions of folklore; (ii) in the case of a phonogram the producer
-    being the person or legal entity who first fixes the sounds of a
-    performance or other sounds; and, (iii) in the case of broadcasts, the
-    organization that transmits the broadcast.
- f. "Work" means the literary and/or artistic work offered under the terms
-    of this License including without limitation any production in the
-    literary, scientific and artistic domain, whatever may be the mode or
-    form of its expression including digital form, such as a book,
-    pamphlet and other writing; a lecture, address, sermon or other work
-    of the same nature; a dramatic or dramatico-musical work; a
-    choreographic work or entertainment in dumb show; a musical
-    composition with or without words; a cinematographic work to which are
-    assimilated works expressed by a process analogous to cinematography;
-    a work of drawing, painting, architecture, sculpture, engraving or
-    lithography; a photographic work to which are assimilated works
-    expressed by a process analogous to photography; a work of applied
-    art; an illustration, map, plan, sketch or three-dimensional work
-    relative to geography, topography, architecture or science; a
-    performance; a broadcast; a phonogram; a compilation of data to the
-    extent it is protected as a copyrightable work; or a work performed by
-    a variety or circus performer to the extent it is not otherwise
-    considered a literary or artistic work.
- g. "You" means an individual or entity exercising rights under this
-    License who has not previously violated the terms of this License with
-    respect to the Work, or who has received express permission from the
-    Licensor to exercise rights under this License despite a previous
-    violation.
- h. "Publicly Perform" means to perform public recitations of the Work and
-    to communicate to the public those public recitations, by any means or
-    process, including by wire or wireless means or public digital
-    performances; to make available to the public Works in such a way that
-    members of the public may access these Works from a place and at a
-    place individually chosen by them; to perform the Work to the public
-    by any means or process and the communication to the public of the
-    performances of the Work, including by public digital performance; to
-    broadcast and rebroadcast the Work by any means including signs,
-    sounds or images.
- i. "Reproduce" means to make copies of the Work by any means including
-    without limitation by sound or visual recordings and the right of
-    fixation and reproducing fixations of the Work, including storage of a
-    protected performance or phonogram in digital form or other electronic
-    medium.
-
-2. Fair Dealing Rights. Nothing in this License is intended to reduce,
-limit, or restrict any uses free from copyright or rights arising from
-limitations or exceptions that are provided for in connection with the
-copyright protection under copyright law or other applicable laws.
-
-3. License Grant. Subject to the terms and conditions of this License,
-Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
-perpetual (for the duration of the applicable copyright) license to
-exercise the rights in the Work as stated below:
-
- a. to Reproduce the Work, to incorporate the Work into one or more
-    Collections, and to Reproduce the Work as incorporated in the
-    Collections;
- b. to create and Reproduce Adaptations provided that any such Adaptation,
-    including any translation in any medium, takes reasonable steps to
-    clearly label, demarcate or otherwise identify that changes were made
-    to the original Work. For example, a translation could be marked "The
-    original work was translated from English to Spanish," or a
-    modification could indicate "The original work has been modified.";
- c. to Distribute and Publicly Perform the Work including as incorporated
-    in Collections; and,
- d. to Distribute and Publicly Perform Adaptations.
-
-The above rights may be exercised in all media and formats whether now
-known or hereafter devised. The above rights include the right to make
-such modifications as are technically necessary to exercise the rights in
-other media and formats. Subject to Section 8(f), all rights not expressly
-granted by Licensor are hereby reserved, including but not limited to the
-rights set forth in Section 4(d).
-
-4. Restrictions. The license granted in Section 3 above is expressly made
-subject to and limited by the following restrictions:
-
- a. You may Distribute or Publicly Perform the Work only under the terms
-    of this License. You must include a copy of, or the Uniform Resource
-    Identifier (URI) for, this License with every copy of the Work You
-    Distribute or Publicly Perform. You may not offer or impose any terms
-    on the Work that restrict the terms of this License or the ability of
-    the recipient of the Work to exercise the rights granted to that
-    recipient under the terms of the License. You may not sublicense the
-    Work. You must keep intact all notices that refer to this License and
-    to the disclaimer of warranties with every copy of the Work You
-    Distribute or Publicly Perform. When You Distribute or Publicly
-    Perform the Work, You may not impose any effective technological
-    measures on the Work that restrict the ability of a recipient of the
-    Work from You to exercise the rights granted to that recipient under
-    the terms of the License. This Section 4(a) applies to the Work as
-    incorporated in a Collection, but this does not require the Collection
-    apart from the Work itself to be made subject to the terms of this
-    License. If You create a Collection, upon notice from any Licensor You
-    must, to the extent practicable, remove from the Collection any credit
-    as required by Section 4(c), as requested. If You create an
-    Adaptation, upon notice from any Licensor You must, to the extent
-    practicable, remove from the Adaptation any credit as required by
-    Section 4(c), as requested.
- b. You may not exercise any of the rights granted to You in Section 3
-    above in any manner that is primarily intended for or directed toward
-    commercial advantage or private monetary compensation. The exchange of
-    the Work for other copyrighted works by means of digital file-sharing
-    or otherwise shall not be considered to be intended for or directed
-    toward commercial advantage or private monetary compensation, provided
-    there is no payment of any monetary compensation in connection with
-    the exchange of copyrighted works.
- c. If You Distribute, or Publicly Perform the Work or any Adaptations or
-    Collections, You must, unless a request has been made pursuant to
-    Section 4(a), keep intact all copyright notices for the Work and
-    provide, reasonable to the medium or means You are utilizing: (i) the
-    name of the Original Author (or pseudonym, if applicable) if supplied,
-    and/or if the Original Author and/or Licensor designate another party
-    or parties (e.g., a sponsor institute, publishing entity, journal) for
-    attribution ("Attribution Parties") in Licensor's copyright notice,
-    terms of service or by other reasonable means, the name of such party
-    or parties; (ii) the title of the Work if supplied; (iii) to the
-    extent reasonably practicable, the URI, if any, that Licensor
-    specifies to be associated with the Work, unless such URI does not
-    refer to the copyright notice or licensing information for the Work;
-    and, (iv) consistent with Section 3(b), in the case of an Adaptation,
-    a credit identifying the use of the Work in the Adaptation (e.g.,
-    "French translation of the Work by Original Author," or "Screenplay
-    based on original Work by Original Author"). The credit required by
-    this Section 4(c) may be implemented in any reasonable manner;
-    provided, however, that in the case of a Adaptation or Collection, at
-    a minimum such credit will appear, if a credit for all contributing
-    authors of the Adaptation or Collection appears, then as part of these
-    credits and in a manner at least as prominent as the credits for the
-    other contributing authors. For the avoidance of doubt, You may only
-    use the credit required by this Section for the purpose of attribution
-    in the manner set out above and, by exercising Your rights under this
-    License, You may not implicitly or explicitly assert or imply any
-    connection with, sponsorship or endorsement by the Original Author,
-    Licensor and/or Attribution Parties, as appropriate, of You or Your
-    use of the Work, without the separate, express prior written
-    permission of the Original Author, Licensor and/or Attribution
-    Parties.
- d. For the avoidance of doubt:
-
-     i. Non-waivable Compulsory License Schemes. In those jurisdictions in
-        which the right to collect royalties through any statutory or
-        compulsory licensing scheme cannot be waived, the Licensor
-        reserves the exclusive right to collect such royalties for any
-        exercise by You of the rights granted under this License;
-    ii. Waivable Compulsory License Schemes. In those jurisdictions in
-        which the right to collect royalties through any statutory or
-        compulsory licensing scheme can be waived, the Licensor reserves
-        the exclusive right to collect such royalties for any exercise by
-        You of the rights granted under this License if Your exercise of
-        such rights is for a purpose or use which is otherwise than
-        noncommercial as permitted under Section 4(b) and otherwise waives
-        the right to collect royalties through any statutory or compulsory
-        licensing scheme; and,
-   iii. Voluntary License Schemes. The Licensor reserves the right to
-        collect royalties, whether individually or, in the event that the
-        Licensor is a member of a collecting society that administers
-        voluntary licensing schemes, via that society, from any exercise
-        by You of the rights granted under this License that is for a
-        purpose or use which is otherwise than noncommercial as permitted
-        under Section 4(c).
- e. Except as otherwise agreed in writing by the Licensor or as may be
-    otherwise permitted by applicable law, if You Reproduce, Distribute or
-    Publicly Perform the Work either by itself or as part of any
-    Adaptations or Collections, You must not distort, mutilate, modify or
-    take other derogatory action in relation to the Work which would be
-    prejudicial to the Original Author's honor or reputation. Licensor
-    agrees that in those jurisdictions (e.g. Japan), in which any exercise
-    of the right granted in Section 3(b) of this License (the right to
-    make Adaptations) would be deemed to be a distortion, mutilation,
-    modification or other derogatory action prejudicial to the Original
-    Author's honor and reputation, the Licensor will waive or not assert,
-    as appropriate, this Section, to the fullest extent permitted by the
-    applicable national law, to enable You to reasonably exercise Your
-    right under Section 3(b) of this License (right to make Adaptations)
-    but not otherwise.
-
-5. Representations, Warranties and Disclaimer
-
-UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
-OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
-KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
-FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
-LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
-WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
-OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
-
-6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
-LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
-ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
-ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. Termination
-
- a. This License and the rights granted hereunder will terminate
-    automatically upon any breach by You of the terms of this License.
-    Individuals or entities who have received Adaptations or Collections
-    from You under this License, however, will not have their licenses
-    terminated provided such individuals or entities remain in full
-    compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
-    survive any termination of this License.
- b. Subject to the above terms and conditions, the license granted here is
-    perpetual (for the duration of the applicable copyright in the Work).
-    Notwithstanding the above, Licensor reserves the right to release the
-    Work under different license terms or to stop distributing the Work at
-    any time; provided, however that any such election will not serve to
-    withdraw this License (or any other license that has been, or is
-    required to be, granted under the terms of this License), and this
-    License will continue in full force and effect unless terminated as
-    stated above.
-
-8. Miscellaneous
-
- a. Each time You Distribute or Publicly Perform the Work or a Collection,
-    the Licensor offers to the recipient a license to the Work on the same
-    terms and conditions as the license granted to You under this License.
- b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
-    offers to the recipient a license to the original Work on the same
-    terms and conditions as the license granted to You under this License.
- c. If any provision of this License is invalid or unenforceable under
-    applicable law, it shall not affect the validity or enforceability of
-    the remainder of the terms of this License, and without further action
-    by the parties to this agreement, such provision shall be reformed to
-    the minimum extent necessary to make such provision valid and
-    enforceable.
- d. No term or provision of this License shall be deemed waived and no
-    breach consented to unless such waiver or consent shall be in writing
-    and signed by the party to be charged with such waiver or consent.
- e. This License constitutes the entire agreement between the parties with
-    respect to the Work licensed here. There are no understandings,
-    agreements or representations with respect to the Work not specified
-    here. Licensor shall not be bound by any additional provisions that
-    may appear in any communication from You. This License may not be
-    modified without the mutual written agreement of the Licensor and You.
- f. The rights granted under, and the subject matter referenced, in this
-    License were drafted utilizing the terminology of the Berne Convention
-    for the Protection of Literary and Artistic Works (as amended on
-    September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
-    Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
-    and the Universal Copyright Convention (as revised on July 24, 1971).
-    These rights and subject matter take effect in the relevant
-    jurisdiction in which the License terms are sought to be enforced
-    according to the corresponding provisions of the implementation of
-    those treaty provisions in the applicable national law. If the
-    standard suite of rights granted under applicable copyright law
-    includes additional rights not granted under this License, such
-    additional rights are deemed to be included in the License; this
-    License is not intended to restrict the license of any rights under
-    applicable law.
-
-
-Creative Commons Notice
-
-    Creative Commons is not a party to this License, and makes no warranty
-    whatsoever in connection with the Work. Creative Commons will not be
-    liable to You or any party on any legal theory for any damages
-    whatsoever, including without limitation any general, special,
-    incidental or consequential damages arising in connection to this
-    license. Notwithstanding the foregoing two (2) sentences, if Creative
-    Commons has expressly identified itself as the Licensor hereunder, it
-    shall have all rights and obligations of Licensor.
-
-    Except for the limited purpose of indicating to the public that the
-    Work is licensed under the CCPL, Creative Commons does not authorize
-    the use by either party of the trademark "Creative Commons" or any
-    related trademark or logo of Creative Commons without the prior
-    written consent of Creative Commons. Any permitted use will be in
-    compliance with Creative Commons' then-current trademark usage
-    guidelines, as may be published on its website or otherwise made
-    available upon request from time to time. For the avoidance of doubt,
-    this trademark restriction does not form part of the License.
-
-    Creative Commons may be contacted at https://creativecommons.org/.
+[GPL-3.0]: https://www.gnu.org/licenses/gpl-3.0.en.html
diff --git a/MANIFEST.in b/MANIFEST.in
index 11563c15..78cd4bbe 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -3,7 +3,7 @@ recursive-include orangecontrib/timeseries/datasets *.tab *.csv
 
 recursive-include orangecontrib/timeseries/widgets *.png *.svg
 recursive-include orangecontrib/timeseries/widgets/icons/ *.ttf
-recursive-include orangecontrib/timeseries/widgets *.html *.css *.js LICENSE
+recursive-include orangecontrib/timeseries/widgets *.html *.css LICENSE
 recursive-include orangecontrib/timeseries/widgets/tests/datasets *.csv
 
 
diff --git a/README.md b/README.md
index b6b7e0eb..1eabd186 100644
--- a/README.md
+++ b/README.md
@@ -9,12 +9,6 @@ Orange3-Timeseries
 Orange add-on for analyzing, visualizing, manipulating, and forecasting time
 series data.
 
-**License: CC-BY-NC-3.0**
-
-In order to use this package commercially, please obtain a [Highcharts] license.
-
-[Highcharts]: http://www.highcharts.com/
-
 Package documentation: http://orange3-timeseries.readthedocs.io/
 
 Installing
diff --git a/orangecontrib/timeseries/widgets/_spiralogram.js b/orangecontrib/timeseries/widgets/_spiralogram.js
deleted file mode 100644
index 89718333..00000000
--- a/orangecontrib/timeseries/widgets/_spiralogram.js
+++ /dev/null
@@ -1,17 +0,0 @@
-function zoomSelection(event) {
-    var rect = event.target.pointer.selectionMarker.element.getBBox();
-    var svg = this.container.children[0];
-    for (var s = this.series.length - 1; s >=0; --s) {
-        for (var i = 0; i < this.series[s].data.length; i++) {
-            var point = this.series[s].data[i];
-            if (point.color != 'white' &&
-                svg.checkEnclosure(point.graphic.element, rect)) {
-                point.select(true, true);
-                // Raise to front the point within series
-                point.graphic.element.parentNode.appendChild(point.graphic.element);
-            }
-        }
-    }
-    return false;
-}
-window.zoomSelection = zoomSelection;
diff --git a/orangecontrib/timeseries/widgets/highcharts/__init__.py b/orangecontrib/timeseries/widgets/highcharts/__init__.py
deleted file mode 100644
index da3c36d6..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/__init__.py
+++ /dev/null
@@ -1,1 +0,0 @@
-from .highcharts import Highchart
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/LICENSE b/orangecontrib/timeseries/widgets/highcharts/_highcharts/LICENSE
deleted file mode 100644
index 7715343d..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/LICENSE
+++ /dev/null
@@ -1,11 +0,0 @@
-The files in this directory, as indicated by the file heading comment,
-are provided courtesy of Highsoft AS and are licensed under the terms of
-Creative Commons Attribution Non Commercial 3.0 license [CC-BY-NC-3.0],
-except jquery.js, which is distributed under the terms of [MIT] license.
-
-Highsoft products are NOT free for commercial or governmental use. In order
-to use or redistribute Highsoft products commercially, you should obtain an
-appropriate license here: http://www.highcharts.com/
-
-[CC-BY-NC-3.0]: https://creativecommons.org/licenses/by-nc/3.0/
-[MIT]: https://jquery.org/license/
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/chart.html b/orangecontrib/timeseries/widgets/highcharts/_highcharts/chart.html
deleted file mode 100644
index eaf7c5ba..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/chart.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
-<title></title>
-<style>
-    html, body, #container {
-        width: 100%%;
-        height: 100%%;
-        margin: 0;
-        padding: 0;
-        -webkit-user-select: none;
-        user-select: none;
-        overflow: hidden;
-    }
-    #container {
-        min-width: 100px;
-        min-height: 100px;
-    }
-    text, .highcharts-tooltip {
-        cursor: default !important;
-    }
-</style>
-</head>
-<body>
-<div id="container"></div>
-
-<script src="jquery.js"></script>
-<script src="highstock.js"></script>
-<script src="map.js"></script>
-<script src="highcharts-more.js"></script>
-<script src="no-data-to-display.js"></script>
-<script src="orange-theme.js"></script>
-<script src="orange-selection.js"></script>
-<script>
-    (function(){
-        %(javascript)s;
-        var options = %(options)s ;  /* formatted in Highchart class */
-        fixupPythonObject(options);
-        Highcharts.setOptions(options);
-        //window.chart = new Highcharts.Chart({});
-    })();
-</script>
-</body>
-</html>
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highcharts-more.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/highcharts-more.js
deleted file mode 100644
index 809c132d..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highcharts-more.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Highcharts JS v5.0.8 (2017-03-08)
-
- (c) 2009-2016 Torstein Honsi
-
- License: www.highcharts.com/license
-*/
-(function(w){"object"===typeof module&&module.exports?module.exports=w:w(Highcharts)})(function(w){(function(a){function p(a,b,d){this.init(a,b,d)}var u=a.each,v=a.extend,l=a.merge,r=a.splat;v(p.prototype,{init:function(a,b,d){var g=this,m=g.defaultOptions;g.chart=b;g.options=a=l(m,b.angular?{background:{}}:void 0,a);(a=a.background)&&u([].concat(r(a)).reverse(),function(b){var c,m=d.userOptions;c=l(g.defaultBackgroundOptions,b);b.backgroundColor&&(c.backgroundColor=b.backgroundColor);c.color=c.backgroundColor;
-d.options.plotBands.unshift(c);m.plotBands=m.plotBands||[];m.plotBands!==d.options.plotBands&&m.plotBands.unshift(c)})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{className:"highcharts-pane",shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}});a.Pane=p})(w);(function(a){var p=a.CenteredSeriesMixin,
-u=a.each,v=a.extend,l=a.map,r=a.merge,e=a.noop,b=a.Pane,d=a.pick,g=a.pInt,m=a.splat,n=a.wrap,c,k,h=a.Axis.prototype;a=a.Tick.prototype;c={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:e,setCategories:e,setTitle:e};k={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},
-defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(d){d=this.options=r(this.defaultOptions,this.defaultRadialOptions,d);d.plotBands||(d.plotBands=[])},getOffset:function(){h.getOffset.call(this);this.chart.axisOffset[this.side]=0;this.center=this.pane.center=
-p.getCenter.call(this.pane)},getLinePath:function(b,f){b=this.center;var c=this.chart,g=d(f,b[2]/2-this.offset);this.isCircular||void 0!==f?f=this.chart.renderer.symbols.arc(this.left+b[0],this.top+b[1],g,g,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(f=this.postTranslate(this.angleRad,g),f=["M",b[0]+c.plotLeft,b[1]+c.plotTop,"L",f.x,f.y]);return f},setAxisTranslation:function(){h.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/
-(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===d(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){h.setAxisSize.call(this);this.isRadial&&(this.center=this.pane.center=p.getCenter.call(this.pane),this.isCircular&&
-(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*d(this.sector,1)/2)},getPosition:function(b,f){return this.postTranslate(this.isCircular?this.translate(b):this.angleRad,d(this.isCircular?f:this.translate(b),this.center[2]/2)-this.offset)},postTranslate:function(b,f){var d=this.chart,c=this.center;b=this.startAngleRad+b;return{x:d.plotLeft+c[0]+Math.cos(b)*f,y:d.plotTop+c[1]+Math.sin(b)*f}},getPlotBandPath:function(b,f,c){var m=this.center,t=this.startAngleRad,
-h=m[2]/2,a=[d(c.outerRadius,"100%"),c.innerRadius,d(c.thickness,10)],q=Math.min(this.offset,0),k=/%$/,n,e=this.isCircular;"polygon"===this.options.gridLineInterpolation?m=this.getPlotLinePath(b).concat(this.getPlotLinePath(f,!0)):(b=Math.max(b,this.min),f=Math.min(f,this.max),e||(a[0]=this.translate(b),a[1]=this.translate(f)),a=l(a,function(b){k.test(b)&&(b=g(b,10)*h/100);return b}),"circle"!==c.shape&&e?(b=t+this.translate(b),f=t+this.translate(f)):(b=-Math.PI/2,f=1.5*Math.PI,n=!0),a[0]-=q,a[2]-=
-q,m=this.chart.renderer.symbols.arc(this.left+m[0],this.top+m[1],a[0],a[0],{start:Math.min(b,f),end:Math.max(b,f),innerR:d(a[1],a[0]-a[2]),open:n}));return m},getPlotLinePath:function(b,f){var d=this,c=d.center,g=d.chart,m=d.getPosition(b),a,h,k;d.isCircular?k=["M",c[0]+g.plotLeft,c[1]+g.plotTop,"L",m.x,m.y]:"circle"===d.options.gridLineInterpolation?(b=d.translate(b))&&(k=d.getLinePath(0,b)):(u(g.xAxis,function(b){b.pane===d.pane&&(a=b)}),k=[],b=d.translate(b),c=a.tickPositions,a.autoConnect&&(c=
-c.concat([c[0]])),f&&(c=[].concat(c).reverse()),u(c,function(d,c){h=a.getPosition(d,b);k.push(c?"L":"M",h.x,h.y)}));return k},getTitlePosition:function(){var b=this.center,d=this.chart,c=this.options.title;return{x:d.plotLeft+b[0]+(c.x||0),y:d.plotTop+b[1]-{high:.5,middle:.25,low:0}[c.align]*b[2]+(c.y||0)}}};n(h,"init",function(g,f,a){var h=f.angular,n=f.polar,t=a.isX,q=h&&t,e,y=f.options,l=a.pane||0;if(h){if(v(this,q?c:k),e=!t)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else n&&(v(this,
-k),this.defaultRadialOptions=(e=t)?this.defaultRadialXOptions:r(this.defaultYAxisOptions,this.defaultRadialYOptions));h||n?(this.isRadial=!0,f.inverted=!1,y.chart.zoomType=null):this.isRadial=!1;g.call(this,f,a);q||!h&&!n||(g=this.options,f.panes||(f.panes=[]),this.pane=f=f.panes[l]=f.panes[l]||new b(m(y.pane)[l],f,this),f=f.options,this.angleRad=(g.angle||0)*Math.PI/180,this.startAngleRad=(f.startAngle-90)*Math.PI/180,this.endAngleRad=(d(f.endAngle,f.startAngle+360)-90)*Math.PI/180,this.offset=g.offset||
-0,this.isCircular=e)});n(h,"autoLabelAlign",function(b){if(!this.isRadial)return b.apply(this,[].slice.call(arguments,1))});n(a,"getPosition",function(b,d,c,g,a){var f=this.axis;return f.getPosition?f.getPosition(c):b.call(this,d,c,g,a)});n(a,"getLabelPosition",function(b,c,g,a,m,h,k,n,e){var f=this.axis,t=h.y,q=20,z=h.align,y=(f.translate(this.pos)+f.startAngleRad+Math.PI/2)/Math.PI*180%360;f.isRadial?(b=f.getPosition(this.pos,f.center[2]/2+d(h.distance,-25)),"auto"===h.rotation?a.attr({rotation:y}):
-null===t&&(t=f.chart.renderer.fontMetrics(a.styles.fontSize).b-a.getBBox().height/2),null===z&&(f.isCircular?(this.label.getBBox().width>f.len*f.tickInterval/(f.max-f.min)&&(q=0),z=y>q&&y<180-q?"left":y>180+q&&y<360-q?"right":"center"):z="center",a.attr({align:z})),b.x+=h.x,b.y+=t):b=b.call(this,c,g,a,m,h,k,n,e);return b});n(a,"getMarkPath",function(b,c,d,g,a,m,h){var f=this.axis;f.isRadial?(b=f.getPosition(this.pos,f.center[2]/2+g),c=["M",c,d,"L",b.x,b.y]):c=b.call(this,c,d,g,a,m,h);return c})})(w);
-(function(a){var p=a.each,u=a.noop,v=a.pick,l=a.Series,r=a.seriesType,e=a.seriesTypes;r("arearange","area",{lineWidth:1,marker:null,threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{series.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0},states:{hover:{halo:!1}}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel",
-"dataLabelUpper"],toYData:function(b){return[b.low,b.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(b){var d=this.chart,g=this.xAxis.postTranslate(b.rectPlotX,this.yAxis.len-b.plotHigh);b.plotHighX=g.x-d.plotLeft;b.plotHigh=g.y-d.plotTop},translate:function(){var b=this,d=b.yAxis,g=!!b.modifyValue;e.area.prototype.translate.apply(b);p(b.points,function(a){var m=a.low,c=a.high,k=a.plotY;null===c||null===m?a.isNull=!0:(a.plotLow=k,a.plotHigh=d.translate(g?b.modifyValue(c,a):c,0,1,
-0,1),g&&(a.yBottom=a.plotHigh))});this.chart.polar&&p(this.points,function(d){b.highToXY(d)})},getGraphPath:function(b){var d=[],g=[],a,n=e.area.prototype.getGraphPath,c,k,h;h=this.options;var q=this.chart.polar&&!1!==h.connectEnds,f=h.step;b=b||this.points;for(a=b.length;a--;)c=b[a],c.isNull||q||b[a+1]&&!b[a+1].isNull||g.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1}),k={polarPlotY:c.polarPlotY,rectPlotX:c.rectPlotX,yBottom:c.yBottom,plotX:v(c.plotHighX,c.plotX),plotY:c.plotHigh,isNull:c.isNull},
-g.push(k),d.push(k),c.isNull||q||b[a-1]&&!b[a-1].isNull||g.push({plotX:c.plotX,plotY:c.plotY,doCurve:!1});b=n.call(this,b);f&&(!0===f&&(f="left"),h.step={left:"right",center:"center",right:"left"}[f]);d=n.call(this,d);g=n.call(this,g);h.step=f;h=[].concat(b,d);this.chart.polar||"M"!==g[0]||(g[0]="L");this.graphPath=h;this.areaPath=this.areaPath.concat(b,g);h.isArea=!0;h.xMap=b.xMap;this.areaPath.xMap=b.xMap;return h},drawDataLabels:function(){var b=this.data,d=b.length,a,m=[],n=l.prototype,c=this.options.dataLabels,
-k=c.align,h=c.verticalAlign,q=c.inside,f,t,e=this.chart.inverted;if(c.enabled||this._hasPointLabels){for(a=d;a--;)if(f=b[a])t=q?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.y=f.high,f._plotY=f.plotY,f.plotY=f.plotHigh,m[a]=f.dataLabel,f.dataLabel=f.dataLabelUpper,f.below=t,e?k||(c.align=t?"right":"left"):h||(c.verticalAlign=t?"top":"bottom"),c.x=c.xHigh,c.y=c.yHigh;n.drawDataLabels&&n.drawDataLabels.apply(this,arguments);for(a=d;a--;)if(f=b[a])t=q?f.plotHigh<f.plotLow:f.plotHigh>f.plotLow,f.dataLabelUpper=
-f.dataLabel,f.dataLabel=m[a],f.y=f.low,f.plotY=f._plotY,f.below=!t,e?k||(c.align=t?"left":"right"):h||(c.verticalAlign=t?"bottom":"top"),c.x=c.xLow,c.y=c.yLow;n.drawDataLabels&&n.drawDataLabels.apply(this,arguments)}c.align=k;c.verticalAlign=h},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},setStackedPoints:u,getSymbol:u,drawPoints:u})})(w);(function(a){var p=a.seriesType;p("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})})(w);
-(function(a){var p=a.defaultPlotOptions,u=a.each,v=a.merge,l=a.noop,r=a.pick,e=a.seriesType,b=a.seriesTypes.column.prototype;e("columnrange","arearange",v(p.column,p.arearange,{lineWidth:1,pointRange:null}),{translate:function(){var d=this,a=d.yAxis,m=d.xAxis,n=m.startAngleRad,c,k=d.chart,h=d.xAxis.isRadial,q;b.translate.apply(d);u(d.points,function(b){var f=b.shapeArgs,g=d.options.minPointLength,e,x;b.plotHigh=q=a.translate(b.high,0,1,0,1);b.plotLow=b.plotY;x=q;e=r(b.rectPlotY,b.plotY)-q;Math.abs(e)<
-g?(g-=e,e+=g,x-=g/2):0>e&&(e*=-1,x-=e);h?(c=b.barX+n,b.shapeType="path",b.shapeArgs={d:d.polarArc(x+e,x,c,c+b.pointWidth)}):(f.height=e,f.y=x,b.tooltipPos=k.inverted?[a.len+a.pos-k.plotLeft-x-e/2,m.len+m.pos-k.plotTop-f.x-f.width/2,e]:[m.left-k.plotLeft+f.x+f.width/2,a.pos-k.plotTop+x+e/2,e])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:l,crispCol:b.crispCol,drawPoints:b.drawPoints,drawTracker:b.drawTracker,getColumnMetrics:b.getColumnMetrics,animate:function(){return b.animate.apply(this,
-arguments)},polarArc:function(){return b.polarArc.apply(this,arguments)},pointAttribs:b.pointAttribs})})(w);(function(a){var p=a.each,u=a.isNumber,v=a.merge,l=a.pick,r=a.pInt,e=a.Series,b=a.seriesType,d=a.TrackerMixin;b("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2,borderWidth:1,borderColor:"#cccccc"},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:a.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,
-trackerGroups:["group","dataLabelsGroup"],translate:function(){var b=this.yAxis,d=this.options,a=b.center;this.generatePoints();p(this.points,function(c){var g=v(d.dial,c.dial),h=r(l(g.radius,80))*a[2]/200,m=r(l(g.baseLength,70))*h/100,f=r(l(g.rearLength,10))*h/100,n=g.baseWidth||3,e=g.topWidth||1,p=d.overshoot,x=b.startAngleRad+b.translate(c.y,null,null,null,!0);u(p)?(p=p/180*Math.PI,x=Math.max(b.startAngleRad-p,Math.min(b.endAngleRad+p,x))):!1===d.wrap&&(x=Math.max(b.startAngleRad,Math.min(b.endAngleRad,
-x)));x=180*x/Math.PI;c.shapeType="path";c.shapeArgs={d:g.path||["M",-f,-n/2,"L",m,-n/2,h,-e/2,h,e/2,m,n/2,-f,n/2,"z"],translateX:a[0],translateY:a[1],rotation:x};c.plotX=a[0];c.plotY=a[1]})},drawPoints:function(){var b=this,a=b.yAxis.center,d=b.pivot,c=b.options,k=c.pivot,h=b.chart.renderer;p(b.points,function(a){var d=a.graphic,g=a.shapeArgs,k=g.d,m=v(c.dial,a.dial);d?(d.animate(g),g.d=k):(a.graphic=h[a.shapeType](g).attr({rotation:g.rotation,zIndex:1}).addClass("highcharts-dial").add(b.group),a.graphic.attr({stroke:m.borderColor||
-"none","stroke-width":m.borderWidth||0,fill:m.backgroundColor||"#000000"}))});d?d.animate({translateX:a[0],translateY:a[1]}):(b.pivot=h.circle(0,0,l(k.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(a[0],a[1]).add(b.group),b.pivot.attr({"stroke-width":k.borderWidth||0,stroke:k.borderColor||"#cccccc",fill:k.backgroundColor||"#000000"}))},animate:function(b){var a=this;b||(p(a.points,function(b){var d=b.graphic;d&&(d.attr({rotation:180*a.yAxis.startAngleRad/Math.PI}),d.animate({rotation:b.shapeArgs.rotation},
-a.options.animation))}),a.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);e.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(b,a){e.prototype.setData.call(this,b,!1);this.processData();this.generatePoints();l(a,!0)&&this.chart.redraw()},drawTracker:d&&d.drawTrackerPoint},{setState:function(b){this.state=b}})})(w);(function(a){var p=a.each,u=a.noop,v=a.pick,l=a.seriesType,
-r=a.seriesTypes;l("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,states:{hover:{brightness:-.3}},whiskerWidth:2},{pointArrayMap:["low","q1","median",
-"q3","high"],toYData:function(a){return[a.low,a.q1,a.median,a.q3,a.high]},pointValKey:"high",pointAttribs:function(a){var b=this.options,d=a&&a.color||this.color;return{fill:a.fillColor||b.fillColor||d,stroke:b.lineColor||d,"stroke-width":b.lineWidth||0}},drawDataLabels:u,translate:function(){var a=this.yAxis,b=this.pointArrayMap;r.column.prototype.translate.apply(this);p(this.points,function(d){p(b,function(b){null!==d[b]&&(d[b+"Plot"]=a.translate(d[b],0,1,0,1))})})},drawPoints:function(){var a=
-this,b=a.options,d=a.chart.renderer,g,m,n,c,k,h,q=0,f,t,l,r,x=!1!==a.doQuartiles,u,A=a.options.whiskerLength;p(a.points,function(e){var p=e.graphic,z=p?"animate":"attr",y=e.shapeArgs,w={},C={},H={},I=e.color||a.color;void 0!==e.plotY&&(f=y.width,t=Math.floor(y.x),l=t+f,r=Math.round(f/2),g=Math.floor(x?e.q1Plot:e.lowPlot),m=Math.floor(x?e.q3Plot:e.lowPlot),n=Math.floor(e.highPlot),c=Math.floor(e.lowPlot),p||(e.graphic=p=d.g("point").add(a.group),e.stem=d.path().addClass("highcharts-boxplot-stem").add(p),
-A&&(e.whiskers=d.path().addClass("highcharts-boxplot-whisker").add(p)),x&&(e.box=d.path(void 0).addClass("highcharts-boxplot-box").add(p)),e.medianShape=d.path(void 0).addClass("highcharts-boxplot-median").add(p),w.stroke=e.stemColor||b.stemColor||I,w["stroke-width"]=v(e.stemWidth,b.stemWidth,b.lineWidth),w.dashstyle=e.stemDashStyle||b.stemDashStyle,e.stem.attr(w),A&&(C.stroke=e.whiskerColor||b.whiskerColor||I,C["stroke-width"]=v(e.whiskerWidth,b.whiskerWidth,b.lineWidth),e.whiskers.attr(C)),x&&(p=
-a.pointAttribs(e),e.box.attr(p)),H.stroke=e.medianColor||b.medianColor||I,H["stroke-width"]=v(e.medianWidth,b.medianWidth,b.lineWidth),e.medianShape.attr(H)),h=e.stem.strokeWidth()%2/2,q=t+r+h,e.stem[z]({d:["M",q,m,"L",q,n,"M",q,g,"L",q,c]}),x&&(h=e.box.strokeWidth()%2/2,g=Math.floor(g)+h,m=Math.floor(m)+h,t+=h,l+=h,e.box[z]({d:["M",t,m,"L",t,g,"L",l,g,"L",l,m,"L",t,m,"z"]})),A&&(h=e.whiskers.strokeWidth()%2/2,n+=h,c+=h,u=/%$/.test(A)?r*parseFloat(A)/100:A/2,e.whiskers[z]({d:["M",q-u,n,"L",q+u,n,
-"M",q-u,c,"L",q+u,c]})),k=Math.round(e.medianPlot),h=e.medianShape.strokeWidth()%2/2,k+=h,e.medianShape[z]({d:["M",t,k,"L",l,k]}))})},setStackedPoints:u})})(w);(function(a){var p=a.each,u=a.noop,v=a.seriesType,l=a.seriesTypes;v("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar",
-pointArrayMap:["low","high"],toYData:function(a){return[a.low,a.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:l.arearange?function(){var a=this.pointValKey;l.arearange.prototype.drawDataLabels.call(this);p(this.data,function(e){e.y=e[a]})}:u,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||l.column.prototype.getColumnMetrics.call(this)}})})(w);(function(a){var p=a.correctFloat,u=a.isNumber,v=a.pick,l=a.Point,r=a.Series,e=a.seriesType,b=a.seriesTypes;
-e("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",translate:function(){var a=this.options,g=this.yAxis,m,e,c,k,h,q,f,t,l,r=v(a.minPointLength,5),x=r/2,u=a.threshold,w=a.stacking,y;b.column.prototype.translate.apply(this);f=t=u;e=this.points;m=0;for(a=e.length;m<a;m++)c=e[m],q=this.processedYData[m],k=c.shapeArgs,h=w&&g.stacks[(this.negStacks&&q<u?"-":"")+this.stackKey],y=this.getStackIndicator(y,
-c.x),l=h?h[c.x].points[this.index+","+m+","+y.index]:[0,q],c.isSum?c.y=p(q):c.isIntermediateSum&&(c.y=p(q-t)),h=Math.max(f,f+c.y)+l[0],k.y=g.toPixels(h,!0),c.isSum?(k.y=g.toPixels(l[1],!0),k.height=Math.min(g.toPixels(l[0],!0),g.len)-k.y):c.isIntermediateSum?(k.y=g.toPixels(l[1],!0),k.height=Math.min(g.toPixels(t,!0),g.len)-k.y,t=l[1]):(k.height=0<q?g.toPixels(f,!0)-k.y:g.toPixels(f,!0)-g.toPixels(f-q,!0),f+=q),0>k.height&&(k.y+=k.height,k.height*=-1),c.plotY=k.y=Math.round(k.y)-this.borderWidth%
-2/2,k.height=Math.max(Math.round(k.height),.001),c.yBottom=k.y+k.height,k.height<=r&&!c.isNull?(k.height=r,k.y-=x,c.plotY=k.y,c.minPointLengthOffset=0>c.y?-x:x):c.minPointLengthOffset=0,k=c.plotY+(c.negative?k.height:0),this.chart.inverted?c.tooltipPos[0]=g.len-k:c.tooltipPos[1]=k},processData:function(b){var a=this.yData,d=this.options.data,e,c=a.length,k,h,q,f,t,l;h=k=q=f=this.options.threshold||0;for(l=0;l<c;l++)t=a[l],e=d&&d[l]?d[l]:{},"sum"===t||e.isSum?a[l]=p(h):"intermediateSum"===t||e.isIntermediateSum?
-a[l]=p(k):(h+=t,k+=t),q=Math.min(h,q),f=Math.max(h,f);r.prototype.processData.call(this,b);this.dataMin=q;this.dataMax=f},toYData:function(b){return b.isSum?0===b.x?null:"sum":b.isIntermediateSum?0===b.x?null:"intermediateSum":b.y},pointAttribs:function(a,g){var d=this.options.upColor;d&&!a.options.color&&(a.color=0<a.y?d:null);a=b.column.prototype.pointAttribs.call(this,a,g);delete a.dashstyle;return a},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var b=this.data,a=b.length,e=
-this.graph.strokeWidth()+this.borderWidth,e=Math.round(e)%2/2,n=[],c,k,h;for(h=1;h<a;h++)k=b[h].shapeArgs,c=b[h-1].shapeArgs,k=["M",c.x+c.width,c.y+b[h-1].minPointLengthOffset+e,"L",k.x,c.y+b[h-1].minPointLengthOffset+e],0>b[h-1].y&&(k[2]+=c.height,k[5]+=c.height),n=n.concat(k);return n},drawGraph:function(){r.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},getExtremes:a.noop},{getClassName:function(){var b=l.prototype.getClassName.call(this);this.isSum?b+=" highcharts-sum":
-this.isIntermediateSum&&(b+=" highcharts-intermediate-sum");return b},isValid:function(){return u(this.y,!0)||this.isSum||this.isIntermediateSum}})})(w);(function(a){var p=a.Series,u=a.seriesType,v=a.seriesTypes;u("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var a=p.prototype.getGraphPath.call(this),r=a.length+1;r--;)(r===a.length||"M"===a[r])&&0<r&&a.splice(r,
-0,"z");return this.areaPath=a},drawGraph:function(){this.options.fillColor=this.color;v.area.prototype.drawGraph.call(this)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawTracker:p.prototype.drawTracker,setStackedPoints:a.noop})})(w);(function(a){var p=a.arrayMax,u=a.arrayMin,v=a.Axis,l=a.color,r=a.each,e=a.isNumber,b=a.noop,d=a.pick,g=a.pInt,m=a.Point,n=a.Series,c=a.seriesType,k=a.seriesTypes;c("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},
-marker:{lineColor:null,lineWidth:1,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["markerGroup","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",pointAttribs:function(b,a){var c=d(this.options.marker.fillOpacity,.5);b=n.prototype.pointAttribs.call(this,
-b,a);1!==c&&(b.fill=l(b.fill).setOpacity(c).get("rgba"));return b},getRadii:function(b,a,c,d){var f,g,h,k=this.zData,e=[],m=this.options,n="width"!==m.sizeBy,t=m.zThreshold,q=a-b;g=0;for(f=k.length;g<f;g++)h=k[g],m.sizeByAbsoluteValue&&null!==h&&(h=Math.abs(h-t),a=Math.max(a-t,Math.abs(b-t)),b=0),null===h?h=null:h<b?h=c/2-1:(h=0<q?(h-b)/q:.5,n&&0<=h&&(h=Math.sqrt(h)),h=Math.ceil(c+h*(d-c))/2),e.push(h);this.radii=e},animate:function(b){var a=this.options.animation;b||(r(this.points,function(b){var c=
-b.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:b.plotX,y:b.plotY,width:1,height:1}),c.animate(d,a))}),this.animate=null)},translate:function(){var b,c=this.data,d,g,m=this.radii;k.scatter.prototype.translate.call(this);for(b=c.length;b--;)d=c[b],g=m?m[b]:0,e(g)&&g>=this.minPxSize/2?(d.marker=a.extend(d.marker,{radius:g,width:2*g,height:2*g}),d.dlBox={x:d.plotX-g,y:d.plotY-g,width:2*g,height:2*g}):d.shapeArgs=d.plotY=d.dlBox=void 0},alignDataLabel:k.column.prototype.alignDataLabel,
-buildKDTree:b,applyZones:b},{haloPath:function(b){return m.prototype.haloPath.call(this,0===b?0:(this.marker?this.marker.radius||0:0)+b)},ttBelow:!1});v.prototype.beforePadding=function(){var b=this,a=this.len,c=this.chart,k=0,m=a,n=this.isXAxis,l=n?"xData":"yData",v=this.min,w={},y=Math.min(c.plotWidth,c.plotHeight),D=Number.MAX_VALUE,E=-Number.MAX_VALUE,F=this.max-v,B=a/F,G=[];r(this.series,function(a){var f=a.options;!a.bubblePadding||!a.visible&&c.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=
-!0,G.push(a),n&&(r(["minSize","maxSize"],function(b){var a=f[b],c=/%$/.test(a),a=g(a);w[b]=c?y*a/100:a}),a.minPxSize=w.minSize,a.maxPxSize=Math.max(w.maxSize,w.minSize),a=a.zData,a.length&&(D=d(f.zMin,Math.min(D,Math.max(u(a),!1===f.displayNegative?f.zThreshold:-Number.MAX_VALUE))),E=d(f.zMax,Math.max(E,p(a))))))});r(G,function(a){var c=a[l],d=c.length,g;n&&a.getRadii(D,E,a.minPxSize,a.maxPxSize);if(0<F)for(;d--;)e(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(g=a.radii[d],k=Math.min((c[d]-v)*B-g,k),
-m=Math.max((c[d]-v)*B+g,m))});G.length&&0<F&&!this.isLog&&(m-=a,B*=(a+k-m)/a,r([["min","userMin",k],["max","userMax",m]],function(a){void 0===d(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/B)}))}})(w);(function(a){function p(b,a){var d=this.chart,e=this.options.animation,n=this.group,c=this.markerGroup,k=this.xAxis.center,h=d.plotLeft,l=d.plotTop;d.polar?d.renderer.isSVG&&(!0===e&&(e={}),a?(b={translateX:k[0]+h,translateY:k[1]+l,scaleX:.001,scaleY:.001},n.attr(b),c&&c.attr(b)):(b={translateX:h,translateY:l,
-scaleX:1,scaleY:1},n.animate(b,e),c&&c.animate(b,e),this.animate=null)):b.call(this,a)}var u=a.each,v=a.pick,l=a.seriesTypes,r=a.wrap,e=a.Series.prototype;a=a.Pointer.prototype;e.searchPointByAngle=function(b){var a=this.chart,g=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(b.chartX-g[0]-a.plotLeft,b.chartY-g[1]-a.plotTop)})};r(e,"buildKDTree",function(b){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.kdDimensions=2);b.apply(this)});
-e.toXY=function(b){var a,g=this.chart,e=b.plotX;a=b.plotY;b.rectPlotX=e;b.rectPlotY=a;a=this.xAxis.postTranslate(b.plotX,this.yAxis.len-a);b.plotX=b.polarPlotX=a.x-g.plotLeft;b.plotY=b.polarPlotY=a.y-g.plotTop;this.kdByAngle?(g=(e/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>g&&(g+=360),b.clientX=g):b.clientX=b.plotX};l.spline&&r(l.spline.prototype,"getPointSpline",function(a,d,g,e){var b,c,k,h,m,f,l;this.chart.polar?(b=g.plotX,c=g.plotY,a=d[e-1],k=d[e+1],this.connectEnds&&(a||(a=d[d.length-
-2]),k||(k=d[1])),a&&k&&(h=a.plotX,m=a.plotY,d=k.plotX,f=k.plotY,h=(1.5*b+h)/2.5,m=(1.5*c+m)/2.5,k=(1.5*b+d)/2.5,l=(1.5*c+f)/2.5,d=Math.sqrt(Math.pow(h-b,2)+Math.pow(m-c,2)),f=Math.sqrt(Math.pow(k-b,2)+Math.pow(l-c,2)),h=Math.atan2(m-c,h-b),m=Math.atan2(l-c,k-b),l=Math.PI/2+(h+m)/2,Math.abs(h-l)>Math.PI/2&&(l-=Math.PI),h=b+Math.cos(l)*d,m=c+Math.sin(l)*d,k=b+Math.cos(Math.PI+l)*f,l=c+Math.sin(Math.PI+l)*f,g.rightContX=k,g.rightContY=l),e?(g=["C",a.rightContX||a.plotX,a.rightContY||a.plotY,h||b,m||
-c,b,c],a.rightContX=a.rightContY=null):g=["M",b,c]):g=a.call(this,d,g,e);return g});r(e,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});r(e,"getGraphPath",function(a,d){var b=this,e,n;if(this.chart.polar){d=d||this.points;for(e=0;e<d.length;e++)if(!d[e].isNull){n=e;break}!1!==this.options.connectEnds&&void 0!==n&&(this.connectEnds=!0,d.splice(d.length,0,d[n]));
-u(d,function(a){void 0===a.polarPlotY&&b.toXY(a)})}return a.apply(this,[].slice.call(arguments,1))});r(e,"animate",p);l.column&&(l=l.column.prototype,l.polarArc=function(a,d,g,e){var b=this.xAxis.center,c=this.yAxis.len;return this.chart.renderer.symbols.arc(b[0],b[1],c-d,null,{start:g,end:e,innerR:c-v(a,c)})},r(l,"animate",p),r(l,"translate",function(a){var b=this.xAxis,g=b.startAngleRad,e,l,c;this.preventPostTranslate=!0;a.call(this);if(b.isRadial)for(e=this.points,c=e.length;c--;)l=e[c],a=l.barX+
-g,l.shapeType="path",l.shapeArgs={d:this.polarArc(l.yBottom,l.plotY,a,a+l.pointWidth)},this.toXY(l),l.tooltipPos=[l.plotX,l.plotY],l.ttBelow=l.plotY>b.center[1]}),r(l,"alignDataLabel",function(a,d,g,l,n,c){this.chart.polar?(a=d.rectPlotX/Math.PI*180,null===l.align&&(l.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===l.verticalAlign&&(l.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),e.alignDataLabel.call(this,d,g,l,n,c)):a.call(this,d,g,l,n,c)}));r(a,"getCoordinates",
-function(a,d){var b=this.chart,e={xAxis:[],yAxis:[]};b.polar?u(b.axes,function(a){var c=a.isXAxis,g=a.center,h=d.chartX-g[0]-b.plotLeft,g=d.chartY-g[1]-b.plotTop;e[c?"xAxis":"yAxis"].push({axis:a,value:a.translate(c?Math.PI-Math.atan2(h,g):Math.sqrt(Math.pow(h,2)+Math.pow(g,2)),!0)})}):e=a.call(this,d);return e})})(w)});
\ No newline at end of file
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highmaps.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/highmaps.js
deleted file mode 100644
index 911b6ddd..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highmaps.js
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- Highmaps JS v5.0.8 (2017-03-08)
-
- (c) 2011-2016 Torstein Honsi
-
- License: www.highcharts.com/license
-*/
-(function(J,a){"object"===typeof module&&module.exports?module.exports=J.document?a(J):a:J.Highcharts=a(J)})("undefined"!==typeof window?window:this,function(J){J=function(){var a=window,y=a.document,E=a.navigator&&a.navigator.userAgent||"",A=y&&y.createElementNS&&!!y.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,B=/(edge|msie|trident)/i.test(E)&&!window.opera,h=!A,g=/Firefox/.test(E),t=g&&4>parseInt(E.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",
-version:"5.0.8",deg2rad:2*Math.PI/360,doc:y,hasBidiBug:t,hasTouch:y&&void 0!==y.documentElement.ontouchstart,isMS:B,isWebKit:/AppleWebKit/.test(E),isFirefox:g,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(E),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:A,vml:h,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var y=[],E=a.charts,A=a.doc,B=a.win;a.error=function(h,g){h=a.isNumber(h)?"Highcharts error #"+
-h+": www.highcharts.com/errors/"+h:h;if(g)throw Error(h);B.console&&console.log(h)};a.Fx=function(a,g,t){this.options=g;this.elem=a;this.prop=t};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],t=[],r=this.now,l=a.length,f;if(1===r)t=this.toD;else if(l===g.length&&1>r)for(;l--;)f=parseFloat(a[l]),t[l]=isNaN(f)?a[l]:r*parseFloat(g[l]-f)+f;else t=g;this.elem.attr("d",t,null,!0)},update:function(){var a=this.elem,g=this.prop,t=this.now,r=this.options.step;if(this[g+"Setter"])this[g+
-"Setter"]();else a.attr?a.element&&a.attr(g,t,null,!0):a.style[g]=t+this.unit;r&&r.call(a,t,this)},run:function(a,g,t){var h=this,l=function(a){return l.stopped?!1:h.step(a)},f;this.startTime=+new Date;this.start=a;this.end=g;this.unit=t;this.now=this.start;this.pos=0;l.elem=this.elem;l.prop=this.prop;l()&&1===y.push(l)&&(l.timerId=setInterval(function(){for(f=0;f<y.length;f++)y[f]()||y.splice(f--,1);y.length||clearInterval(l.timerId)},13))},step:function(a){var h=+new Date,t,r=this.options;t=this.elem;
-var l=r.complete,f=r.duration,e=r.curAnim,n;if(t.attr&&!t.element)t=!1;else if(a||h>=f+this.startTime){this.now=this.end;this.pos=1;this.update();a=e[this.prop]=!0;for(n in e)!0!==e[n]&&(a=!1);a&&l&&l.call(t);t=!1}else this.pos=r.easing((h-this.startTime)/f),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0;return t},initPath:function(h,g,t){function r(a){var b,c;for(d=a.length;d--;)b="M"===a[d]||"L"===a[d],c=/[a-zA-Z]/.test(a[d+3]),b&&c&&a.splice(d+1,0,a[d+1],a[d+2],a[d+1],a[d+
-2])}function l(a,c){for(;a.length<m;){a[0]=c[m-a.length];var q=a.slice(0,b);[].splice.apply(a,[0,0].concat(q));D&&(q=a.slice(a.length-b),[].splice.apply(a,[a.length,0].concat(q)),d--)}a[0]="M"}function f(a,d){for(var q=(m-a.length)/b;0<q&&q--;)c=a.slice().splice(a.length/u-b,b*u),c[0]=d[m-b-q*b],v&&(c[b-6]=c[b-2],c[b-5]=c[b-1]),[].splice.apply(a,[a.length/u,0].concat(c)),D&&q--}g=g||"";var e,n=h.startX,z=h.endX,v=-1<g.indexOf("C"),b=v?7:3,m,c,d;g=g.split(" ");t=t.slice();var D=h.isArea,u=D?2:1,q;
-v&&(r(g),r(t));if(n&&z){for(d=0;d<n.length;d++)if(n[d]===z[0]){e=d;break}else if(n[0]===z[z.length-n.length+d]){e=d;q=!0;break}void 0===e&&(g=[])}g.length&&a.isNumber(e)&&(m=t.length+e*u*b,q?(l(g,t),f(t,g)):(l(t,g),f(g,t)));return[g,t]}};a.extend=function(a,g){var h;a||(a={});for(h in g)a[h]=g[h];return a};a.merge=function(){var h,g=arguments,t,r={},l=function(f,e){var n,h;"object"!==typeof f&&(f={});for(h in e)e.hasOwnProperty(h)&&(n=e[h],a.isObject(n,!0)&&"renderTo"!==h&&"number"!==typeof n.nodeType?
-f[h]=l(f[h]||{},n):f[h]=e[h]);return f};!0===g[0]&&(r=g[1],g=Array.prototype.slice.call(g,2));t=g.length;for(h=0;h<t;h++)r=l(r,g[h]);return r};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(h,g){return h&&"object"===typeof h&&(!g||!a.isArray(h))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=
-function(a,g){for(var h=a.length;h--;)if(a[h]===g){a.splice(h,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(h,g,t){var r,l;if(a.isString(g))a.defined(t)?h.setAttribute(g,t):h&&h.getAttribute&&(l=h.getAttribute(g));else if(a.defined(g)&&a.isObject(g))for(r in g)h.setAttribute(r,g[r]);return l};a.splat=function(h){return a.isArray(h)?h:[h]};a.syncTimeout=function(a,g,t){if(g)return setTimeout(a,g,t);a.call(0,t)};a.pick=function(){var a=arguments,g,t,r=a.length;for(g=
-0;g<r;g++)if(t=a[g],void 0!==t&&null!==t)return t};a.css=function(h,g){a.isMS&&!a.svg&&g&&void 0!==g.opacity&&(g.filter="alpha(opacity\x3d"+100*g.opacity+")");a.extend(h.style,g)};a.createElement=function(h,g,t,r,l){h=A.createElement(h);var f=a.css;g&&a.extend(h,g);l&&f(h,{padding:0,border:"none",margin:0});t&&f(h,t);r&&r.appendChild(h);return h};a.extendClass=function(h,g){var t=function(){};t.prototype=new h;a.extend(t.prototype,g);return t};a.pad=function(a,g,t){return Array((g||2)+1-String(a).length).join(t||
-0)+a};a.relativeLength=function(a,g){return/%$/.test(a)?g*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,g,t){var h=a[g];a[g]=function(){var a=Array.prototype.slice.call(arguments),f=arguments,e=this;e.proceed=function(){h.apply(e,arguments.length?arguments:f)};a.unshift(h);a=t.apply(this,a);e.proceed=null;return a}};a.getTZOffset=function(h){var g=a.Date;return 6E4*(g.hcGetTimezoneOffset&&g.hcGetTimezoneOffset(h)||g.hcTimezoneOffset||0)};a.dateFormat=function(h,g,t){if(!a.defined(g)||isNaN(g))return a.defaultOptions.lang.invalidDate||
-"";h=a.pick(h,"%Y-%m-%d %H:%M:%S");var r=a.Date,l=new r(g-a.getTZOffset(g)),f,e=l[r.hcGetHours](),n=l[r.hcGetDay](),z=l[r.hcGetDate](),v=l[r.hcGetMonth](),b=l[r.hcGetFullYear](),m=a.defaultOptions.lang,c=m.weekdays,d=m.shortWeekdays,D=a.pad,r=a.extend({a:d?d[n]:c[n].substr(0,3),A:c[n],d:D(z),e:D(z,2," "),w:n,b:m.shortMonths[v],B:m.months[v],m:D(v+1),y:b.toString().substr(2,2),Y:b,H:D(e),k:e,I:D(e%12||12),l:e%12||12,M:D(l[r.hcGetMinutes]()),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:D(l.getSeconds()),L:D(Math.round(g%
-1E3),3)},a.dateFormats);for(f in r)for(;-1!==h.indexOf("%"+f);)h=h.replace("%"+f,"function"===typeof r[f]?r[f](g):r[f]);return t?h.substr(0,1).toUpperCase()+h.substr(1):h};a.formatSingle=function(h,g){var t=/\.([0-9])/,r=a.defaultOptions.lang;/f$/.test(h)?(t=(t=h.match(t))?t[1]:-1,null!==g&&(g=a.numberFormat(g,t,r.decimalPoint,-1<h.indexOf(",")?r.thousandsSep:""))):g=a.dateFormat(h,g);return g};a.format=function(h,g){for(var t="{",r=!1,l,f,e,n,z=[],v;h;){t=h.indexOf(t);if(-1===t)break;l=h.slice(0,
-t);if(r){l=l.split(":");f=l.shift().split(".");n=f.length;v=g;for(e=0;e<n;e++)v=v[f[e]];l.length&&(v=a.formatSingle(l.join(":"),v));z.push(v)}else z.push(l);h=h.slice(t+1);t=(r=!r)?"}":"{"}z.push(h);return z.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(h,g,t,r,l){var f,e=h;t=a.pick(t,1);f=h/t;g||(g=l?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(1===t?g=a.grep(g,function(a){return 0===a%1}):.1>=t&&(g=[1/t])));
-for(r=0;r<g.length&&!(e=g[r],l&&e*t>=h||!l&&f<=(g[r]+(g[r+1]||g[r]))/2);r++);return e=a.correctFloat(e*t,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var h=a.length,r,l;for(l=0;l<h;l++)a[l].safeI=l;a.sort(function(a,e){r=g(a,e);return 0===r?a.safeI-e.safeI:r});for(l=0;l<h;l++)delete a[l].safeI};a.arrayMin=function(a){for(var g=a.length,h=a[0];g--;)a[g]<h&&(h=a[g]);return h};a.arrayMax=function(a){for(var g=a.length,h=a[0];g--;)a[g]>h&&(h=a[g]);return h};a.destroyObjectProperties=
-function(a,g){for(var h in a)a[h]&&a[h]!==g&&a[h].destroy&&a[h].destroy(),delete a[h]};a.discardElement=function(h){var g=a.garbageBin;g||(g=a.createElement("div"));h&&g.appendChild(h);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=function(h,g){g.renderer.globalAnimation=a.pick(h,g.options.chart.animation,!0)};a.animObject=function(h){return a.isObject(h)?a.merge(h):{duration:h?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,
-day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(h,g,t,r){h=+h||0;g=+g;var l=a.defaultOptions.lang,f=(h.toString().split(".")[1]||"").length,e,n;-1===g?g=Math.min(f,20):a.isNumber(g)||(g=2);n=(Math.abs(h)+Math.pow(10,-Math.max(g,f)-1)).toFixed(g);f=String(a.pInt(n));e=3<f.length?f.length%3:0;t=a.pick(t,l.decimalPoint);r=a.pick(r,l.thousandsSep);h=(0>h?"-":"")+(e?f.substr(0,e)+r:"");h+=f.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+r);g&&(h+=t+n.slice(-g));return h};Math.easeInOutSine=
-function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(h,g){return"width"===g?Math.min(h.offsetWidth,h.scrollWidth)-a.getStyle(h,"padding-left")-a.getStyle(h,"padding-right"):"height"===g?Math.min(h.offsetHeight,h.scrollHeight)-a.getStyle(h,"padding-top")-a.getStyle(h,"padding-bottom"):(h=B.getComputedStyle(h,void 0))&&a.pInt(h.getPropertyValue(g))};a.inArray=function(a,g){return g.indexOf?g.indexOf(a):[].indexOf.call(g,a)};a.grep=function(a,g){return[].filter.call(a,g)};a.find=function(a,
-g){return[].find.call(a,g)};a.map=function(a,g){for(var h=[],r=0,l=a.length;r<l;r++)h[r]=g.call(a[r],a[r],r,a);return h};a.offset=function(a){var g=A.documentElement;a=a.getBoundingClientRect();return{top:a.top+(B.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(B.pageXOffset||g.scrollLeft)-(g.clientLeft||0)}};a.stop=function(a,g){for(var h=y.length;h--;)y[h].elem!==a||g&&g!==y[h].prop||(y[h].stopped=!0)};a.each=function(a,g,t){return Array.prototype.forEach.call(a,g,t)};a.addEvent=function(h,
-g,t){function r(a){a.target=a.srcElement||B;t.call(h,a)}var l=h.hcEvents=h.hcEvents||{};h.addEventListener?h.addEventListener(g,t,!1):h.attachEvent&&(h.hcEventsIE||(h.hcEventsIE={}),h.hcEventsIE[t.toString()]=r,h.attachEvent("on"+g,r));l[g]||(l[g]=[]);l[g].push(t);return function(){a.removeEvent(h,g,t)}};a.removeEvent=function(h,g,t){function r(a,f){h.removeEventListener?h.removeEventListener(a,f,!1):h.attachEvent&&(f=h.hcEventsIE[f.toString()],h.detachEvent("on"+a,f))}function l(){var a,f;if(h.nodeName)for(f in g?
-(a={},a[g]=!0):a=e,a)if(e[f])for(a=e[f].length;a--;)r(f,e[f][a])}var f,e=h.hcEvents,n;e&&(g?(f=e[g]||[],t?(n=a.inArray(t,f),-1<n&&(f.splice(n,1),e[g]=f),r(g,t)):(l(),e[g]=[])):(l(),h.hcEvents={}))};a.fireEvent=function(h,g,t,r){var l;l=h.hcEvents;var f,e;t=t||{};if(A.createEvent&&(h.dispatchEvent||h.fireEvent))l=A.createEvent("Events"),l.initEvent(g,!0,!0),a.extend(l,t),h.dispatchEvent?h.dispatchEvent(l):h.fireEvent(g,l);else if(l)for(l=l[g]||[],f=l.length,t.target||a.extend(t,{preventDefault:function(){t.defaultPrevented=
-!0},target:h,type:g}),g=0;g<f;g++)(e=l[g])&&!1===e.call(h,t)&&t.preventDefault();r&&!t.defaultPrevented&&r(t)};a.animate=function(h,g,t){var r,l="",f,e,n;a.isObject(t)||(r=arguments,t={duration:r[2],easing:r[3],complete:r[4]});a.isNumber(t.duration)||(t.duration=400);t.easing="function"===typeof t.easing?t.easing:Math[t.easing]||Math.easeInOutSine;t.curAnim=a.merge(g);for(n in g)a.stop(h,n),e=new a.Fx(h,t,n),f=null,"d"===n?(e.paths=e.initPath(h,h.d,g.d),e.toD=g.d,r=0,f=1):h.attr?r=h.attr(n):(r=parseFloat(a.getStyle(h,
-n))||0,"opacity"!==n&&(l="px")),f||(f=g[n]),f&&f.match&&f.match("px")&&(f=f.replace(/px/g,"")),e.run(r,f,l)};a.seriesType=function(h,g,t,r,l){var f=a.getOptions(),e=a.seriesTypes;f.plotOptions[h]=a.merge(f.plotOptions[g],t);e[h]=a.extendClass(e[g]||function(){},r);e[h].prototype.type=h;l&&(e[h].prototype.pointClass=a.extendClass(a.Point,l));return e[h]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();B.jQuery&&(B.jQuery.fn.highcharts=
-function(){var h=[].slice.call(arguments);if(this[0])return h[0]?(new (a[a.isString(h[0])?h.shift():"Chart"])(this[0],h[0],h[1]),this):E[a.attr(this[0],"data-highcharts-chart")]});A&&!A.defaultView&&(a.getStyle=function(h,g){var t={width:"clientWidth",height:"clientHeight"}[g];if(h.style[g])return a.pInt(h.style[g]);"opacity"===g&&(g="filter");if(t)return h.style.zoom=1,Math.max(h[t]-2*a.getStyle(h,"padding"),0);h=h.currentStyle[g.replace(/\-(\w)/g,function(a,l){return l.toUpperCase()})];"filter"===
-g&&(h=h.replace(/alpha\(opacity=([0-9]+)\)/,function(a,l){return l/100}));return""===h?1:a.pInt(h)});Array.prototype.forEach||(a.each=function(a,g,t){for(var h=0,l=a.length;h<l;h++)if(!1===g.call(t,a[h],h,a))return h});Array.prototype.indexOf||(a.inArray=function(a,g){var h,r=0;if(g)for(h=g.length;r<h;r++)if(g[r]===a)return r;return-1});Array.prototype.filter||(a.grep=function(a,g){for(var h=[],r=0,l=a.length;r<l;r++)g(a[r],r)&&h.push(a[r]);return h});Array.prototype.find||(a.find=function(a,g){var h,
-r=a.length;for(h=0;h<r;h++)if(g(a[h],h))return a[h]})})(J);(function(a){var y=a.each,E=a.isNumber,A=a.map,B=a.merge,h=a.pInt;a.Color=function(g){if(!(this instanceof a.Color))return new a.Color(g);this.init(g)};a.Color.prototype={parsers:[{regex:/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*\)/,parse:function(a){return[h(a[1]),h(a[2]),h(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[h(a[1]),
-h(a[2]),h(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(g){var h,r,l,f;if((this.input=g=this.names[g]||g)&&g.stops)this.stops=A(g.stops,function(f){return new a.Color(f[1])});else if(g&&"#"===g[0]&&(h=g.length,g=parseInt(g.substr(1),16),7===h?r=[(g&16711680)>>16,(g&65280)>>8,g&255,1]:4===h&&(r=[(g&3840)>>4|(g&3840)>>8,(g&240)>>4|g&240,(g&15)<<4|g&15,1])),!r)for(l=this.parsers.length;l--&&!r;)f=this.parsers[l],(h=f.regex.exec(g))&&(r=f.parse(h));this.rgba=r||[]},get:function(a){var h=
-this.input,g=this.rgba,l;this.stops?(l=B(h),l.stops=[].concat(l.stops),y(this.stops,function(f,e){l.stops[e]=[l.stops[e][0],f.get(a)]})):l=g&&E(g[0])?"rgb"===a||!a&&1===g[3]?"rgb("+g[0]+","+g[1]+","+g[2]+")":"a"===a?g[3]:"rgba("+g.join(",")+")":h;return l},brighten:function(a){var g,r=this.rgba;if(this.stops)y(this.stops,function(l){l.brighten(a)});else if(E(a)&&0!==a)for(g=0;3>g;g++)r[g]+=h(255*a),0>r[g]&&(r[g]=0),255<r[g]&&(r[g]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};
-a.color=function(g){return new a.Color(g)}})(J);(function(a){function y(){var l=a.defaultOptions.global,f=r.moment;if(l.timezone){if(f)return function(a){return-f.tz(a,l.timezone).utcOffset()};a.error(25)}return l.useUTC&&l.getTimezoneOffset}function E(){var l=a.defaultOptions.global,f,e=l.useUTC,n=e?"getUTC":"get",g=e?"setUTC":"set";a.Date=f=l.Date||r.Date;f.hcTimezoneOffset=e&&l.timezoneOffset;f.hcGetTimezoneOffset=y();f.hcMakeTime=function(a,b,m,c,d,n){var u;e?(u=f.UTC.apply(0,arguments),u+=h(u)):
-u=(new f(a,b,t(m,1),t(c,0),t(d,0),t(n,0))).getTime();return u};B("Minutes Hours Day Date Month FullYear".split(" "),function(a){f["hcGet"+a]=n+a});B("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){f["hcSet"+a]=g+a})}var A=a.color,B=a.each,h=a.getTZOffset,g=a.merge,t=a.pick,r=a.win;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),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:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.8/gfx/vml-radial-gradient.png"},chart:{borderRadius:0,
-defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},
-borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},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:a.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:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:A("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
-pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(l){a.defaultOptions=g(!0,a.defaultOptions,l);E();
-return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;E()})(J);(function(a){var y,E,A=a.addEvent,B=a.animate,h=a.attr,g=a.charts,t=a.color,r=a.css,l=a.createElement,f=a.defined,e=a.deg2rad,n=a.destroyObjectProperties,z=a.doc,v=a.each,b=a.extend,m=a.erase,c=a.grep,d=a.hasTouch,D=a.inArray,u=a.isArray,q=a.isFirefox,x=a.isMS,G=a.isObject,H=a.isString,k=a.isWebKit,C=a.merge,I=a.noop,L=a.pick,K=a.pInt,p=a.removeEvent,F=a.stop,M=a.svg,
-N=a.SVG_NS,S=a.symbolSizes,O=a.win;y=a.SVGElement=function(){return this};y.prototype={opacity:1,SVG_NS:N,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,b){this.element="span"===b?l(b):z.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(w,b,p){b=a.animObject(L(b,this.renderer.globalAnimation,!0));0!==b.duration?(p&&(b.complete=p),B(this,w,b)):(this.attr(w,null,p),b.step&&
-b.step.call(this));return this},colorGradient:function(w,b,p){var c=this.renderer,d,q,k,F,x,m,Q,e,G,n,l,g=[],h;w.linearGradient?q="linearGradient":w.radialGradient&&(q="radialGradient");if(q){k=w[q];x=c.gradients;Q=w.stops;n=p.radialReference;u(k)&&(w[q]=k={x1:k[0],y1:k[1],x2:k[2],y2:k[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===q&&n&&!f(k.gradientUnits)&&(F=k,k=C(k,c.getRadialAttr(n,F),{gradientUnits:"userSpaceOnUse"}));for(l in k)"id"!==l&&g.push(l,k[l]);for(l in Q)g.push(Q[l]);g=g.join(",");
-x[g]?n=x[g].attr("id"):(k.id=n=a.uniqueKey(),x[g]=m=c.createElement(q).attr(k).add(c.defs),m.radAttr=F,m.stops=[],v(Q,function(w){0===w[1].indexOf("rgba")?(d=a.color(w[1]),e=d.get("rgb"),G=d.get("a")):(e=w[1],G=1);w=c.createElement("stop").attr({offset:w[0],"stop-color":e,"stop-opacity":G}).add(m);m.stops.push(w)}));h="url("+c.url+"#"+n+")";p.setAttribute(b,h);p.gradient=g;w.toString=function(){return h}}},applyTextOutline:function(a){var w=this.element,b,p,c,d;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,
-this.renderer.getContrast(w.style.fill)));this.fakeTS=!0;this.ySetter=this.xSetter;b=[].slice.call(w.getElementsByTagName("tspan"));a=a.split(" ");p=a[a.length-1];(c=a[0])&&"none"!==c&&(c=c.replace(/(^[\d\.]+)(.*?)$/g,function(a,w,b){return 2*w+b}),v(b,function(a){"highcharts-text-outline"===a.getAttribute("class")&&m(b,w.removeChild(a))}),d=w.firstChild,v(b,function(a,b){0===b&&(a.setAttribute("x",w.getAttribute("x")),b=w.getAttribute("y"),a.setAttribute("y",b||0),null===b&&w.setAttribute("y",0));
-a=a.cloneNode(1);h(a,{"class":"highcharts-text-outline",fill:p,stroke:p,"stroke-width":c,"stroke-linejoin":"round"});w.insertBefore(a,d)}))},attr:function(a,b,p,c){var w,d=this.element,q,k=this,x;"string"===typeof a&&void 0!==b&&(w=a,a={},a[w]=b);if("string"===typeof a)k=(this[a+"Getter"]||this._defaultGetter).call(this,a,d);else{for(w in a)b=a[w],x=!1,c||F(this,w),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(w)&&(q||(this.symbolAttr(a),q=!0),x=!0),!this.rotation||
-"x"!==w&&"y"!==w||(this.doTransform=!0),x||(x=this[w+"Setter"]||this._defaultSetter,x.call(this,b,w,d),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(w)&&this.updateShadows(w,b,x));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}p&&p();return k},updateShadows:function(a,b,p){for(var w=this.shadows,c=w.length;c--;)p.call(w[c],"height"===a?Math.max(b-(w[c].cutHeight||0),0):"d"===a?this.d:b,a,w[c])},addClass:function(a,b){var w=this.attr("class")||"";-1===w.indexOf(a)&&
-(b||(a=(w+(w?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==h(this.element,"class").indexOf(a)},removeClass:function(a){h(this.element,"class",(h(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var w=this;v("x y r start end width height innerR anchorX anchorY".split(" "),function(b){w[b]=L(a[b],w[b])});w.attr({d:w.renderer.symbols[w.symbolName](w.x,w.y,w.width,w.height,w)})},clip:function(a){return this.attr("clip-path",
-a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var w,p={},c;b=b||a.strokeWidth||0;c=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+c;a.y=Math.floor(a.y||this.y||0)+c;a.width=Math.floor((a.width||this.width||0)-2*c);a.height=Math.floor((a.height||this.height||0)-2*c);f(a.strokeWidth)&&(a.strokeWidth=b);for(w in a)this[w]!==a[w]&&(this[w]=p[w]=a[w]);return p},css:function(a){var w=this.styles,p={},c=this.element,d,q="",k=!w,F=["textOverflow","width"];a&&a.color&&(a.fill=a.color);
-if(w)for(d in a)a[d]!==w[d]&&(p[d]=a[d],k=!0);if(k){w&&(a=b(w,p));w=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===c.nodeName.toLowerCase()&&K(a.width);this.styles=a;w&&!M&&this.renderer.forExport&&delete a.width;if(x&&!M)r(this.element,a);else{w=function(a,w){return"-"+w.toLowerCase()};for(d in a)-1===D(d,F)&&(q+=d.replace(/([A-Z])/g,w)+":"+a[d]+";");q&&h(c,"style",q)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},
-strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var w=this,p=w.element;d&&"click"===a?(p.ontouchstart=function(a){w.touchEventFired=Date.now();a.preventDefault();b.call(p,a)},p.onclick=function(a){(-1===O.navigator.userAgent.indexOf("Android")||1100<Date.now()-(w.touchEventFired||0))&&b.call(p,a)}):p["on"+a]=b;return this},setRadialReference:function(a){var w=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;w&&w.radAttr&&w.animate(this.renderer.getRadialAttr(a,
-w.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,p=this.scaleX,c=this.scaleY,d=this.inverted,q=this.rotation,k=this.element;d&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];d?a.push("rotate(90) scale(-1,1)"):q&&a.push("rotate("+q+" "+(k.getAttribute("x")||0)+" "+(k.getAttribute("y")||0)+")");(f(p)||
-f(c))&&a.push("scale("+L(p,1)+" "+L(c,1)+")");a.length&&k.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,p){var w,c,d,q,k={};c=this.renderer;d=c.alignedObjects;var F,x;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!p||H(p))this.alignTo=w=p||"renderer",m(d,this),d.push(this),p=null}else a=this.alignOptions,b=this.alignByTranslate,w=this.alignTo;p=L(p,c[w],c);w=a.align;c=a.verticalAlign;d=(p.x||0)+(a.x||
-0);q=(p.y||0)+(a.y||0);"right"===w?F=1:"center"===w&&(F=2);F&&(d+=(p.width-(a.width||0))/F);k[b?"translateX":"x"]=Math.round(d);"bottom"===c?x=1:"middle"===c&&(x=2);x&&(q+=(p.height-(a.height||0))/x);k[b?"translateY":"y"]=Math.round(q);this[this.placed?"animate":"attr"](k);this.placed=!0;this.alignAttr=k;return this},getBBox:function(a,p){var w,c=this.renderer,d,q=this.element,k=this.styles,F,x=this.textStr,m,f=c.cache,C=c.cacheKeys,u;p=L(p,this.rotation);d=p*e;F=k&&k.fontSize;void 0!==x&&(u=x.toString(),
--1===u.indexOf("\x3c")&&(u=u.replace(/[0-9]/g,"0")),u+=["",p||0,F,k&&k.width,k&&k.textOverflow].join());u&&!a&&(w=f[u]);if(!w){if(q.namespaceURI===this.SVG_NS||c.forExport){try{(m=this.fakeTS&&function(a){v(q.querySelectorAll(".highcharts-text-outline"),function(w){w.style.display=a})})&&m("none"),w=q.getBBox?b({},q.getBBox()):{width:q.offsetWidth,height:q.offsetHeight},m&&m("")}catch(V){}if(!w||0>w.width)w={width:0,height:0}}else w=this.htmlGetBBox();c.isSVG&&(a=w.width,c=w.height,k&&"11px"===k.fontSize&&
-17===Math.round(c)&&(w.height=c=14),p&&(w.width=Math.abs(c*Math.sin(d))+Math.abs(a*Math.cos(d)),w.height=Math.abs(c*Math.cos(d))+Math.abs(a*Math.sin(d))));if(u&&0<w.height){for(;250<C.length;)delete f[C.shift()];f[u]||C.push(u);f[u]=w}}return w},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var w=this;w.animate({opacity:0},{duration:a||150,complete:function(){w.attr({y:-9999})}})},add:function(a){var w=
-this.renderer,b=this.element,p;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&w.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)p=this.zIndexSetter();p||(a?a.element:w.box).appendChild(b);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var w=a.parentNode;w&&w.removeChild(a)},destroy:function(){var a=this.element||{},b=this.renderer.isSVG&&"SPAN"===a.nodeName&&this.parentGroup,p,c;a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.point=
-null;F(this);this.clipPath&&(this.clipPath=this.clipPath.destroy());if(this.stops){for(c=0;c<this.stops.length;c++)this.stops[c]=this.stops[c].destroy();this.stops=null}this.safeRemoveChild(a);for(this.destroyShadows();b&&b.div&&0===b.div.childNodes.length;)a=b.parentGroup,this.safeRemoveChild(b.div),delete b.div,b=a;this.alignTo&&m(this.renderer.alignedObjects,this);for(p in this)delete this[p];return null},shadow:function(a,b,p){var w=[],c,d,q=this.element,k,F,x,m;if(!a)this.destroyShadows();else if(!this.shadows){F=
-L(a.width,3);x=(a.opacity||.15)/F;m=this.parentInverted?"(-1,-1)":"("+L(a.offsetX,1)+", "+L(a.offsetY,1)+")";for(c=1;c<=F;c++)d=q.cloneNode(0),k=2*F+1-2*c,h(d,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":x*c,"stroke-width":k,transform:"translate"+m,fill:"none"}),p&&(h(d,"height",Math.max(h(d,"height")-k,0)),d.cutHeight=k),b?b.element.appendChild(d):q.parentNode.insertBefore(d,q),w.push(d);this.shadows=w}return this},destroyShadows:function(){v(this.shadows||[],function(a){this.safeRemoveChild(a)},
-this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=L(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,p){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");p.setAttribute(b,a);this[b]=a},dashstyleSetter:function(a){var b,w=this["stroke-width"];"inherit"===w&&(w=1);if(a=a&&a.toLowerCase()){a=
-a.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(b=a.length;b--;)a[b]=K(a[b])*w;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,p){this[b]=
-a;p.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=z.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(z.createTextNode(String(L(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,p){"string"===typeof a?p.setAttribute(b,a):a&&this.colorGradient(a,b,p)},
-visibilitySetter:function(a,b,p){"inherit"===a?p.removeAttribute(b):p.setAttribute(b,a)},zIndexSetter:function(a,b){var w=this.renderer,p=this.parentGroup,c=(p||w).element||w.box,d,q=this.element,k;d=this.added;var F;f(a)&&(q.zIndex=a,a=+a,this[b]===a&&(d=!1),this[b]=a);if(d){(a=this.zIndex)&&p&&(p.handleZ=!0);b=c.childNodes;for(F=0;F<b.length&&!k;F++)p=b[F],d=p.zIndex,p!==q&&(K(d)>a||!f(a)&&f(d)||0>a&&!f(d)&&c!==w.box)&&(c.insertBefore(q,p),k=!0);k||c.appendChild(q)}return k},_defaultSetter:function(a,
-b,p){p.setAttribute(b,a)}};y.prototype.yGetter=y.prototype.xGetter;y.prototype.translateXSetter=y.prototype.translateYSetter=y.prototype.rotationSetter=y.prototype.verticalAlignSetter=y.prototype.scaleXSetter=y.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};y.prototype["stroke-widthSetter"]=y.prototype.strokeSetter=function(a,b,p){this[b]=a;this.stroke&&this["stroke-width"]?(y.prototype.fillSetter.call(this,this.stroke,"stroke",p),p.setAttribute("stroke-width",this["stroke-width"]),
-this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(p.removeAttribute("stroke"),this.hasStroke=!1)};E=a.SVGRenderer=function(){this.init.apply(this,arguments)};E.prototype={Element:y,SVG_NS:N,init:function(a,b,p,c,d,F){var w;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(c));w=c.element;a.appendChild(w);-1===a.innerHTML.indexOf("xmlns")&&h(w,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=w;this.boxWrapper=c;this.alignedObjects=[];this.url=(q||
-k)&&z.getElementsByTagName("base").length?O.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(z.createTextNode("Created with Highmaps 5.0.8"));this.defs=this.createElement("defs").add();this.allowHTML=F;this.forExport=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,p,!1);var x;q&&a.getBoundingClientRect&&(b=function(){r(a,{left:0,top:0});x=a.getBoundingClientRect();
-r(a,{left:Math.ceil(x.left)-x.left+"px",top:Math.ceil(x.top)-x.top+"px"})},b(),this.unSubPixelFix=A(O,"resize",b))},getStyle:function(a){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();n(this.gradients||{});this.gradients=
-null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:I,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},buildText:function(a){var b=a.element,p=this,w=p.forExport,d=L(a.textStr,"").toString(),q=-1!==d.indexOf("\x3c"),k=b.childNodes,F,x,m,f,u=h(b,"x"),C=a.styles,e=a.textWidth,G=C&&C.lineHeight,n=C&&C.textOutline,l=C&&"ellipsis"===
-C.textOverflow,g=C&&"nowrap"===C.whiteSpace,D=C&&C.fontSize,H,I=k.length,C=e&&!a.added&&this.box,t=function(a){var c;c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:D||p.style.fontSize||12;return G?K(G):p.fontMetrics(c,a.getAttribute("style")?a:b).h};H=[d,l,g,G,n,D,e].join();if(H!==a.textCache){for(a.textCache=H;I--;)b.removeChild(k[I]);q||n||l||e||-1!==d.indexOf(" ")?(F=/<.*class="([^"]+)".*>/,x=/<.*style="([^"]+)".*>/,m=/<.*href="(http[^"]+)".*>/,C&&C.appendChild(b),d=q?d.replace(/<(b|strong)>/g,
-'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[d],d=c(d,function(a){return""!==a}),v(d,function(c,d){var q,k=0;c=c.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");q=c.split("|||");v(q,function(c){if(""!==c||1===q.length){var C={},G=z.createElementNS(p.SVG_NS,"tspan"),n,v;F.test(c)&&(n=c.match(F)[1],
-h(G,"class",n));x.test(c)&&(v=c.match(x)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),h(G,"style",v));m.test(c)&&!w&&(h(G,"onclick",'location.href\x3d"'+c.match(m)[1]+'"'),r(G,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==c){G.appendChild(z.createTextNode(c));k?C.dx=0:d&&null!==u&&(C.x=u);h(G,C);b.appendChild(G);!k&&d&&(!M&&w&&r(G,{display:"block"}),h(G,"dy",t(G)));if(e){C=c.replace(/([^\^])-/g,"$1- ").split(" ");n=1<q.length||d||
-1<C.length&&!g;for(var D,H,I=[],Q=t(G),L=a.rotation,K=c,P=K.length;(n||l)&&(C.length||I.length);)a.rotation=0,D=a.getBBox(!0),H=D.width,!M&&p.forExport&&(H=p.measureSpanWidth(G.firstChild.data,a.styles)),D=H>e,void 0===f&&(f=D),l&&f?(P/=2,""===K||!D&&.5>P?C=[]:(K=c.substring(0,K.length+(D?-1:1)*Math.ceil(P)),C=[K+(3<e?"\u2026":"")],G.removeChild(G.firstChild))):D&&1!==C.length?(G.removeChild(G.firstChild),I.unshift(C.pop())):(C=I,I=[],C.length&&!g&&(G=z.createElementNS(N,"tspan"),h(G,{dy:Q,x:u}),
-v&&h(G,"style",v),b.appendChild(G)),H>e&&(e=H)),C.length&&G.appendChild(z.createTextNode(C.join(" ").replace(/- /g,"-")));a.rotation=L}k++}}})}),f&&a.attr("title",a.textStr),C&&C.removeChild(b),n&&a.applyTextOutline&&a.applyTextOutline(n)):b.appendChild(z.createTextNode(d.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=t(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,p,c,d,q,k,F,m,f){var w=this.label(a,p,c,f,null,null,null,null,"button"),G=0;
-w.attr(C({padding:8,r:2},q));var u,e,n,l;q=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},q);u=q.style;delete q.style;k=C(q,{fill:"#e6e6e6"},k);e=k.style;delete k.style;F=C(q,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},F);n=F.style;delete F.style;m=C(q,{style:{color:"#cccccc"}},m);l=m.style;delete m.style;A(w.element,x?"mouseover":"mouseenter",function(){3!==G&&w.setState(1)});A(w.element,x?"mouseout":"mouseleave",function(){3!==
-G&&w.setState(G)});w.setState=function(a){1!==a&&(w.state=G=a);w.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);w.attr([q,k,F,m][a||0]).css([u,e,n,l][a||0])};w.attr(q).css(b({cursor:"default"},u));return w.on("click",function(a){3!==G&&d.call(w,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var p={fill:"none"};
-u(a)?p.d=a:G(a)&&b(p,a);return this.createElement("path").attr(p)},circle:function(a,b,p){a=G(a)?a:{x:a,y:b,r:p};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,p){p.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,p,c,d,q){G(a)?(c=a,b=c.y,p=c.r,a=c.x):c={innerR:c,start:d,end:q};a=this.symbol("arc",a,b,p,p,c);a.r=p;return a},rect:function(a,b,p,c,d,q){d=G(a)?a.r:d;var w=this.createElement("rect");a=G(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(p,0),height:Math.max(c,0)};void 0!==
-q&&(a.strokeWidth=q,a=w.crisp(a));a.fill="none";d&&(a.r=d);w.rSetter=function(a,b,p){h(p,{rx:a,ry:a})};return w.attr(a)},setSize:function(a,b,p){var c=this.alignedObjects,d=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:L(p,!0)?void 0:0});d--;)c[d].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,p,
-c,d,q){var w={preserveAspectRatio:"none"};1<arguments.length&&b(w,{x:p,y:c,width:d,height:q});w=this.createElement("image").attr(w);w.element.setAttributeNS?w.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):w.element.setAttribute("hc-svg-href",a);return w},symbol:function(a,p,c,d,q,k){var w=this,F,x=this.symbols[a],m=f(p)&&x&&this.symbols[a](Math.round(p),Math.round(c),d,q,k),C=/^url\((.*?)\)$/,G,u;x?(F=this.path(m),F.attr("fill","none"),b(F,{symbolName:a,x:p,y:c,width:d,height:q}),
-k&&b(F,k)):C.test(a)&&(G=a.match(C)[1],F=this.image(G),F.imgwidth=L(S[G]&&S[G].width,k&&k.width),F.imgheight=L(S[G]&&S[G].height,k&&k.height),u=function(){F.attr({width:F.width,height:F.height})},v(["width","height"],function(a){F[a+"Setter"]=function(a,b){var p={},c=this["img"+b],d="width"===b?"translateX":"translateY";this[b]=a;f(c)&&(this.element&&this.element.setAttribute(b,c),this.alignByTranslate||(p[d]=((this[b]||0)-c)/2,this.attr(p)))}}),f(p)&&F.attr({x:p,y:c}),F.isImg=!0,f(F.imgwidth)&&f(F.imgheight)?
-u():(F.attr({width:0,height:0}),l("img",{onload:function(){var a=g[w.chartIndex];0===this.width&&(r(this,{position:"absolute",top:"-999em"}),z.body.appendChild(this));S[G]={width:this.width,height:this.height};F.imgwidth=this.width;F.imgheight=this.height;F.element&&u();this.parentNode&&this.parentNode.removeChild(this);w.imgCount--;if(!w.imgCount&&a&&a.onload)a.onload()},src:G}),this.imgCount++));return F},symbols:{circle:function(a,b,p,c){return this.arc(a+p/2,b+c/2,p/2,c/2,{start:0,end:2*Math.PI,
-open:!1})},square:function(a,b,p,c){return["M",a,b,"L",a+p,b,a+p,b+c,a,b+c,"Z"]},triangle:function(a,b,p,c){return["M",a+p/2,b,"L",a+p,b+c,a,b+c,"Z"]},"triangle-down":function(a,b,p,c){return["M",a,b,"L",a+p,b,a+p/2,b+c,"Z"]},diamond:function(a,b,p,c){return["M",a+p/2,b,"L",a+p,b+c/2,a+p/2,b+c,a,b+c/2,"Z"]},arc:function(a,b,p,c,d){var q=d.start,k=d.r||p,F=d.r||c||p,w=d.end-.001;p=d.innerR;c=d.open;var x=Math.cos(q),m=Math.sin(q),C=Math.cos(w),w=Math.sin(w);d=d.end-q<Math.PI?0:1;k=["M",a+k*x,b+F*m,
-"A",k,F,0,d,1,a+k*C,b+F*w];f(p)&&k.push(c?"M":"L",a+p*C,b+p*w,"A",p,p,0,d,0,a+p*x,b+p*m);k.push(c?"":"Z");return k},callout:function(a,b,p,c,d){var q=Math.min(d&&d.r||0,p,c),k=q+6,F=d&&d.anchorX;d=d&&d.anchorY;var w;w=["M",a+q,b,"L",a+p-q,b,"C",a+p,b,a+p,b,a+p,b+q,"L",a+p,b+c-q,"C",a+p,b+c,a+p,b+c,a+p-q,b+c,"L",a+q,b+c,"C",a,b+c,a,b+c,a,b+c-q,"L",a,b+q,"C",a,b,a,b,a+q,b];F&&F>p?d>b+k&&d<b+c-k?w.splice(13,3,"L",a+p,d-6,a+p+6,d,a+p,d+6,a+p,b+c-q):w.splice(13,3,"L",a+p,c/2,F,d,a+p,c/2,a+p,b+c-q):F&&
-0>F?d>b+k&&d<b+c-k?w.splice(33,3,"L",a,d+6,a-6,d,a,d-6,a,b+q):w.splice(33,3,"L",a,c/2,F,d,a,c/2,a,b+q):d&&d>c&&F>a+k&&F<a+p-k?w.splice(23,3,"L",F+6,b+c,F,b+c+6,F-6,b+c,a+q,b+c):d&&0>d&&F>a+k&&F<a+p-k&&w.splice(3,3,"L",F-6,b,F,b-6,F+6,b,p-q,b);return w}},clipRect:function(b,p,c,d){var q=a.uniqueKey(),k=this.createElement("clipPath").attr({id:q}).add(this.defs);b=this.rect(b,p,c,d,0).add(k);b.id=q;b.clipPath=k;b.count=0;return b},text:function(a,b,p,c){var d=!M&&this.forExport,q={};if(c&&(this.allowHTML||
-!this.forExport))return this.html(a,b,p);q.x=Math.round(b||0);p&&(q.y=Math.round(p));if(a||0===a)q.text=a;a=this.createElement("text").attr(q);d&&a.css({position:"absolute"});c||(a.xSetter=function(a,b,p){var c=p.getElementsByTagName("tspan"),d,q=p.getAttribute(b),k;for(k=0;k<c.length;k++)d=c[k],d.getAttribute(b)===q&&d.setAttribute(b,a);p.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?K(a):/em/.test(a)?parseFloat(a)*
-(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,p){var c=a;b&&p&&(c=Math.max(c*Math.cos(b*e),4));return{x:-a/3*Math.sin(b*e),y:c}},label:function(c,d,q,k,F,x,m,G,u){var w=this,e=w.g("button"!==u&&"label"),n=e.text=w.text("",0,0,m).attr({zIndex:1}),l,g,D=0,h=3,H=0,z,I,M,N,r,K={},L,t,S=/^url\((.*?)\)$/.test(k),Q=S,P,R,O,U;u&&e.addClass("highcharts-"+u);Q=S;P=function(){return(L||0)%2/2};R=function(){var a=n.element.style,
-p={};g=(void 0===z||void 0===I||r)&&f(n.textStr)&&n.getBBox();e.width=(z||g.width||0)+2*h+H;e.height=(I||g.height||0)+2*h;t=h+w.fontMetrics(a&&a.fontSize,n).b;Q&&(l||(e.box=l=w.symbols[k]||S?w.symbol(k):w.rect(),l.addClass(("button"===u?"":"highcharts-label-box")+(u?" highcharts-"+u+"-box":"")),l.add(e),a=P(),p.x=a,p.y=(G?-t:0)+a),p.width=Math.round(e.width),p.height=Math.round(e.height),l.attr(b(p,K)),K={})};O=function(){var a=H+h,b;b=G?0:t;f(z)&&g&&("center"===r||"right"===r)&&(a+={center:.5,right:1}[r]*
-(z-g.width));if(a!==n.x||b!==n.y)n.attr("x",a),void 0!==b&&n.attr("y",b);n.x=a;n.y=b};U=function(a,b){l?l.attr(a,b):K[a]=b};e.onAdd=function(){n.add(e);e.attr({text:c||0===c?c:"",x:d,y:q});l&&f(F)&&e.attr({anchorX:F,anchorY:x})};e.widthSetter=function(b){z=a.isNumber(b)?b:null};e.heightSetter=function(a){I=a};e["text-alignSetter"]=function(a){r=a};e.paddingSetter=function(a){f(a)&&a!==h&&(h=e.padding=a,O())};e.paddingLeftSetter=function(a){f(a)&&a!==H&&(H=a,O())};e.alignSetter=function(a){a={left:0,
-center:.5,right:1}[a];a!==D&&(D=a,g&&e.attr({x:M}))};e.textSetter=function(a){void 0!==a&&n.textSetter(a);R();O()};e["stroke-widthSetter"]=function(a,b){a&&(Q=!0);L=this["stroke-width"]=a;U(b,a)};e.strokeSetter=e.fillSetter=e.rSetter=function(a,b){"fill"===b&&a&&(Q=!0);U(b,a)};e.anchorXSetter=function(a,b){F=a;U(b,Math.round(a)-P()-M)};e.anchorYSetter=function(a,b){x=a;U(b,a-N)};e.xSetter=function(a){e.x=a;D&&(a-=D*((z||g.width)+2*h));M=Math.round(a);e.attr("translateX",M)};e.ySetter=function(a){N=
-e.y=Math.round(a);e.attr("translateY",N)};var B=e.css;return b(e,{css:function(a){if(a){var b={};a=C(a);v(e.textProps,function(p){void 0!==a[p]&&(b[p]=a[p],delete a[p])});n.css(b)}return B.call(e,a)},getBBox:function(){return{width:g.width+2*h,height:g.height+2*h,x:g.x-h,y:g.y-h}},shadow:function(a){a&&(R(),l&&l.shadow(a));return e},destroy:function(){p(e.element,"mouseenter");p(e.element,"mouseleave");n&&(n=n.destroy());l&&(l=l.destroy());y.prototype.destroy.call(e);e=w=R=O=U=null}})}};a.Renderer=
-E})(J);(function(a){var y=a.attr,E=a.createElement,A=a.css,B=a.defined,h=a.each,g=a.extend,t=a.isFirefox,r=a.isMS,l=a.isWebKit,f=a.pInt,e=a.SVGRenderer,n=a.win,z=a.wrap;g(a.SVGElement.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=g(this.styles,a);A(this.element,a);return this},htmlGetBBox:function(){var a=this.element;
-"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,m=this.translateX||0,c=this.translateY||0,d=this.x||0,e=this.y||0,u=this.textAlign||"left",q={left:0,center:.5,right:1}[u],x=this.styles;A(b,{marginLeft:m,marginTop:c});this.shadows&&h(this.shadows,function(a){A(a,{marginLeft:m+1,marginTop:c+1})});this.inverted&&h(b.childNodes,function(c){a.invertChild(c,
-b)});if("SPAN"===b.tagName){var G=this.rotation,n=f(this.textWidth),k=x&&x.whiteSpace,C=[G,u,b.innerHTML,this.textWidth,this.textAlign].join();C!==this.cTT&&(x=a.fontMetrics(b.style.fontSize).b,B(G)&&this.setSpanRotation(G,q,x),A(b,{width:"",whiteSpace:k||"nowrap"}),b.offsetWidth>n&&/[ \-]/.test(b.textContent||b.innerText)&&A(b,{width:n+"px",display:"block",whiteSpace:k||"normal"}),this.getSpanCorrection(b.offsetWidth,x,q,G,u));A(b,{left:d+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});l&&(x=b.offsetHeight);
-this.cTT=C}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,m){var c={},d=r?"-ms-transform":l?"-webkit-transform":t?"MozTransform":n.opera?"-o-transform":"";c[d]=c.transform="rotate("+a+"deg)";c[d+(t?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+m+"px";A(this.element,c)},getSpanCorrection:function(a,b,m){this.xCorr=-a*m;this.yCorr=-b}});g(e.prototype,{html:function(a,b,m){var c=this.createElement("span"),d=c.element,e=c.renderer,f=e.isSVG,q=function(a,b){h(["opacity","visibility"],function(c){z(a,
-c+"Setter",function(a,c,d,q){a.call(this,c,d,q);b[d]=c})})};c.textSetter=function(a){a!==d.innerHTML&&delete this.bBox;d.innerHTML=this.textStr=a;c.htmlUpdateTransform()};f&&q(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.htmlUpdateTransform()};c.attr({text:a,x:Math.round(b),y:Math.round(m)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});d.style.whiteSpace="nowrap";c.css=c.htmlCss;
-f&&(c.add=function(a){var b,m=e.box.parentNode,k=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)k.push(a),a=a.parentGroup;h(k.reverse(),function(a){var d,x=y(a.element,"class");x&&(x={className:x});b=a.div=a.div||E("div",x,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||m);d=b.style;g(a,{on:function(){c.on.apply({element:k[0].div},arguments);return a},translateXSetter:function(b,p){d.left=
-b+"px";a[p]=b;a.doTransform=!0},translateYSetter:function(b,p){d.top=b+"px";a[p]=b;a.doTransform=!0}});q(a,d)})}}else b=m;b.appendChild(d);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(J);(function(a){var y,E,A=a.createElement,B=a.css,h=a.defined,g=a.deg2rad,t=a.discardElement,r=a.doc,l=a.each,f=a.erase,e=a.extend;y=a.extendClass;var n=a.isArray,z=a.isNumber,v=a.isObject,b=a.merge;E=a.noop;var m=a.pick,c=a.pInt,d=a.SVGElement,D=a.SVGRenderer,u=a.win;a.svg||(E={docMode8:r&&
-8===r.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],d=["position: ","absolute",";"],q="div"===b;("shape"===b||q)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",q?"hidden":"visible");c.push(' style\x3d"',d.join(""),'"/\x3e');b&&(c=q||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=A(c));this.renderer=a},add:function(a){var b=this.renderer,c=this.element,d=b.box,q=a&&a.inverted,d=a?a.element||a:d;a&&(this.parentGroup=a);q&&b.invertChild(c,
-d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:d.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*g),c=Math.sin(a*g);B(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-c,", M21\x3d",c,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,
-b,c,d,k){var q=d?Math.cos(d*g):1,x=d?Math.sin(d*g):0,e=m(this.elemHeight,this.element.offsetHeight),f;this.xCorr=0>q&&-a;this.yCorr=0>x&&-e;f=0>q*x;this.xCorr+=x*b*(f?1-c:c);this.yCorr-=q*b*(d?f?c:1-c:1);k&&"left"!==k&&(this.xCorr-=a*c*(0>q?-1:1),d&&(this.yCorr-=e*c*(0>x?-1:1)),B(this.element,{textAlign:k}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)z(a[b])?c[b]=Math.round(10*a[b])-5:"Z"===a[b]?c[b]="x":(c[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(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,f(c,b),c.push(b),b.destroyClip=function(){f(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"});return b.css(a)},css:d.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&t(a)},destroy:function(){this.destroyClip&&this.destroyClip();return d.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=
-u.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var d;a=a.split(/[ ,]/);d=a.length;if(9===d||11===d)a[d-4]=a[d-2]=c(a[d-2])-10*b;return a.join(" ")},shadow:function(a,b,d){var q=[],k,e=this.element,x=this.renderer,f,u=e.style,p,F=e.path,n,l,g,G;F&&"string"!==typeof F.value&&(F="x");l=F;if(a){g=m(a.width,3);G=(a.opacity||.15)/g;for(k=1;3>=k;k++)n=2*g+1-2*k,d&&(l=this.cutOffPath(F.value,n+.5)),p=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',n,'" filled\x3d"false" path\x3d"',
-l,'" coordsize\x3d"10 10" style\x3d"',e.style.cssText,'" /\x3e'],f=A(x.prepVML(p),null,{left:c(u.left)+m(a.offsetX,1),top:c(u.top)+m(a.offsetY,1)}),d&&(f.cutOff=n+1),p=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"',G*k,'"/\x3e'],A(x.prepVML(p),null,null,f),b?b.element.appendChild(f):e.parentNode.insertBefore(f,e),q.push(f);this.shadows=q}return this},updateShadows:E,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?
-this.element:this).className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||A(this.renderer.prepVML(["\x3cstroke/\x3e"]),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;"SPAN"===d?c.style.color=a:"IMG"!==d&&(c.filled="none"!==a,this.setAttr("fillcolor",
-this.renderer.color(a,c,b,this)))},"fill-opacitySetter":function(a,b,c){A(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,c)},opacitySetter:E,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a;c.left=-Math.round(Math.sin(a*g)+1)+"px";c.top=Math.round(Math.cos(a*g))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b,this))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;z(a)&&(a+="px");this.setAttr("strokeweight",
-a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){"inherit"===a&&(a="visible");this.shadows&&l(this.shadows,function(c){c.style[b]=a});"DIV"===c.nodeName&&(a="hidden"===a?"-999em":0,this.docMode8||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}},E["stroke-opacitySetter"]=E["fill-opacitySetter"],
-a.VMLElement=E=y(d,E),E.prototype.ySetter=E.prototype.widthSetter=E.prototype.heightSetter=E.prototype.xSetter,E={Element:E,isIE8:-1<u.navigator.userAgent.indexOf("MSIE 8.0"),init:function(a,b,c){var d,k;this.alignedObjects=[];d=this.createElement("div").css({position:"relative"});k=d.element;a.appendChild(d.element);this.isVML=!0;this.box=k;this.boxWrapper=d;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,c,!1);if(!r.namespaces.hcv){r.namespaces.add("hcv","urn:schemas-microsoft-com:vml");
-try{r.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(C){r.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 k=this.createElement(),q=v(a);return e(k,{members:[],count:0,left:(q?a.x:a)+1,top:(q?a.y:b)+1,width:(q?a.width:c)-1,height:(q?a.height:d)-
-1,getCSS:function(a){var b=a.element,c=b.nodeName,p=a.inverted,d=this.top-("shape"===c?b.offsetTop:0),k=this.left,b=k+this.width,q=d+this.height,d={clip:"rect("+Math.round(p?k:d)+"px,"+Math.round(p?q:b)+"px,"+Math.round(p?b:q)+"px,"+Math.round(p?d:k)+"px)"};!p&&a.docMode8&&"DIV"===c&&e(d,{width:b+"px",height:q+"px"});return d},updateClipping:function(){l(k.members,function(a){a.element&&a.css(k.getCSS(a))})}})},color:function(b,c,d,m){var k=this,q,e=/^rgba/,f,u,p="none";b&&b.linearGradient?u="gradient":
-b&&b.radialGradient&&(u="pattern");if(u){var F,n,x=b.linearGradient||b.radialGradient,g,h,w,D,z,G="";b=b.stops;var v,H=[],r=function(){f=['\x3cfill colors\x3d"'+H.join(",")+'" opacity\x3d"',w,'" o:opacity2\x3d"',h,'" type\x3d"',u,'" ',G,'focus\x3d"100%" method\x3d"any" /\x3e'];A(k.prepVML(f),null,null,c)};g=b[0];v=b[b.length-1];0<g[0]&&b.unshift([0,g[1]]);1>v[0]&&b.push([1,v[1]]);l(b,function(b,c){e.test(b[1])?(q=a.color(b[1]),F=q.get("rgb"),n=q.get("a")):(F=b[1],n=1);H.push(100*b[0]+"% "+F);c?(w=
-n,D=F):(h=n,z=F)});if("fill"===d)if("gradient"===u)d=x.x1||x[0]||0,b=x.y1||x[1]||0,g=x.x2||x[2]||0,x=x.y2||x[3]||0,G='angle\x3d"'+(90-180*Math.atan((x-b)/(g-d))/Math.PI)+'"',r();else{var p=x.r,t=2*p,B=2*p,y=x.cx,E=x.cy,J=c.radialReference,T,p=function(){J&&(T=m.getBBox(),y+=(J[0]-T.x)/T.width-.5,E+=(J[1]-T.y)/T.height-.5,t*=J[2]/T.width,B*=J[2]/T.height);G='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+t+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+y+","+E+'" color2\x3d"'+z+'" ';
-r()};m.added?p():m.onAdd=p;p=D}else p=F}else e.test(b)&&"IMG"!==c.tagName?(q=a.color(b),m[d+"-opacitySetter"](q.get("a"),d,c),p=q.get("rgb")):(p=c.getElementsByTagName(d),p.length&&(p[0].opacity=1,p[0].type="solid"),p=b);return p},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):
-a=a.replace("\x3c","\x3chcv:");return a},text:D.prototype.html,path:function(a){var b={coordsize:"10 10"};n(a)?b.d=a:v(a)&&e(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var d=this.symbol("circle");v(a)&&(c=a.r,b=a.y,a=a.x);d.isCircle=!0;d.r=c;return d.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(b)},image:function(a,b,c,d,k){var m=this.createElement("img").attr({src:a});1<arguments.length&&
-m.attr({x:b,y:c,width:d,height:k});return m},createElement:function(a){return"rect"===a?this.symbol(a):D.prototype.createElement.call(this,a)},invertChild:function(a,b){var d=this;b=b.style;var m="IMG"===a.tagName&&a.style;B(a,{flip:"x",left:c(b.width)-(m?c(m.top):1),top:c(b.height)-(m?c(m.left):1),rotation:-90});l(a.childNodes,function(b){d.invertChild(b,a)})},symbols:{arc:function(a,b,c,d,k){var m=k.start,e=k.end,q=k.r||c||d;c=k.innerR;d=Math.cos(m);var f=Math.sin(m),p=Math.cos(e),F=Math.sin(e);
-if(0===e-m)return["x"];m=["wa",a-q,b-q,a+q,b+q,a+q*d,b+q*f,a+q*p,b+q*F];k.open&&!c&&m.push("e","M",a,b);m.push("at",a-c,b-c,a+c,b+c,a+c*p,b+c*F,a+c*d,b+c*f,"x","e");m.isArc=!0;return m},circle:function(a,b,c,d,k){k&&h(k.r)&&(c=d=2*k.r);k&&k.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,k){return D.prototype.symbols[h(k)&&k.r?"callout":"square"].call(0,a,b,c,d,k)}}},a.VMLRenderer=y=function(){this.init.apply(this,arguments)},y.prototype=b(D.prototype,
-E),a.Renderer=y);D.prototype.measureSpanWidth=function(a,b){var c=r.createElement("span");a=r.createTextNode(a);c.appendChild(a);B(c,b);this.box.appendChild(c);b=c.offsetWidth;t(c);return b}})(J);(function(a){var y=a.correctFloat,E=a.defined,A=a.destroyObjectProperties,B=a.isNumber,h=a.merge,g=a.pick,t=a.deg2rad;a.Tick=function(a,l,f,e){this.axis=a;this.pos=l;this.type=f||"";this.isNew=!0;f||e||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,l=a.options,f=a.chart,e=a.categories,
-n=a.names,z=this.pos,v=l.labels,b=a.tickPositions,m=z===b[0],c=z===b[b.length-1],n=e?g(e[z],n[z],z):z,e=this.label,b=b.info,d;a.isDatetimeAxis&&b&&(d=l.dateTimeLabelFormats[b.higherRanks[z]||b.unitName]);this.isFirst=m;this.isLast=c;l=a.labelFormatter.call({axis:a,chart:f,isFirst:m,isLast:c,dateTimeLabelFormat:d,value:a.isLog?y(a.lin2log(n)):n});E(e)?e&&e.attr({text:l}):(this.labelLength=(this.label=e=E(l)&&v.enabled?f.renderer.text(l,0,0,v.useHTML).css(h(v.style)).add(a.labelGroup):null)&&e.getBBox().width,
-this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var l=this.axis,f=a.x,e=l.chart.chartWidth,n=l.chart.spacing,h=g(l.labelLeft,Math.min(l.pos,n[3])),n=g(l.labelRight,Math.max(l.pos+l.len,e-n[1])),v=this.label,b=this.rotation,m={left:0,center:.5,right:1}[l.labelAlign],c=v.getBBox().width,d=l.getSlotWidth(),D=d,u=1,q,x={};if(b)0>b&&f-m*c<h?q=Math.round(f/Math.cos(b*t)-h):0<b&&f+m*c>n&&(q=Math.round((e-f)/
-Math.cos(b*t)));else if(e=f+(1-m)*c,f-m*c<h?D=a.x+D*(1-m)-h:e>n&&(D=n-a.x+D*m,u=-1),D=Math.min(d,D),D<d&&"center"===l.labelAlign&&(a.x+=u*(d-D-m*(d-Math.min(c,D)))),c>D||l.autoRotation&&(v.styles||{}).width)q=D;q&&(x.width=q,(l.options.labels.style||{}).textOverflow||(x.textOverflow="ellipsis"),v.css(x))},getPosition:function(a,l,f,e){var n=this.axis,g=n.chart,h=e&&g.oldChartHeight||g.chartHeight;return{x:a?n.translate(l+f,null,null,e)+n.transB:n.left+n.offset+(n.opposite?(e&&g.oldChartWidth||g.chartWidth)-
-n.right-n.left:0),y:a?h-n.bottom+n.offset-(n.opposite?n.height:0):h-n.translate(l+f,null,null,e)-n.transB}},getLabelPosition:function(a,l,f,e,n,g,h,b){var m=this.axis,c=m.transA,d=m.reversed,D=m.staggerLines,u=m.tickRotCorr||{x:0,y:0},q=n.y;E(q)||(q=0===m.side?f.rotation?-8:-f.getBBox().height:2===m.side?u.y+8:Math.cos(f.rotation*t)*(u.y-f.getBBox(!1,0).height/2));a=a+n.x+u.x-(g&&e?g*c*(d?-1:1):0);l=l+q-(g&&!e?g*c*(d?1:-1):0);D&&(f=h/(b||1)%D,m.opposite&&(f=D-f-1),l+=m.labelOffset/D*f);return{x:a,
-y:Math.round(l)}},getMarkPath:function(a,l,f,e,n,g){return g.crispLine(["M",a,l,"L",a+(n?0:-f),l+(n?f:0)],e)},renderGridLine:function(a,l,f){var e=this.axis,n=e.options,g=this.gridLine,h={},b=this.pos,m=this.type,c=e.tickmarkOffset,d=e.chart.renderer,D=m?m+"Grid":"grid",u=n[D+"LineWidth"],q=n[D+"LineColor"],n=n[D+"LineDashStyle"];g||(h.stroke=q,h["stroke-width"]=u,n&&(h.dashstyle=n),m||(h.zIndex=1),a&&(h.opacity=0),this.gridLine=g=d.path().attr(h).addClass("highcharts-"+(m?m+"-":"")+"grid-line").add(e.gridGroup));
-if(!a&&g&&(a=e.getPlotLinePath(b+c,g.strokeWidth()*f,a,!0)))g[this.isNew?"attr":"animate"]({d:a,opacity:l})},renderMark:function(a,l,f){var e=this.axis,n=e.options,h=e.chart.renderer,v=this.type,b=v?v+"Tick":"tick",m=e.tickSize(b),c=this.mark,d=!c,D=a.x;a=a.y;var u=g(n[b+"Width"],!v&&e.isXAxis?1:0),n=n[b+"Color"];m&&(e.opposite&&(m[0]=-m[0]),d&&(this.mark=c=h.path().addClass("highcharts-"+(v?v+"-":"")+"tick").add(e.axisGroup),c.attr({stroke:n,"stroke-width":u})),c[d?"attr":"animate"]({d:this.getMarkPath(D,
-a,m[0],c.strokeWidth()*f,e.horiz,h),opacity:l}))},renderLabel:function(a,l,f,e){var n=this.axis,h=n.horiz,v=n.options,b=this.label,m=v.labels,c=m.step,d=n.tickmarkOffset,D=!0,u=a.x;a=a.y;b&&B(u)&&(b.xy=a=this.getLabelPosition(u,a,b,h,m,d,e,c),this.isFirst&&!this.isLast&&!g(v.showFirstLabel,1)||this.isLast&&!this.isFirst&&!g(v.showLastLabel,1)?D=!1:!h||n.isRadial||m.step||m.rotation||l||0===f||this.handleOverflow(a),c&&e%c&&(D=!1),D&&B(a.y)?(a.opacity=f,b[this.isNew?"attr":"animate"](a)):b.attr("y",
--9999),this.isNew=!1)},render:function(a,l,f){var e=this.axis,n=e.horiz,h=this.getPosition(n,this.pos,e.tickmarkOffset,l),v=h.x,b=h.y,e=n&&v===e.pos+e.len||!n&&b===e.pos?-1:1;f=g(f,1);this.isActive=!0;this.renderGridLine(l,f,e);this.renderMark(h,f,e);this.renderLabel(h,l,f,a)},destroy:function(){A(this,this.axis)}}})(J);(function(a){var y=a.arrayMax,E=a.arrayMin,A=a.defined,B=a.destroyObjectProperties,h=a.each,g=a.erase,t=a.merge,r=a.pick;a.PlotLineOrBand=function(a,f){this.axis=a;f&&(this.options=
-f,this.id=f.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,f=a.axis,e=f.horiz,n=a.options,g=n.label,h=a.label,b=n.to,m=n.from,c=n.value,d=A(m)&&A(b),D=A(c),u=a.svgElem,q=!u,x=[],G,H=n.color,k=r(n.zIndex,0),C=n.events,x={"class":"highcharts-plot-"+(d?"band ":"line ")+(n.className||"")},I={},L=f.chart.renderer,K=d?"bands":"lines",p=f.log2lin;f.isLog&&(m=p(m),b=p(b),c=p(c));D?(x={stroke:H,"stroke-width":n.width},n.dashStyle&&(x.dashstyle=n.dashStyle)):d&&(H&&(x.fill=H),n.borderWidth&&
-(x.stroke=n.borderColor,x["stroke-width"]=n.borderWidth));I.zIndex=k;K+="-"+k;(H=f[K])||(f[K]=H=L.g("plot-"+K).attr(I).add());q&&(a.svgElem=u=L.path().attr(x).add(H));if(D)x=f.getPlotLinePath(c,u.strokeWidth());else if(d)x=f.getPlotBandPath(m,b,n);else return;if(q&&x&&x.length){if(u.attr({d:x}),C)for(G in n=function(b){u.on(b,function(c){C[b].apply(a,[c])})},C)n(G)}else u&&(x?(u.show(),u.animate({d:x})):(u.hide(),h&&(a.label=h=h.destroy())));g&&A(g.text)&&x&&x.length&&0<f.width&&0<f.height&&!x.flat?
-(g=t({align:e&&d&&"center",x:e?!d&&4:10,verticalAlign:!e&&d&&"middle",y:e?d?16:10:d?6:-4,rotation:e&&!d&&90},g),this.renderLabel(g,x,d,k)):h&&h.hide();return a},renderLabel:function(a,f,e,n){var g=this.label,h=this.axis.chart.renderer;g||(g={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||"")},g.zIndex=n,this.label=g=h.text(a.text,0,0,a.useHTML).attr(g).add(),g.css(a.style));n=[f[1],f[4],e?f[6]:f[1]];f=[f[2],f[5],e?f[7]:f[2]];e=E(n);
-h=E(f);g.align(a,!1,{x:e,y:h,width:y(n)-e,height:y(f)-h});g.show()},destroy:function(){g(this.axis.plotLinesAndBands,this);delete this.axis;B(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,f){f=this.getPlotLinePath(f,null,null,!0);(a=this.getPlotLinePath(a,null,null,!0))&&f?(a.flat=a.toString()===f.toString(),a.push(f[4],f[5],f[1],f[2],"z")):a=null;return a},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
-"plotLines")},addPlotBandOrLine:function(g,f){var e=(new a.PlotLineOrBand(this,g)).render(),n=this.userOptions;e&&(f&&(n[f]=n[f]||[],n[f].push(g)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var f=this.plotLinesAndBands,e=this.options,n=this.userOptions,l=f.length;l--;)f[l].id===a&&f[l].destroy();h([e.plotLines||[],n.plotLines||[],e.plotBands||[],n.plotBands||[]],function(e){for(l=e.length;l--;)e[l].id===a&&g(e,e[l])})}}})(J);(function(a){var y=a.addEvent,E=a.animObject,
-A=a.arrayMax,B=a.arrayMin,h=a.AxisPlotLineOrBandExtension,g=a.color,t=a.correctFloat,r=a.defaultOptions,l=a.defined,f=a.deg2rad,e=a.destroyObjectProperties,n=a.each,z=a.extend,v=a.fireEvent,b=a.format,m=a.getMagnitude,c=a.grep,d=a.inArray,D=a.isArray,u=a.isNumber,q=a.isString,x=a.merge,G=a.normalizeTickInterval,H=a.pick,k=a.PlotLineOrBand,C=a.removeEvent,I=a.splat,L=a.syncTimeout,K=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.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,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",
-lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},
-defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var c=b.isX;this.chart=a;this.horiz=a.inverted?!c:c;this.isXAxis=c;this.coll=this.coll||(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 p=this.options,k=p.type;this.labelFormatter=p.labels.formatter||
-this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=p.reversed;this.visible=!1!==p.visible;this.zoomEnabled=!1!==p.zoomEnabled;this.hasNames="category"===k||!0===p.categories;this.categories=p.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===k;this.isDatetimeAxis="datetime"===k;this.positiveValuesOnly=this.isLog&&!this.allowNegativeLog;this.isLinked=l(p.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=
-[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=p.minRange||p.maxZoom;this.range=p.range;this.offset=p.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=H(p.crosshair,I(a.options.tooltip.crosshairs)[c?0:1],!1);var F;b=this.options.events;-1===d(this,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&c&&void 0===this.reversed&&(this.reversed=!0);
-this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(F in b)y(this,F,b[F]);this.lin2log=p.linearToLogConverter||this.lin2log;this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=x(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],x(r[this.coll],a))},defaultLabelFormatter:function(){var c=this.axis,
-d=this.value,k=c.categories,m=this.dateTimeLabelFormat,e=r.lang,q=e.numericSymbols,e=e.numericSymbolMagnitude||1E3,w=q&&q.length,f,u=c.options.labels.format,c=c.isLog?Math.abs(d):c.tickInterval;if(u)f=b(u,this);else if(k)f=d;else if(m)f=a.dateFormat(m,d);else if(w&&1E3<=c)for(;w--&&void 0===f;)k=Math.pow(e,w+1),c>=k&&0===10*d%k&&null!==q[w]&&0!==d&&(f=a.numberFormat(d/k,-1)+q[w]);void 0===f&&(f=1E4<=Math.abs(d)?a.numberFormat(d,-1):a.numberFormat(d,-1,void 0,""));return f},getSeriesExtremes:function(){var a=
-this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();n(a.series,function(d){if(d.visible||!b.options.chart.ignoreHiddenSeries){var p=d.options,k=p.threshold,F;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&&(k=null);if(a.isXAxis)p=d.xData,p.length&&(d=B(p),u(d)||d instanceof Date||(p=c(p,function(a){return u(a)}),d=B(p)),a.dataMin=Math.min(H(a.dataMin,p[0]),d),a.dataMax=Math.max(H(a.dataMax,p[0]),A(p)));else if(d.getExtremes(),
-F=d.dataMax,d=d.dataMin,l(d)&&l(F)&&(a.dataMin=Math.min(H(a.dataMin,d),d),a.dataMax=Math.max(H(a.dataMax,F),F)),l(k)&&(a.threshold=k),!p.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,c,d,k,m){var p=this.linkedParent||this,F=1,e=0,q=d?p.oldTransA:p.transA;d=d?p.oldMin:p.min;var f=p.minPixelPadding;k=(p.isOrdinal||p.isBroken||p.isLog&&k)&&p.lin2val;q||(q=p.transA);c&&(F*=-1,e=p.len);p.reversed&&(F*=-1,e-=F*(p.sector||p.len));b?(a=(a*F+e-f)/q+d,k&&(a=p.lin2val(a))):
-(k&&(a=p.val2lin(a)),a=F*(a-d)*q+e+F*f+(u(m)?q*m:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,d,k){var p=this.chart,F=this.left,m=this.top,e,q,f=c&&p.oldChartHeight||p.chartHeight,n=c&&p.oldChartWidth||p.chartWidth,g;e=this.transB;var h=function(a,b,c){if(a<b||a>c)d?a=Math.min(Math.max(b,a),c):g=!0;return a};k=H(k,this.translate(a,
-null,null,c));a=c=Math.round(k+e);e=q=Math.round(f-k-e);u(k)?this.horiz?(e=m,q=f-this.bottom,a=c=h(a,F,F+this.width)):(a=F,c=n-this.right,e=q=h(e,m,m+this.height)):g=!0;return g&&!d?null:p.renderer.crispLine(["M",a,e,"L",c,q],b||1)},getLinearTickPositions:function(a,b,c){var d,p=t(Math.floor(b/a)*a);c=t(Math.ceil(c/a)*a);var k=[];if(this.single)return[b];for(b=p;b<=c;){k.push(b);b=t(b+a);if(b===d)break;d=b}return k},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,d=a.minorTickInterval,
-k=[],m=a.pointRangePadding||0,e=a.min-m,m=a.max+m,q=m-e;if(q&&q/d<a.len/3)if(a.isLog)n(this.paddedTicks,function(b,c,p){c&&k.push.apply(k,a.getLogTickPositions(d,p[c-1],p[c],!0))});else if(a.isDatetimeAxis&&"auto"===b.minorTickInterval)k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(d),e,m,b.startOfWeek));else for(b=e+(c[0]-e)%d;b<=m&&b!==k[0];b+=d)k.push(b);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,d,k=this.dataMax-this.dataMin>=
-this.minRange,m,e,q,f,u,g;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(l(a.min)||l(a.max)?this.minRange=null:(n(this.series,function(a){f=a.xData;for(e=u=a.xIncrement?1:f.length-1;0<e;e--)if(q=f[e]-f[e-1],void 0===m||q<m)m=q}),this.minRange=Math.min(5*m,this.dataMax-this.dataMin)));c-b<this.minRange&&(g=this.minRange,d=(g-c+b)/2,d=[b-d,H(a.min,b-d)],k&&(d[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=A(d),c=[b+g,H(a.max,b+g)],k&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),
-c=B(c),c-b<g&&(d[0]=c-g,d[1]=H(a.min,c-g),b=A(d)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:n(this.series,function(b){var c=b.closestPointRange,d=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&l(c)&&d&&(a=l(a)?Math.min(a,c):c)});return a},nameToX:function(a){var b=D(this.categories),c=b?this.categories:this.names,p=a.options.x,k;a.series.requireSorting=!1;l(p)||(p=!1===this.options.uniqueNames?a.series.autoIncrement():d(a.name,c));-1===p?b||
-(k=c.length):k=p;this.names[k]=a.name;return k},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=0,this.minRange=void 0,n(this.series||[],function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)b.processData(),b.generatePoints();n(b.points,function(c,d){var p;c.options&&(p=a.nameToX(c),p!==c.x&&(c.x=p,b.xData[d]=p))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,d=b.axisPointRange||0,p,k=0,m=0,e=b.linkedParent,f=!!b.categories,u=b.transA,g=b.isXAxis;if(g||
-f||d)p=b.getClosest(),e?(k=e.minPointOffset,m=e.pointRangePadding):n(b.series,function(a){var c=f?1:g?H(a.options.pointRange,p,0):b.axisPointRange||0;a=a.options.pointPlacement;d=Math.max(d,c);b.single||(k=Math.max(k,q(a)?0:c/2),m=Math.max(m,"on"===a?0:c))}),e=b.ordinalSlope&&p?b.ordinalSlope/p:1,b.minPointOffset=k*=e,b.pointRangePadding=m*=e,b.pointRange=Math.min(d,c),g&&(b.closestPointRange=p);a&&(b.oldTransA=u);b.translationSlope=b.transA=u=b.options.staticScale||b.len/(c+m||1);b.transB=b.horiz?
-b.left:b.bottom;b.minPixelPadding=u*k},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var c=this,d=c.chart,p=c.options,k=c.isLog,e=c.log2lin,q=c.isDatetimeAxis,f=c.isXAxis,g=c.isLinked,h=p.maxPadding,C=p.minPadding,x=p.tickInterval,D=p.tickPixelInterval,z=c.categories,I=c.threshold,K=c.softThreshold,r,L,B,y;q||z||g||this.getTickAmount();B=H(c.userMin,p.min);y=H(c.userMax,p.max);g?(c.linkedParent=d[c.coll][p.linkedTo],d=c.linkedParent.getExtremes(),c.min=H(d.min,d.dataMin),
-c.max=H(d.max,d.dataMax),p.type!==c.linkedParent.options.type&&a.error(11,1)):(!K&&l(I)&&(c.dataMin>=I?(r=I,C=0):c.dataMax<=I&&(L=I,h=0)),c.min=H(B,r,c.dataMin),c.max=H(y,L,c.dataMax));k&&(c.positiveValuesOnly&&!b&&0>=Math.min(c.min,H(c.dataMin,c.min))&&a.error(10,1),c.min=t(e(c.min),15),c.max=t(e(c.max),15));c.range&&l(c.max)&&(c.userMin=c.min=B=Math.max(c.min,c.minFromRange()),c.userMax=y=c.max,c.range=null);v(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(z||c.axisPointRange||
-c.usePercentage||g)&&l(c.min)&&l(c.max)&&(e=c.max-c.min)&&(!l(B)&&C&&(c.min-=e*C),!l(y)&&h&&(c.max+=e*h));u(p.floor)?c.min=Math.max(c.min,p.floor):u(p.softMin)&&(c.min=Math.min(c.min,p.softMin));u(p.ceiling)?c.max=Math.min(c.max,p.ceiling):u(p.softMax)&&(c.max=Math.max(c.max,p.softMax));K&&l(c.dataMin)&&(I=I||0,!l(B)&&c.min<I&&c.dataMin>=I?c.min=I:!l(y)&&c.max>I&&c.dataMax<=I&&(c.max=I));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:g&&!x&&D===c.linkedParent.options.tickPixelInterval?
-x=c.linkedParent.tickInterval:H(x,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,z?1:(c.max-c.min)*D/Math.max(c.len,D));f&&!b&&n(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!x&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=H(p.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);
-!x&&c.tickInterval<b&&(c.tickInterval=b);q||k||x||(c.tickInterval=G(c.tickInterval,null,m(c.tickInterval),H(p.allowDecimals,!(.5<c.tickInterval&&5>c.tickInterval&&1E3<c.max&&9999>c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,d=a.tickPositioner,k=a.startOnTick,m=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval=
-"auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=this.min===this.max&&l(this.min)&&!this.tickAmount&&!1!==a.allowDecimals;this.tickPositions=b=c&&c.slice();!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);this.paddedTicks=b.slice(0);this.trimTicks(b,k,m);this.isLinked||(this.single&&(this.min-=.5,this.max+=.5),c||d||this.adjustTickAmount())},trimTicks:function(a,b,c){var d=a[0],p=a[a.length-1],k=this.minPointOffset||0;if(!this.isLinked){if(b)this.min=d;else for(;this.min-k>a[0];)a.shift();if(c)this.max=p;else for(;this.max+k<a[a.length-1];)a.pop();0===a.length&&
-l(d)&&a.push((p+d)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||!1===c.alignTicks||this.isLog||n(this.chart[this.coll],function(c){var d=c.options,d=[c.horiz?d.left:d.top,d.width,d.height,d.pane].join();c.series.length&&(a[d]?b=!0:a[d]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!l(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&
-(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,d=this.finalTickAmt,k=b&&b.length;if(k<c){for(;b.length<c;)b.push(t(b[b.length-1]+a));this.transA*=(k-1)/(c-1);this.max=b[b.length-1]}else k>c&&(this.tickInterval*=2,this.setTickPositions());if(l(d)){for(a=c=b.length;a--;)(3===d&&1===a%2||2>=d&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,b;this.oldMin=
-this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;n(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=
-b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(a,b,c,d,k){var p=this,m=p.chart;c=H(c,!0);n(p.series,function(a){delete a.kdTree});k=z(k,{min:a,max:b});v(p,"setExtremes",k,function(){p.userMin=a;p.userMax=b;p.eventArgs=k;c&&m.redraw(d)})},zoom:function(a,b){var c=this.dataMin,d=this.dataMax,p=this.options,k=Math.min(c,H(p.min,c)),p=Math.max(d,H(p.max,d));if(a!==this.min||b!==this.max)this.allowZoomOutside||(l(c)&&(a<k&&(a=k),a>p&&(a=p)),
-l(d)&&(b<k&&(b=k),b>p&&(b=p))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsets||[0,0,0,0],d=this.horiz,k=H(b.width,a.plotWidth-c[3]+c[1]),m=H(b.height,a.plotHeight-c[0]+c[2]),e=H(b.top,a.plotTop+c[0]),b=H(b.left,a.plotLeft+c[3]),c=/%$/;c.test(m)&&(m=Math.round(parseFloat(m)/100*a.plotHeight));c.test(e)&&(e=Math.round(parseFloat(e)/100*a.plotHeight+a.plotTop));this.left=b;this.top=e;
-this.width=k;this.height=m;this.bottom=a.chartHeight-m-e;this.right=a.chartWidth-k-b;this.len=Math.max(d?k:m,0);this.pos=d?b:e},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?t(b(this.min)):this.min,max:a?t(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,d=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=d:d>a?a=d:b<a&&(a=b);return this.translate(a,0,
-1,0,1)},autoLabelAlign:function(a){a=(H(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],d=H(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,d]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,
-c=this.tickInterval,d=c,k=this.len/(((this.categories?1:0)+this.max-this.min)/c),m,e=a.rotation,q=this.labelMetrics(),u,g=Number.MAX_VALUE,h,C=function(a){a/=k||1;a=1<a?Math.ceil(a):1;return a*c};b?(h=!a.staggerLines&&!a.step&&(l(e)?[e]:k<H(a.autoRotationLimit,80)&&a.autoRotation))&&n(h,function(a){var b;if(a===e||a&&-90<=a&&90>=a)u=C(Math.abs(q.h/Math.sin(f*a))),b=u+Math.abs(a/360),b<g&&(g=b,m=a,d=u)}):a.step||(d=C(q.h));this.autoRotation=h;this.labelRotation=H(m,e);return d},getSlotWidth:function(){var a=
-this.chart,b=this.horiz,c=this.options.labels,d=Math.max(this.tickPositions.length-(this.categories?0:1),1),k=a.margin[3];return b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/d||!b&&(k&&k-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,d=this.ticks,k=this.options.labels,m=this.horiz,e=this.getSlotWidth(),f=Math.max(1,Math.round(e-2*(k.padding||5))),u={},g=this.labelMetrics(),h=k.style&&k.style.textOverflow,C,l=0,D,v;q(k.rotation)||
-(u.rotation=k.rotation||0);n(c,function(a){(a=d[a])&&a.labelLength>l&&(l=a.labelLength)});this.maxLabelLength=l;if(this.autoRotation)l>f&&l>g.h?u.rotation=this.labelRotation:this.labelRotation=0;else if(e&&(C={width:f+"px"},!h))for(C.textOverflow="clip",D=c.length;!m&&D--;)if(v=c[D],f=d[v].label)f.styles&&"ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):d[v].labelLength>e&&f.css({width:e+"px"}),f.getBBox().height>this.len/c.length-(g.h-g.f)&&(f.specCss={textOverflow:"ellipsis"});u.rotation&&
-(C={width:(l>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},h||(C.textOverflow="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))u.align=this.labelAlign;n(c,function(a){var b=(a=d[a])&&a.label;b&&(b.attr(u),C&&b.css(x(C,b.specCss)),delete b.specCss,a.rotation=u.rotation)});this.tickRotCorr=b.rotCorr(g.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||l(this.min)&&l(this.max)&&!!this.tickPositions},addTitle:function(a){var b=
-this.chart.renderer,c=this.horiz,d=this.opposite,k=this.options.title,p;this.axisTitle||((p=k.textAlign)||(p=(c?{low:"left",middle:"center",high:"right"}:{low:d?"right":"left",middle:"center",high:d?"left":"right"})[k.align]),this.axisTitle=b.text(k.text,0,0,k.useHTML).attr({zIndex:7,rotation:k.rotation||0,align:p}).addClass("highcharts-axis-title").css(k.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():
-b[a]=new K(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,k=a.tickPositions,m=a.ticks,e=a.horiz,f=a.side,q=b.inverted?[1,0,3,2][f]:f,u,g,h=0,C,x=0,D=d.title,v=d.labels,G=0,I=b.axisOffset,b=b.clipOffset,z=[-1,1,1,-1][f],K,r=d.className,L=a.axisParent,t=this.tickSize("tick");u=a.hasData();a.showAxis=g=u||H(d.showEmpty,!0);a.staggerLines=a.horiz&&v.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+
-"-grid "+(r||"")).add(L),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(r||"")).add(L),a.labelGroup=c.g("axis-labels").attr({zIndex:v.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(r||"")).add(L));if(u||a.isLinked)n(k,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),!1===v.reserveSpace||0!==f&&2!==f&&{1:"left",3:"right"}[f]!==a.labelAlign&&"center"!==a.labelAlign||n(k,function(a){G=Math.max(m[a].getLabelSize(),G)}),
-a.staggerLines&&(G*=a.staggerLines,a.labelOffset=G*(a.opposite?-1:1));else for(K in m)m[K].destroy(),delete m[K];D&&D.text&&!1!==D.enabled&&(a.addTitle(g),g&&(h=a.axisTitle.getBBox()[e?"height":"width"],C=D.offset,x=l(C)?0:H(D.margin,e?5:10)));a.renderLine();a.offset=z*H(d.offset,I[f]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===f?-a.labelMetrics().h:2===f?a.tickRotCorr.y:0;x=Math.abs(G)+x;G&&(x=x-c+z*(e?H(v.y,a.tickRotCorr.y+8*z):v.x));a.axisTitleMargin=H(C,x);I[f]=Math.max(I[f],a.axisTitleMargin+
-h+z*a.offset,x,u&&k.length&&t?t[0]+z*a.offset:0);d=d.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[q]=Math.max(b[q],d)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,k=this.horiz,p=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",k?this.left:p,k?d:this.top,"L",k?b.chartWidth-this.right:p,k?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),
-this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,k=this.options.title,m=a?b:c,e=this.opposite,f=this.offset,q=k.x||0,u=k.y||0,g=this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,this.axisTitle).f,d={low:m+(a?0:d),middle:m+d/2,high:m+(a?d:0)}[k.align],b=(a?c+this.height:b)+(a?1:-1)*(e?-1:1)*this.axisTitleMargin+(2===this.side?g:0);return{x:a?d+q:b+(e?this.width:
-0)+f+q,y:a?b+u-(e?this.height:0)+f:d+u}},renderMinorTick:function(a){var b=this.chart.hasRendered&&u(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new K(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,1)},renderTick:function(a,b){var c=this.isLinked,d=this.ticks,k=this.chart.hasRendered&&u(this.oldMin);if(!c||a>=this.min&&a<=this.max)d[a]||(d[a]=new K(this,a)),k&&d[a].isNew&&d[a].render(b,!0,.1),d[a].render(b)},render:function(){var a=this,b=a.chart,c=a.options,d=a.isLog,m=a.lin2log,
-e=a.isLinked,f=a.tickPositions,q=a.axisTitle,u=a.ticks,g=a.minorTicks,h=a.alternateBands,C=c.stackLabels,x=c.alternateGridColor,l=a.tickmarkOffset,D=a.axisLine,v=a.showAxis,G=E(b.renderer.globalAnimation),I,z;a.labelEdge.length=0;a.overlap=!1;n([u,g,h],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||e)a.minorTickInterval&&!a.categories&&n(a.getMinorTickPositions(),function(b){a.renderMinorTick(b)}),f.length&&(n(f,function(b,c){a.renderTick(b,c)}),l&&(0===a.min||a.single)&&(u[-1]||(u[-1]=
-new K(a,-1,null,!0)),u[-1].render(-1))),x&&n(f,function(c,e){z=void 0!==f[e+1]?f[e+1]+l:a.max-l;0===e%2&&c<a.max&&z<=a.max+(b.polar?-l:l)&&(h[c]||(h[c]=new k(a)),I=c+l,h[c].options={from:d?m(I):I,to:d?m(z):z,color:x},h[c].render(),h[c].isActive=!0)}),a._addedPlotLB||(n((c.plotLines||[]).concat(c.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);n([u,g,h],function(a){var c,d,k=[],m=G.duration;for(c in a)a[c].isActive||(a[c].render(c,!1,0),a[c].isActive=!1,k.push(c));L(function(){for(d=
-k.length;d--;)a[k[d]]&&!a[k[d]].isActive&&(a[k[d]].destroy(),delete a[k[d]])},a!==h&&b.hasRendered&&m?m:0)});D&&(D[D.isPlaced?"animate":"attr"]({d:this.getLinePath(D.strokeWidth())}),D.isPlaced=!0,D[v?"show":"hide"](!0));q&&v&&(q[q.isNew?"attr":"animate"](a.getTitlePosition()),q.isNew=!1);C&&C.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.visible&&(this.render(),n(this.plotLinesAndBands,function(a){a.render()}));n(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),
-destroy:function(a){var b=this,c=b.stacks,k,m=b.plotLinesAndBands,p;a||C(b);for(k in c)e(c[k]),c[k]=null;n([b.ticks,b.minorTicks,b.alternateBands],function(a){e(a)});if(m)for(a=m.length;a--;)m[a].destroy();n("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(p in b)b.hasOwnProperty(p)&&-1===d(p,b.keepProps)&&delete b[p]},drawCrosshair:function(a,b){var c,d=this.crosshair,k=H(d.snap,!0),m,e=this.cross;a||(a=this.cross&&
-this.cross.e);this.crosshair&&!1!==(l(b)||!k)?(k?l(b)&&(m=this.isXAxis?b.plotX:this.len-b.plotY):m=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),l(m)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:H(b.stackY,b.y)),null,null,null,m)||null),l(c)?(b=this.categories&&!this.isRadial,e||(this.cross=e=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(b?"category ":"thin ")+d.className).attr({zIndex:H(d.zIndex,2)}).add(),e.attr({stroke:d.color||(b?g("#ccd6eb").setOpacity(.25).get():
-"#cccccc"),"stroke-width":H(d.width,1)}),d.dashStyle&&e.attr({dashstyle:d.dashStyle})),e.show().attr({d:c}),b&&!d.width&&e.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};z(a.Axis.prototype,h)})(J);(function(a){var y=a.Axis,E=a.getMagnitude,A=a.map,B=a.normalizeTickInterval,h=a.pick;y.prototype.getLogTickPositions=function(a,t,r,l){var f=this.options,e=this.len,g=this.lin2log,z=this.log2lin,v=[];
-l||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),v=this.getLinearTickPositions(a,t,r);else if(.08<=a)for(var e=Math.floor(t),b,m,c,d,D,f=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];e<r+1&&!D;e++)for(m=f.length,b=0;b<m&&!D;b++)c=z(g(e)*f[b]),c>t&&(!l||d<=r)&&void 0!==d&&v.push(d),d>r&&(D=!0),d=c;else t=g(t),r=g(r),a=f[l?"minorTickInterval":"tickInterval"],a=h("auto"===a?null:a,this._minorAutoInterval,f.tickPixelInterval/(l?5:1)*(r-t)/((l?e/this.tickPositions.length:e)||1)),a=B(a,null,
-E(a)),v=A(this.getLinearTickPositions(a,t,r),z),l||(this._minorAutoInterval=a/5);l||(this.tickInterval=a);return v};y.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};y.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a){var y=a.dateFormat,E=a.each,A=a.extend,B=a.format,h=a.isNumber,g=a.map,t=a.merge,r=a.pick,l=a.splat,f=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,e){this.chart=a;this.options=
-e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!a.inverted;this.shared=e.shared||this.split},cleanSplit:function(a){E(this.chart.series,function(e){var f=e&&e.tt;f&&(!f.isActive||a?e.tt=f.destroy():f.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,e=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,e.shape||"callout",null,null,e.useHTML,null,"tooltip").attr({padding:e.padding,r:e.borderRadius}),this.label.attr({fill:e.backgroundColor,
-"stroke-width":e.borderWidth}).css(e.style).shadow(e.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,t(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,e,f,b){var m=this,c=m.now,d=!1!==m.options.animation&&!m.isHidden&&(1<Math.abs(a-c.x)||
-1<Math.abs(e-c.y)),g=m.followPointer||1<m.len;A(c,{x:d?(2*c.x+a)/3:a,y:d?(c.y+e)/2:e,anchorX:g?void 0:d?(2*c.anchorX+f)/3:f,anchorY:g?void 0:d?(c.anchorY+b)/2:b});m.getLabel().attr(c);d&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){m&&m.move(a,e,f,b)},32))},hide:function(a){var e=this;clearTimeout(this.hideTimer);a=r(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=f(function(){e.getLabel()[a?"fadeOut":"hide"]();e.isHidden=!0},a))},getAnchor:function(a,
-e){var f,b=this.chart,m=b.inverted,c=b.plotTop,d=b.plotLeft,h=0,u=0,q,n;a=l(a);f=a[0].tooltipPos;this.followPointer&&e&&(void 0===e.chartX&&(e=b.pointer.normalize(e)),f=[e.chartX-b.plotLeft,e.chartY-c]);f||(E(a,function(a){q=a.series.yAxis;n=a.series.xAxis;h+=a.plotX+(!m&&n?n.left-d:0);u+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!m&&q?q.top-c:0)}),h/=a.length,u/=a.length,f=[m?b.plotWidth-u:h,this.shared&&!m&&1<a.length&&e?e.chartY-c:m?b.plotHeight-h:u]);return g(f,Math.round)},getPosition:function(a,
-e,f){var b=this.chart,m=this.distance,c={},d=f.h||0,g,u=["y",b.chartHeight,e,f.plotY+b.plotTop,b.plotTop,b.plotTop+b.plotHeight],q=["x",b.chartWidth,a,f.plotX+b.plotLeft,b.plotLeft,b.plotLeft+b.plotWidth],h=!this.followPointer&&r(f.ttBelow,!b.inverted===!!f.negative),n=function(a,b,k,e,f,q){var p=k<e-m,u=e+m+k<b,g=e-m-k;e+=m;if(h&&u)c[a]=e;else if(!h&&p)c[a]=g;else if(p)c[a]=Math.min(q-k,0>g-d?g:g-d);else if(u)c[a]=Math.max(f,e+d+k>b?e:e+d);else return!1},l=function(a,b,d,k){var e;k<m||k>b-m?e=!1:
-c[a]=k<d/2?1:k>b-d/2?b-d-2:k-d/2;return e},k=function(a){var b=u;u=q;q=b;g=a},C=function(){!1!==n.apply(0,u)?!1!==l.apply(0,q)||g||(k(!0),C()):g?c.x=c.y=0:(k(!0),C())};(b.inverted||1<this.len)&&k();C();return c},defaultFormatter:function(a){var e=this.points||l(this),f;f=[a.tooltipFooterHeaderFormatter(e[0])];f=f.concat(a.bodyFormatter(e));f.push(a.tooltipFooterHeaderFormatter(e[0],!0));return f},refresh:function(a,e){var f,b=this.options,m,c=a,d,g={},u=[];f=b.formatter||this.defaultFormatter;var g=
-this.shared,q;clearTimeout(this.hideTimer);this.followPointer=l(c)[0].series.tooltipOptions.followPointer;d=this.getAnchor(c,e);e=d[0];m=d[1];!g||c.series&&c.series.noSharedTooltip?g=c.getLabelConfig():(E(c,function(a){a.setState("hover");u.push(a.getLabelConfig())}),g={x:c[0].category,y:c[0].y},g.points=u,c=c[0]);this.len=u.length;g=f.call(g,this);q=c.series;this.distance=r(q.tooltipOptions.distance,16);!1===g?this.hide():(f=this.getLabel(),this.isHidden&&f.attr({opacity:1}).show(),this.split?this.renderSplit(g,
-a):(f.attr({text:g&&g.join?g.join(""):g}),f.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+r(c.colorIndex,q.colorIndex)),f.attr({stroke:b.borderColor||c.color||q.color||"#666666"}),this.updatePosition({plotX:e,plotY:m,negative:c.negative,ttBelow:c.ttBelow,h:d[2]||0})),this.isHidden=!1)},renderSplit:function(e,f){var g=this,b=[],m=this.chart,c=m.renderer,d=!0,h=this.options,u,q=this.getLabel();E(e.slice(0,f.length+1),function(a,e){e=f[e-1]||{isHeader:!0,plotX:f[0].plotX};var n=
-e.series||g,k=n.tt,C=e.series||{},l="highcharts-color-"+r(e.colorIndex,C.colorIndex,"none");k||(n.tt=k=c.label(null,null,null,"callout").addClass("highcharts-tooltip-box "+l).attr({padding:h.padding,r:h.borderRadius,fill:h.backgroundColor,stroke:e.color||C.color||"#333333","stroke-width":h.borderWidth}).add(q));k.isActive=!0;k.attr({text:a});k.css(h.style);a=k.getBBox();C=a.width+k.strokeWidth();e.isHeader?(u=a.height,C=Math.max(0,Math.min(e.plotX+m.plotLeft-C/2,m.chartWidth-C))):C=e.plotX+m.plotLeft-
-r(h.distance,16)-C;0>C&&(d=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=m.plotTop;b.push({target:e.isHeader?m.plotHeight+u:a,rank:e.isHeader?1:0,size:n.tt.getBBox().height+1,point:e,x:C,tt:k})});this.cleanSplit();a.distribute(b,m.plotHeight+u);E(b,function(a){var b=a.point,c=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:d||b.isHeader?a.x:b.plotX+m.plotLeft+r(h.distance,16),y:a.pos+m.plotTop,anchorX:b.isHeader?b.plotX+m.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?
-a.pos+m.plotTop-15:b.plotY+c.yAxis.pos})})},updatePosition:function(a){var e=this.chart,f=this.getLabel(),f=(this.options.positioner||this.getPosition).call(this,f.width,f.height,a);this.move(Math.round(f.x),Math.round(f.y||0),a.plotX+e.plotLeft,a.plotY+e.plotTop)},getDateFormat:function(a,f,g,b){var m=y("%m-%d %H:%M:%S.%L",f),c,d,h={millisecond:15,second:12,minute:9,hour:6,day:3},u="millisecond";for(d in e){if(a===e.week&&+y("%w",f)===g&&"00:00:00.000"===m.substr(6)){d="week";break}if(e[d]>a){d=
-u;break}if(h[d]&&m.substr(h[d])!=="01-01 00:00:00.000".substr(h[d]))break;"week"!==d&&(u=d)}d&&(c=b[d]);return c},getXDateFormat:function(a,e,f){e=e.dateTimeLabelFormats;var b=f&&f.closestPointRange;return(b?this.getDateFormat(b,a.x,f.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){var f=e?"footer":"header";e=a.series;var b=e.tooltipOptions,m=b.xDateFormat,c=e.xAxis,d=c&&"datetime"===c.options.type&&h(a.key),f=b[f+"Format"];d&&!m&&(m=this.getXDateFormat(a,b,c));d&&
-m&&(f=f.replace("{point.key}","{point.key:"+m+"}"));return B(f,{point:a,series:e})},bodyFormatter:function(a){return g(a,function(a){var e=a.series.tooltipOptions;return(e.pointFormatter||a.point.tooltipFormatter).call(a.point,e.pointFormat)})}}})(J);(function(a){var y=a.addEvent,E=a.attr,A=a.charts,B=a.color,h=a.css,g=a.defined,t=a.doc,r=a.each,l=a.extend,f=a.fireEvent,e=a.offset,n=a.pick,z=a.removeEvent,v=a.splat,b=a.Tooltip,m=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,
-d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&!!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&d.tooltip.enabled&&(a.tooltip=new b(a,d.tooltip),this.followTouchMove=n(d.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,e=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(e=n(c.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=
-a||e},normalize:function(a,b){var c,d;a=a||m.event;a.target||(a.target=a.srcElement);d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=e(this.chart.container));void 0===d.pageX?(c=Math.max(a.x,a.clientX-b.left),b=a.y):(c=d.pageX-b.left,b=d.pageY-b.top);return l(a,{chartX:Math.round(c),chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};r(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?
-"chartX":"chartY"])})});return b},getKDPoints:function(a,b,e){var c=[],d,m,f;r(a,function(a){d=a.noSharedTooltip&&b;m=!b&&a.directTouch;a.visible&&!d&&!m&&n(a.options.enableMouseTracking,!0)&&(f=a.searchPoint(e,!d&&1===a.kdDimensions))&&f.series&&c.push(f)});c.sort(function(a,c){var d=a.distX-c.distX,k=a.dist-c.dist,e=(c.series.group&&c.series.group.zIndex)-(a.series.group&&a.series.group.zIndex);return 0!==d&&b?d:0!==k?k:0!==e?e:a.series.index>c.series.index?-1:1});if(b)for(a=c.length;a--;)(c[a].x!==
-c[0].x||c[a].series.noSharedTooltip)&&c.splice(a,1);return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getHoverData:function(a,b,e,m,f,g){var c=a;a=b;var d;if(m)f?(d=[],r(e,function(a){var b=a.noSharedTooltip&&f,k=!f&&a.directTouch;a.visible&&!b&&!k&&n(a.options.enableMouseTracking,!0)&&(a=a.searchKDTree({clientX:c.clientX,plotY:c.plotY},!b&&1===a.kdDimensions))&&a.series&&d.push(a)}),0===d.length&&(d=[c])):d=[c];else{if(a&&!a.options.stickyTracking)d=
-this.getKDPoints([a],f,g);else{if(!f)if(a)a.options.stickyTracking||(e=[a]);else for(m=0;m<e.length;m++)if(e[m].directTouch||!e[m].options.stickyTracking)e=[];d=this.getKDPoints(e,f,g)}a=(c=d[0])&&c.series}d.sort(function(a,b){return a.series.index-b.series.index});return{hoverPoint:c,hoverSeries:a,hoverPoints:d}},runPointActions:function(b,d){var c=this.chart,e=c.tooltip,m=e?e.shared:!1,f=d||c.hoverPoint,g=f&&f.series||c.hoverSeries;d=this.getHoverData(f,g,c.series,!!d||g&&g.directTouch,m,b);var h,
-k,f=d.hoverPoint;h=(g=d.hoverSeries)&&g.tooltipOptions.followPointer;k=(m=m&&f&&!f.series.noSharedTooltip)?d.hoverPoints:[f];if(f&&(f!==c.hoverPoint||e&&e.isHidden)){r(c.hoverPoints||[],function(b){-1===a.inArray(b,k)&&b.setState()});r(k||[],function(a){a.setState("hover")});if(c.hoverSeries!==g)g.onMouseOver();g&&!g.directTouch&&(c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut"),f.firePointEvent("mouseOver"));c.hoverPoints=k;c.hoverPoint=f;e&&e.refresh(m?k:f,b)}else h&&e&&!e.isHidden&&(f=e.getAnchor([{}],
-b),e.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=y(t,"mousemove",function(b){var c=A[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));r(k,function(a){r(c.axes,function(c){(!a||a.series&&a.series[c.coll]===c)&&c.drawCrosshair(b,a)})})},reset:function(a,b){var c=this.chart,d=c.hoverSeries,e=c.hoverPoint,m=c.hoverPoints,f=c.tooltip,g=f&&f.shared?m:e;a&&g&&r(v(g),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&g&&(f.refresh(g),e&&
-(e.setState(e.state,!0),r(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,e)})));else{if(e)e.onMouseOut();m&&r(m,function(a){a.setState()});if(d)d.onMouseOut();f&&f.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());r(c.axes,function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,d;r(c.series,function(e){d=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&e.group&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),
-e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,e=a.chartX,m=a.chartY,f=this.zoomHor,g=this.zoomVert,h=b.plotLeft,k=b.plotTop,C=b.plotWidth,l=b.plotHeight,n,v=this.selectionMarker,p=this.mouseDownX,r=this.mouseDownY,t=c.panKey&&
-a[c.panKey+"Key"];v&&v.touch||(e<h?e=h:e>h+C&&(e=h+C),m<k?m=k:m>k+l&&(m=k+l),this.hasDragged=Math.sqrt(Math.pow(p-e,2)+Math.pow(r-m,2)),10<this.hasDragged&&(n=b.isInsidePlot(p-h,r-k),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&n&&!t&&!v&&(this.selectionMarker=v=b.renderer.rect(h,k,f?1:C,g?1:l,0).attr({fill:c.selectionMarkerFill||B("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),v&&f&&(e-=p,v.attr({width:Math.abs(e),x:(0<e?0:e)+p})),v&&g&&(e=m-r,v.attr({height:Math.abs(e),
-y:(0<e?0:e)+r})),n&&!v&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,e=this.hasPinched;if(this.selectionMarker){var m={originalEvent:a,xAxis:[],yAxis:[]},n=this.selectionMarker,v=n.attr?n.attr("x"):n.x,t=n.attr?n.attr("y"):n.y,k=n.attr?n.attr("width"):n.width,C=n.attr?n.attr("height"):n.height,I;if(this.hasDragged||e)r(c.axes,function(c){if(c.zoomEnabled&&g(c.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var d=c.horiz,f="touchend"===a.type?c.minPixelPadding:0,q=
-c.toValue((d?v:t)+f),d=c.toValue((d?v+k:t+C)-f);m[c.coll].push({axis:c,min:Math.min(q,d),max:Math.max(q,d)});I=!0}}),I&&f(c,"selection",m,function(a){c.zoom(l(a,e?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}c&&(h(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();
-this.dragStart(a)},onDocumentMouseUp:function(b){A[a.hoverChartIndex]&&A[a.hoverChartIndex].pointer.drop(b)},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(b){var c=A[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=
-this.chart;g(a.hoverChartIndex)&&A[a.hoverChartIndex]&&A[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=E(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=
-this.chart.hoverSeries;a=a.relatedTarget||a.toElement;if(!(!b||!a||b.options.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,e=b.plotLeft,m=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(f(c.series,"click",l(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(l(a,this.getCoordinates(a)),
-b.isInsidePlot(a.chartX-e,a.chartY-m)&&f(b,"click",a)))},setDOMEvents:function(){var b=this,d=b.chart.container;d.onmousedown=function(a){b.onContainerMouseDown(a)};d.onmousemove=function(a){b.onContainerMouseMove(a)};d.onclick=function(a){b.onContainerClick(a)};y(d,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&y(t,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(d.ontouchstart=function(a){b.onContainerTouchStart(a)},d.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&y(t,
-"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;z(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||(z(t,"mouseup",this.onDocumentMouseUp),z(t,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in this)this[b]=null}}})(J);(function(a){var y=a.charts,E=a.each,A=a.extend,B=a.map,h=a.noop,g=a.pick;A(a.Pointer.prototype,{pinchTranslate:function(a,g,h,f,e,n){this.zoomHor&&this.pinchTranslateDirection(!0,a,g,h,f,e,n);this.zoomVert&&this.pinchTranslateDirection(!1,
-a,g,h,f,e,n)},pinchTranslateDirection:function(a,g,h,f,e,n,z,v){var b=this.chart,m=a?"x":"y",c=a?"X":"Y",d="chart"+c,l=a?"width":"height",u=b["plot"+(a?"Left":"Top")],q,x,G=v||1,r=b.inverted,k=b.bounds[a?"h":"v"],C=1===g.length,I=g[0][d],t=h[0][d],K=!C&&g[1][d],p=!C&&h[1][d],F;h=function(){!C&&20<Math.abs(I-K)&&(G=v||Math.abs(t-p)/Math.abs(I-K));x=(u-t)/G+I;q=b["plot"+(a?"Width":"Height")]/G};h();g=x;g<k.min?(g=k.min,F=!0):g+q>k.max&&(g=k.max-q,F=!0);F?(t-=.8*(t-z[m][0]),C||(p-=.8*(p-z[m][1])),h()):
-z[m]=[t,p];r||(n[m]=x-u,n[l]=q);n=r?1/G:G;e[l]=q;e[m]=g;f[r?a?"scaleY":"scaleX":"scale"+c]=G;f["translate"+c]=n*u+(t-n*I)},pinch:function(a){var r=this,l=r.chart,f=r.pinchDown,e=a.touches,n=e.length,t=r.lastValidTouch,v=r.hasZoom,b=r.selectionMarker,m={},c=1===n&&(r.inClass(a.target,"highcharts-tracker")&&l.runTrackerClick||r.runChartClick),d={};1<n&&(r.initiated=!0);v&&r.initiated&&!c&&a.preventDefault();B(e,function(a){return r.normalize(a)});"touchstart"===a.type?(E(e,function(a,b){f[b]={chartX:a.chartX,
-chartY:a.chartY}}),t.x=[f[0].chartX,f[1]&&f[1].chartX],t.y=[f[0].chartY,f[1]&&f[1].chartY],E(l.axes,function(a){if(a.zoomEnabled){var b=l.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,d=a.toPixels(g(a.options.min,a.dataMin)),e=a.toPixels(g(a.options.max,a.dataMax)),m=Math.max(d,e);b.min=Math.min(a.pos,Math.min(d,e)-c);b.max=Math.max(a.pos+a.len,m+c)}}),r.res=!0):r.followTouchMove&&1===n?this.runPointActions(r.normalize(a)):f.length&&(b||(r.selectionMarker=b=A({destroy:h,touch:!0},l.plotBox)),r.pinchTranslate(f,
-e,m,b,d,t),r.hasPinched=v,r.scaleGroups(m,d),r.res&&(r.res=!1,this.reset(!1,0)))},touch:function(h,r){var l=this.chart,f,e;if(l.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=l.index;1===h.touches.length?(h=this.normalize(h),(e=l.isInsidePlot(h.chartX-l.plotLeft,h.chartY-l.plotTop))&&!l.openMenu?(r&&this.runPointActions(h),"touchmove"===h.type&&(r=this.pinchDown,f=r[0]?4<=Math.sqrt(Math.pow(r[0].chartX-h.chartX,2)+Math.pow(r[0].chartY-h.chartY,2)):!1),g(f,
-!0)&&this.pinch(h)):r&&this.reset()):2===h.touches.length&&this.pinch(h)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){y[a.hoverChartIndex]&&y[a.hoverChartIndex].pointer.drop(g)}})})(J);(function(a){var y=a.addEvent,E=a.charts,A=a.css,B=a.doc,h=a.extend,g=a.noop,t=a.Pointer,r=a.removeEvent,l=a.win,f=a.wrap;if(l.PointerEvent||l.MSPointerEvent){var e={},n=!!l.PointerEvent,z=function(){var a,m=[];
-m.item=function(a){return this[a]};for(a in e)e.hasOwnProperty(a)&&m.push({pageX:e[a].pageX,pageY:e[a].pageY,target:e[a].target});return m},v=function(b,e,c,d){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!E[a.hoverChartIndex]||(d(b),d=E[a.hoverChartIndex].pointer,d[e]({type:c,target:b.currentTarget,preventDefault:g,touches:z()}))};h(t.prototype,{onContainerPointerDown:function(a){v(a,"onContainerTouchStart","touchstart",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY,
-target:a.currentTarget}})},onContainerPointerMove:function(a){v(a,"onContainerTouchMove","touchmove",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY};e[a.pointerId].target||(e[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){v(a,"onDocumentTouchEnd","touchend",function(a){delete e[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,n?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,n?"pointermove":"MSPointerMove",this.onContainerPointerMove);
-a(B,n?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});f(t.prototype,"init",function(a,e,c){a.call(this,e,c);this.hasZoom&&A(e.container,{"-ms-touch-action":"none","touch-action":"none"})});f(t.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(y)});f(t.prototype,"destroy",function(a){this.batchMSEvents(r);a.call(this)})}})(J);(function(a){var y,E=a.addEvent,A=a.css,B=a.discardElement,h=a.defined,g=a.each,t=a.isFirefox,r=a.marginNames,
-l=a.merge,f=a.pick,e=a.setAnimation,n=a.stableSort,z=a.win,v=a.wrap;y=a.Legend=function(a,e){this.init(a,e)};y.prototype={init:function(a,e){this.chart=a;this.setOptions(e);e.enabled&&(this.render(),E(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=f(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=l(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.initialItemX=this.padding=b;this.initialItemY=
-b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=f(a.symbolWidth,16);this.pages=[]},update:function(a,e){var b=this.chart;this.setOptions(l(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;f(e,!0)&&b.redraw()},colorizeItem:function(a,e){a.legendGroup[e?"removeClass":"addClass"]("highcharts-legend-item-hidden");var b=this.options,d=a.legendItem,f=a.legendLine,m=a.legendSymbol,g=this.itemHiddenStyle.color,b=e?b.itemStyle.color:g,h=e?a.color||g:g,n=a.options&&a.options.marker,
-l={fill:h},k;d&&d.css({fill:b,color:b});f&&f.attr({stroke:h});if(m){if(n&&m.isMarker&&(l=a.pointAttribs(),!e))for(k in l)l[k]=g;m.attr(l)}},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);f&&(f.x=e,f.y=d)},destroyItem:function(a){var b=a.checkbox;g(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&B(a.checkbox)},
-destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}g(this.getAllItems(),function(b){g(["legendItem","legendGroup"],a,b)});g("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,c,d=this.clipHeight||this.legendHeight,e=this.titleHeight;b&&(c=b.translateY,g(this.allItems,function(f){var m=f.checkbox,g;m&&(g=c+e+m.y+(a||0)+3,A(m,{left:b.translateX+f.checkboxOffset+m.x-20+"px",top:g+
-"px",display:g>c-6&&g<c+d-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,e=this.options.title,c=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(e.style).add(this.group)),a=this.title.getBBox(),c=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:c}));this.titleHeight=c},setText:function(b){var e=this.options;b.legendItem.attr({text:e.labelFormat?a.format(e.labelFormat,b):e.labelFormatter.call(b)})},
-renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,e="horizontal"===d.layout,g=this.symbolWidth,h=d.symbolPadding,n=this.itemStyle,v=this.itemHiddenStyle,r=this.padding,k=e?f(d.itemDistance,20):0,C=!d.rtl,I=d.width,z=d.itemMarginBottom||0,K=this.itemMarginTop,p=this.initialItemX,t=a.legendItem,M=!a.series,B=!M&&a.series.drawLegendSymbol?a.series:a,y=B.options,y=this.createCheckboxForItem&&y&&y.showCheckbox,A=d.useHTML;t||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+B.type+
-"-series highcharts-color-"+a.colorIndex+(a.options.className?" "+a.options.className:"")+(M?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=t=c.text("",C?g+h:-h,this.baseline||0,A).css(l(a.visible?n:v)).attr({align:C?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(n=n.fontSize,this.fontMetrics=c.fontMetrics(n,t),this.baseline=this.fontMetrics.f+3+K,t.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,B.drawLegendSymbol(this,
-a),this.setItemEvents&&this.setItemEvents(a,t,A),y&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);c=t.getBBox();g=a.checkboxOffset=d.itemWidth||a.legendItemWidth||g+h+c.width+k+(y?20:0);this.itemHeight=h=Math.round(a.legendItemHeight||c.height);e&&this.itemX-p+g>(I||b.chartWidth-2*r-p-d.x)&&(this.itemX=p,this.itemY+=K+this.lastLineHeight+z,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,g);this.lastItemY=K+this.itemY+z;this.lastLineHeight=Math.max(h,
-this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=g:(this.itemY+=K+h+z,this.lastLineHeight=h);this.offsetWidth=I||Math.max((e?this.itemX-p-k:g)+r,this.offsetWidth)},getAllItems:function(){var a=[];g(this.chart.series,function(b){var c=b&&b.options;b&&f(c.showInLegend,h(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},adjustMargins:function(a,e){var b=this.chart,d=this.options,m=d.align.charAt(0)+d.verticalAlign.charAt(0)+
-d.layout.charAt(0);d.floating||g([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,g){c.test(m)&&!h(a[g])&&(b[r[g]]=Math.max(b[r[g]],b.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+f(d.margin,12)+e[g]))})},render:function(){var a=this,e=a.chart,c=e.renderer,d=a.group,f,h,q,x,v=a.box,r=a.options,k=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;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();f=a.getAllItems();n(f,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});r.reversed&&f.reverse();a.allItems=f;a.display=h=!!f.length;a.lastLineHeight=0;g(f,function(b){a.renderItem(b)});q=(r.width||a.offsetWidth)+k;x=a.lastItemY+a.lastLineHeight+a.titleHeight;x=a.handleOverflow(x);x+=k;v||(a.box=v=c.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(d),
-v.isNew=!0);v.attr({stroke:r.borderColor,"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow);0<q&&0<x&&(v[v.isNew?"attr":"animate"](v.crisp({x:0,y:0,width:q,height:x},v.strokeWidth())),v.isNew=!1);v[h?"show":"hide"]();a.legendWidth=q;a.legendHeight=x;g(f,function(b){a.positionItem(b)});h&&d.align(l(r,{width:q,height:x}),!0,"spacingBox");e.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,h=e.y,c=c.spacingBox.height+
-("top"===e.verticalAlign?-h:h)-this.padding,h=e.maxHeight,q,n=this.clipRect,l=e.navigation,v=f(l.animation,!0),k=l.arrowSize||12,C=this.nav,I=this.pages,r=this.padding,K,p=this.allItems,t=function(a){a?n.attr({height:a}):n&&(b.clipRect=n.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+r+"px,9999px,"+(r+a)+"px,0)":"auto")};"horizontal"!==e.layout||"middle"===e.verticalAlign||e.floating||(c/=2);h&&(c=Math.min(c,h));I.length=0;a>c&&!1!==l.enabled?(this.clipHeight=
-q=Math.max(c-20-this.titleHeight-r,0),this.currentPage=f(this.currentPage,1),this.fullHeight=a,g(p,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var d=I.length;if(!d||c-I[d-1]>q&&(K||c)!==I[d-1])I.push(K||c),d++;b===p.length-1&&c+a-I[d-1]>q&&I.push(c);c!==K&&(K=c)}),n||(n=b.clipRect=d.clipRect(0,r,9999,0),b.contentGroup.clip(n)),t(q),C||(this.nav=C=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,k,k).on("click",function(){b.scroll(-1,v)}).add(C),
-this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").css(l.style).add(C),this.down=d.symbol("triangle-down",0,0,k,k).on("click",function(){b.scroll(1,v)}).add(C)),b.scroll(0),a=c):C&&(t(),this.nav=C.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,f){var b=this.pages,d=b.length;a=this.currentPage+a;var m=this.clipHeight,g=this.options.navigation,h=this.pager,n=this.padding;a>d&&(a=d);0<a&&(void 0!==f&&e(f,this.chart),this.nav.attr({translateX:n,
-translateY:m+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),h.attr({text:a+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?g.inactiveColor:g.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===d?g.inactiveColor:g.activeColor}).css({cursor:a===d?"default":"pointer"}),
-f=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:f}),this.currentPage=a,this.positionCheckboxes(f))}};a.LegendSymbolMixin={drawRectangle:function(a,e){var b=a.symbolHeight,d=a.options.squareSymbol;e.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-b)/2:0,a.baseline-b+1,d?b:a.symbolWidth,b,f(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(e.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,d=a.symbolWidth,e=a.symbolHeight,g=
-e/2,h=this.chart.renderer,n=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var v;v={"stroke-width":b.lineWidth||0};b.dashStyle&&(v.dashstyle=b.dashStyle);this.legendLine=h.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr(v).add(n);c&&!1!==c.enabled&&(b=Math.min(f(c.radius,g),g),0===this.symbol.indexOf("url")&&(c=l(c,{width:e,height:e}),b=0),this.legendSymbol=c=h.symbol(this.symbol,d/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(n),c.isMarker=!0)}};(/Trident\/7\.0/.test(z.navigator.userAgent)||
-t)&&v(y.prototype,"positionItem",function(a,e){var b=this,d=function(){e._legendItemPos&&a.call(b,e)};d();setTimeout(d)})})(J);(function(a){var y=a.addEvent,E=a.animate,A=a.animObject,B=a.attr,h=a.doc,g=a.Axis,t=a.createElement,r=a.defaultOptions,l=a.discardElement,f=a.charts,e=a.css,n=a.defined,z=a.each,v=a.extend,b=a.find,m=a.fireEvent,c=a.getStyle,d=a.grep,D=a.isNumber,u=a.isObject,q=a.isString,x=a.Legend,G=a.marginNames,H=a.merge,k=a.Pointer,C=a.pick,I=a.pInt,L=a.removeEvent,K=a.seriesTypes,p=
-a.splat,F=a.svg,M=a.syncTimeout,N=a.win,S=a.Renderer,O=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new O(a,b,c)};O.prototype={callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(q(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,c){var d,e=b.series;b.series=null;d=H(r,b);d.series=b.series=e;this.userOptions=b;b=d.chart;e=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=c;this.isResizing=
-0;this.options=d;this.axes=[];this.series=[];this.hasCartesianSeries=b.showAxes;var k;this.index=f.length;f.push(this);a.chartCount++;if(e)for(k in e)y(this,k,e[k]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},initSeries:function(b){var c=this.options.chart;(c=K[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=
-b[a].name||"Series "+(b[a].index+1))},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){var c=this.axes,d=this.series,e=this.pointer,k=this.legend,f=this.isDirtyLegend,g,p,h=this.hasCartesianSeries,q=this.isDirtyBox,n,l=this.renderer,C=l.isHidden(),u=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);C&&this.cloneRenderTo();this.layOutTitles();for(b=d.length;b--;)if(n=d[b],n.options.stacking&&(g=!0,n.isDirty)){p=
-!0;break}if(p)for(b=d.length;b--;)n=d[b],n.options.stacking&&(n.isDirty=!0);z(d,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),f=!0);a.isDirtyData&&m(a,"updatedData")});f&&k.options.enabled&&(k.render(),this.isDirtyLegend=!1);g&&this.getStacks();h&&z(c,function(a){a.updateNames();a.setScale()});this.getMargins();h&&(z(c,function(a){a.isDirty&&(q=!0)}),z(c,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,u.push(function(){m(a,"afterSetExtremes",
-v(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(q||g)&&a.redraw()}));q&&this.drawChartBox();m(this,"predraw");z(d,function(a){(q||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);l.draw();m(this,"redraw");m(this,"render");C&&this.cloneRenderTo(!0);z(u,function(a){a.call()})},get:function(a){function c(b){return b.id===a||b.options&&b.options.id===a}var d,e=this.series,k;d=b(this.axes,c)||b(this.series,c);for(k=0;!d&&k<e.length;k++)d=b(e[k].points||[],c);return d},getAxes:function(){var a=
-this,b=this.options,c=b.xAxis=p(b.xAxis||{}),b=b.yAxis=p(b.yAxis||{});z(c,function(a,b){a.index=b;a.isX=!0});z(b,function(a,b){a.index=b});c=c.concat(b);z(c,function(b){new g(a,b)})},getSelectedPoints:function(){var a=[];z(this.series,function(b){a=a.concat(d(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return d(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var d=this,e=d.options,k;k=e.title=H({style:{color:"#333333",fontSize:e.isStock?
-"16px":"18px"}},e.title,a);e=e.subtitle=H({style:{color:"#666666"}},e.subtitle,b);z([["title",a,k],["subtitle",b,e]],function(a,b){var c=a[0],e=d[c],k=a[1];a=a[2];e&&k&&(d[c]=e=e.destroy());a&&a.text&&!e&&(d[c]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),d[c].update=function(a){d.setTitle(!b&&a,b&&a)},d[c].css(a.style))});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,d=this.renderer,e=this.spacingBox;z(["title","subtitle"],function(a){var c=
-this[a],k=this.options[a],f;c&&(f=k.style.fontSize,f=d.fontMetrics(f,c).b,c.css({width:(k.width||e.width+k.widthAdjust)+"px"}).align(v({y:b+f+("title"===a?-3:2)},k),!1,"spacingBox"),k.floating||k.verticalAlign||(b=Math.ceil(b+c.getBBox().height)))},this);c=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=c,this.hasRendered&&C(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,d=b.width,b=b.height,e=this.renderToClone||this.renderTo;
-n(d)||(this.containerWidth=c(e,"width"));n(b)||(this.containerHeight=c(e,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||this.containerHeight||400)},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;if(a){if(b){for(;b.childNodes.length;)this.renderTo.appendChild(b.firstChild);l(b);delete this.renderToClone}}else c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),
-e(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block","important"),h.body.appendChild(b),c&&b.appendChild(c)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,c=this.options,d=c.chart,e,k;b=this.renderTo;var g=a.uniqueKey(),m;b||(this.renderTo=b=d.renderTo);q(b)&&(this.renderTo=b=h.getElementById(b));b||a.error(13,!0);e=I(B(b,"data-highcharts-chart"));D(e)&&f[e]&&f[e].hasRendered&&
-f[e].destroy();B(b,"data-highcharts-chart",this.index);b.innerHTML="";d.skipClone||b.offsetWidth||this.cloneRenderTo();this.getChartSize();e=this.chartWidth;k=this.chartHeight;m=v({position:"relative",overflow:"hidden",width:e+"px",height:k+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},d.style);this.container=b=t("div",{id:g},m,this.renderToClone||b);this._cursor=b.style.cursor;this.renderer=new (a[d.renderer]||S)(b,e,k,null,d.forExport,c.exporting&&
-c.exporting.allowHTML);this.setClassName(d.className);this.renderer.setStyle(d.style);this.renderer.chartIndex=this.index},getMargins:function(a){var b=this.spacing,c=this.margin,d=this.titleOffset;this.resetMargins();d&&!n(c[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(c,b);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);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&&z(a.axes,function(a){a.visible&&a.getOffset()});z(G,function(d,e){n(c[e])||(a[d]+=b[e])});a.setChartSize()},reflow:function(a){var b=this,d=b.options.chart,e=b.renderTo,k=n(d.width),f=d.width||c(e,"width"),d=d.height||c(e,"height"),e=a?a.target:N;if(!k&&!b.isPrinting&&f&&d&&(e===N||e===h)){if(f!==b.containerWidth||d!==b.containerHeight)clearTimeout(b.reflowTimeout),b.reflowTimeout=
-M(function(){b.container&&b.setSize(void 0,void 0,!1)},a?100:0);b.containerWidth=f;b.containerHeight=d}},initReflow:function(){var a=this,b;b=y(N,"resize",function(b){a.reflow(b)});y(a,"destroy",b)},setSize:function(b,c,d){var k=this,f=k.renderer;k.isResizing+=1;a.setAnimation(d,k);k.oldChartHeight=k.chartHeight;k.oldChartWidth=k.chartWidth;void 0!==b&&(k.options.chart.width=b);void 0!==c&&(k.options.chart.height=c);k.getChartSize();b=f.globalAnimation;(b?E:e)(k.container,{width:k.chartWidth+"px",
-height:k.chartHeight+"px"},b);k.setChartSize(!0);f.setSize(k.chartWidth,k.chartHeight,d);z(k.axes,function(a){a.isDirty=!0;a.setScale()});k.isDirtyLegend=!0;k.isDirtyBox=!0;k.layOutTitles();k.getMargins();k.redraw(d);k.oldChartHeight=null;m(k,"resize");M(function(){k&&m(k,"endResize",null,function(){--k.isResizing})},A(b).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,k=this.options.chart,f=this.spacing,g=this.clipOffset,m,p,h,q;this.plotLeft=
-m=Math.round(this.plotLeft);this.plotTop=p=Math.round(this.plotTop);this.plotWidth=h=Math.max(0,Math.round(d-m-this.marginRight));this.plotHeight=q=Math.max(0,Math.round(e-p-this.marginBottom));this.plotSizeX=b?q:h;this.plotSizeY=b?h:q;this.plotBorderWidth=k.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:d-f[3]-f[1],height:e-f[0]-f[2]};this.plotBox=c.plotBox={x:m,y:p,width:h,height:q};d=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(d,g[3])/2);c=Math.ceil(Math.max(d,
-g[0])/2);this.clipBox={x:b,y:c,width:Math.floor(this.plotSizeX-Math.max(d,g[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,g[2])/2-c))};a||z(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;z(["margin","spacing"],function(c){var d=b[c],e=u(d)?d:[d,d,d,d];z(["Top","Right","Bottom","Left"],function(d,k){a[c][k]=C(b[c+d],e[k])})});z(G,function(b,c){a[b]=C(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,k=this.plotBackground,f=this.plotBorder,g,m=this.plotBGImage,p=a.backgroundColor,h=a.plotBackgroundColor,q=a.plotBackgroundImage,n,l=this.plotLeft,C=this.plotTop,u=this.plotWidth,x=this.plotHeight,v=this.plotBox,I=this.clipRect,r=this.clipBox,K="animate";e||(this.chartBackground=e=b.rect().addClass("highcharts-background").add(),K="attr");g=a.borderWidth||0;n=g+(a.shadow?
-8:0);p={fill:p||"none"};if(g||e["stroke-width"])p.stroke=a.borderColor,p["stroke-width"]=g;e.attr(p).shadow(a.shadow);e[K]({x:n/2,y:n/2,width:c-n-g%2,height:d-n-g%2,r:a.borderRadius});K="animate";k||(K="attr",this.plotBackground=k=b.rect().addClass("highcharts-plot-background").add());k[K](v);k.attr({fill:h||"none"}).shadow(a.plotShadow);q&&(m?m.animate(v):this.plotBGImage=b.image(q,l,C,u,x).add());I?I.animate({width:r.width,height:r.height}):this.clipRect=b.clipRect(r);K="animate";f||(K="attr",this.plotBorder=
-f=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());f.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});f[K](f.crisp({x:l,y:C,width:u,height:x},-f.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,k;z(["inverted","angular","polar"],function(f){c=K[b.type||b.defaultSeriesType];k=b[f]||c&&c.prototype[f];for(e=d&&d.length;!k&&e--;)(c=K[d[e].type])&&c.prototype[f]&&(k=!0);a[f]=k})},linkSeries:function(){var a=
-this,b=a.series;z(b,function(a){a.linkedSeries.length=0});z(b,function(b){var c=b.options.linkedTo;q(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=C(b.options.visible,c.options.visible,b.visible))})},renderSeries:function(){z(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&z(b.items,function(c){var d=v(b.style,c.style),e=I(d.left)+a.plotLeft,k=I(d.top)+
-a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,e,k).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,d,e,k;this.setTitle();this.legend=new x(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;d=this.plotHeight-=21;z(a,function(a){a.setScale()});this.getAxisMargins();e=1.1<c/this.plotWidth;k=1.05<d/this.plotHeight;if(e||k)z(a,function(a){(a.horiz&&e||!a.horiz&&k)&&a.setTickInterval(!0)}),
-this.getMargins();this.drawChartBox();this.hasCartesianSeries&&z(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=H(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",
-function(){a.href&&(N.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,d=b.series,e=b.container,k,g=e&&e.parentNode;m(b,"destroy");f[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");L(b);for(k=c.length;k--;)c[k]=c[k].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(k=
-d.length;k--;)d[k]=d[k].destroy();z("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});e&&(e.innerHTML="",L(e),g&&l(e));for(k in b)delete b[k]},isReadyToRender:function(){var a=this;return F||N!=N.top||"complete"===h.readyState?!0:(h.attachEvent("onreadystatechange",function(){h.detachEvent("onreadystatechange",a.firstRender);
-"complete"===h.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();m(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();z(b.series||[],function(b){a.initSeries(b)});a.linkSeries();m(a,"beforeRender");k&&(a.pointer=new k(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){z([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,
-[this])},this);m(this,"load");m(this,"render");n(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(J);(function(a){var y,E=a.each,A=a.extend,B=a.erase,h=a.fireEvent,g=a.format,t=a.isArray,r=a.isNumber,l=a.pick,f=a.removeEvent;y=a.Point=function(){};y.prototype={init:function(a,f,g){this.series=a;this.color=a.color;this.applyOptions(f,g);a.options.colorByPoint?(f=a.options.colors||a.chart.options.colors,this.color=this.color||f[a.colorCounter],f=f.length,g=a.colorCounter,
-a.colorCounter++,a.colorCounter===f&&(a.colorCounter=0)):g=a.colorIndex;this.colorIndex=l(this.colorIndex,g);a.chart.pointCount++;return this},applyOptions:function(a,f){var e=this.series,g=e.options.pointValKey||e.pointValKey;a=y.prototype.optionsToObject.call(this,a);A(this,a);this.options=this.options?A(this.options,a):a;a.group&&delete this.group;g&&(this.y=this[g]);this.isNull=l(this.isValid&&!this.isValid(),null===this.x||!r(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===
-f&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===f?e.autoIncrement(this):f);return this},optionsToObject:function(a){var e={},f=this.series,g=f.options.keys,b=g||f.pointArrayMap||["y"],m=b.length,c=0,d=0;if(r(a)||null===a)e[b[0]]=a;else if(t(a))for(!g&&a.length>m&&(f=typeof a[0],"string"===f?e.name=a[0]:"number"===f&&(e.x=a[0]),c++);d<m;)g&&void 0===a[c]||(e[b[d]]=a[c]),c++,d++;else"object"===typeof a&&(e=a,a.dataLabels&&(f._hasPointLabels=!0),a.marker&&
-(f._hasPointMarkers=!0));return e},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,f=a.zones,a=a.zoneAxis||"y",g=0,h;
-for(h=f[g];this[a]>=h.value;)h=f[++g];h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,g=a.hoverPoints,h;a.pointCount--;g&&(this.setState(),B(g,this),g.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)f(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(h in this)this[h]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector",
-"shadowGroup"],f,g=6;g--;)f=a[g],this[f]&&(this[f]=this[f].destroy())},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}},tooltipFormatter:function(a){var e=this.series,f=e.tooltipOptions,h=l(f.valueDecimals,""),b=f.valuePrefix||"",m=f.valueSuffix||"";E(e.pointArrayMap||["y"],function(c){c="{point."+c;if(b||m)a=a.replace(c+"}",
-b+c+"}"+m);a=a.replace(c+"}",c+":,."+h+"f}")});return g(a,{point:this,series:this.series})},firePointEvent:function(a,f,g){var e=this,b=this.series.options;(b.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&b.allowPointSelect&&(g=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});h(this,a,f,g)},visible:!0}})(J);(function(a){var y=a.addEvent,E=a.animObject,A=a.arrayMax,B=a.arrayMin,h=a.correctFloat,g=a.Date,t=a.defaultOptions,
-r=a.defaultPlotOptions,l=a.defined,f=a.each,e=a.erase,n=a.extend,z=a.fireEvent,v=a.grep,b=a.isArray,m=a.isNumber,c=a.isString,d=a.merge,D=a.pick,u=a.removeEvent,q=a.splat,x=a.SVGElement,G=a.syncTimeout,H=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",
-lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,
-requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,e,k=a.series,g;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();n(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;for(d in e)y(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();f(c.parallelArrays,function(a){c[a+
-"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);k.length&&(g=k[k.length-1]);c._i=D(g&&g._i,-1)+1;a.orderSeries(this.insert(k))},insert:function(a){var b=this.options.index,c;if(m(b)){for(c=a.length;c--;)if(b>=D(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 D(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;f(b.axisTypes||[],function(k){f(d[k],function(a){e=a.options;if(c[k]===e.index||void 0!==
-c[k]&&c[k]===e.id||void 0===c[k]&&0===e.index)b.insert(a.series),b[k]=a,a.isDirty=!0});b[k]||b.optionalAxis===k||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,e=m(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))};f(c.parallelArrays,e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,b=D(b,a.pointStart,0);this.pointInterval=
-c=D(this.pointInterval,a.pointInterval,1);d&&(a=new g(b),"day"===d?a=+a[g.hcSetDate](a[g.hcGetDate]()+c):"month"===d?a=+a[g.hcSetMonth](a[g.hcGetMonth]()+c):"year"===d&&(a=+a[g.hcSetFullYear](a[g.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},e=b.plotOptions||{},k=c[this.type];this.userOptions=a;c=d(k,c.series,a);this.tooltipOptions=d(t.tooltip,t.plotOptions[this.type].tooltip,b.tooltip,e.series&&e.series.tooltip,
-e[this.type]&&e[this.type].tooltip,a.tooltip);null===k.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&l(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var d,e=this.chart,k=this.userOptions,f=a+"Index",
-g=a+"Counter",m=c?c.length:D(e.options.chart[a+"Count"],e[a+"Count"]);b||(d=D(k[f],k["_"+f]),l(d)||(e.series.length||(e[g]=0),k["_"+f]=d=e[g]%m,e[g]+=1),c&&(b=c[d]));void 0!==d&&(this[f]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||r[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,
-setData:function(d,e,g,h){var k=this,p=k.points,q=p&&p.length||0,l,n=k.options,u=k.chart,C=null,x=k.xAxis,v=n.turboThreshold,r=this.xData,t=this.yData,G=(l=k.pointArrayMap)&&l.length;d=d||[];l=d.length;e=D(e,!0);if(!1!==h&&l&&q===l&&!k.cropped&&!k.hasGroupedData&&k.visible)f(d,function(a,b){p[b].update&&a!==n.data[b]&&p[b].update(a,!1,null,!1)});else{k.xIncrement=null;k.colorCounter=0;f(this.parallelArrays,function(a){k[a+"Data"].length=0});if(v&&l>v){for(g=0;null===C&&g<l;)C=d[g],g++;if(m(C))for(g=
-0;g<l;g++)r[g]=this.autoIncrement(),t[g]=d[g];else if(b(C))if(G)for(g=0;g<l;g++)C=d[g],r[g]=C[0],t[g]=C.slice(1,G+1);else for(g=0;g<l;g++)C=d[g],r[g]=C[0],t[g]=C[1];else a.error(12)}else for(g=0;g<l;g++)void 0!==d[g]&&(C={series:k},k.pointClass.prototype.applyOptions.apply(C,[d[g]]),k.updateParallelArrays(C,g));c(t[0])&&a.error(14,!0);k.data=[];k.options.data=k.userOptions.data=d;for(g=q;g--;)p[g]&&p[g].destroy&&p[g].destroy();x&&(x.minRange=x.userMinRange);k.isDirty=u.isDirtyBox=!0;k.isDirtyData=
-!!p;g=!1}"point"===n.legendType&&(this.processData(),this.generatePoints());e&&u.redraw(g)},processData:function(b){var c=this.xData,d=this.yData,e=c.length,k;k=0;var f,g,m=this.xAxis,h,q=this.options;h=q.cropThreshold;var l=this.getExtremesFromAll||q.getExtremesFromAll,n=this.isCartesian,q=m&&m.val2lin,u=m&&m.isLog,x,v;if(n&&!this.isDirty&&!m.isDirty&&!this.yAxis.isDirty&&!b)return!1;m&&(b=m.getExtremes(),x=b.min,v=b.max);if(n&&this.sorted&&!l&&(!h||e>h||this.forceCrop))if(c[e-1]<x||c[0]>v)c=[],
-d=[];else if(c[0]<x||c[e-1]>v)k=this.cropData(this.xData,this.yData,x,v),c=k.xData,d=k.yData,k=k.start,f=!0;for(h=c.length||1;--h;)e=u?q(c[h])-q(c[h-1]):c[h]-c[h-1],0<e&&(void 0===g||e<g)?g=e:0>e&&this.requireSorting&&a.error(15);this.cropped=f;this.cropStart=k;this.processedXData=c;this.processedYData=d;this.closestPointRange=g},cropData:function(a,b,c,d){var e=a.length,k=0,f=e,g=D(this.cropShoulder,1),m;for(m=0;m<e;m++)if(a[m]>=c){k=Math.max(0,m-g);break}for(c=m;c<e;c++)if(a[c]>d){f=c+g;break}return{xData:a.slice(k,
-f),yData:b.slice(k,f),start:k,end:f}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,m=this.cropStart||0,h,l=this.hasGroupedData,n,u=[],x;b||l||(b=[],b.length=a.length,b=this.data=b);for(x=0;x<g;x++)h=m+x,l?(n=(new f).init(this,[d[x]].concat(q(e[x]))),n.dataGroup=this.groupMap[x]):(n=b[h])||void 0===a[h]||(b[h]=n=(new f).init(this,a[h],d[x])),n.index=h,u[x]=n;if(b&&(g!==(c=b.length)||l))for(x=0;x<c;x++)x!==m||
-l||(x+=g),b[x]&&(b[x].destroyElements(),b[x].plotX=void 0);this.data=b;this.points=u},getExtremes:function(a){var c=this.yAxis,d=this.processedXData,e,k=[],f=0;e=this.xAxis.getExtremes();var g=e.min,h=e.max,q,l,n,u;a=a||this.stackedYData||this.processedYData||[];e=a.length;for(u=0;u<e;u++)if(l=d[u],n=a[u],q=(m(n,!0)||b(n))&&(!c.positiveValuesOnly||n.length||0<n),l=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(d[u+1]||l)>=g&&(d[u-1]||l)<=h,q&&l)if(q=n.length)for(;q--;)null!==
-n[q]&&(k[f++]=n[q]);else k[f++]=n;this.dataMin=B(k);this.dataMax=A(k)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,q=!!this.modifyValue,n=a.pointPlacement,u="between"===n||m(n),x=a.threshold,v=a.startFromThreshold?x:0,r,t,G,H,z=Number.MAX_VALUE;"between"===n&&(n=.5);m(n)&&(n*=D(a.pointRange||c.pointRange));for(a=0;a<g;a++){var B=f[a],y=B.x,A=B.y;t=B.low;var E=b&&
-e.stacks[(this.negStacks&&A<(v?0:x)?"-":"")+this.stackKey],J;e.positiveValuesOnly&&null!==A&&0>=A&&(B.isNull=!0);B.plotX=r=h(Math.min(Math.max(-1E5,c.translate(y,0,0,0,1,n,"flags"===this.type)),1E5));b&&this.visible&&!B.isNull&&E&&E[y]&&(H=this.getStackIndicator(H,y,this.index),J=E[y],A=J.points[H.key],t=A[0],A=A[1],t===v&&H.key===E[y].base&&(t=D(x,e.min)),e.positiveValuesOnly&&0>=t&&(t=null),B.total=B.stackTotal=J.total,B.percentage=J.total&&B.y/J.total*100,B.stackY=A,J.setOffset(this.pointXOffset||
-0,this.barW||0));B.yBottom=l(t)?e.translate(t,0,1,0,1):null;q&&(A=this.modifyValue(A,B));B.plotY=t="number"===typeof A&&Infinity!==A?Math.min(Math.max(-1E5,e.translate(A,0,1,0,1)),1E5):void 0;B.isInside=void 0!==t&&0<=t&&t<=e.len&&0<=r&&r<=c.len;B.clientX=u?h(c.translate(y,0,0,0,1,n)):r;B.negative=B.y<(x||0);B.category=d&&void 0!==d[B.x]?d[B.x]:B.x;B.isNull||(void 0!==G&&(z=Math.min(z,Math.abs(r-G))),G=r);B.zone=this.zones.length&&B.getZone()}this.closestPointRangePx=z},getValidPoints:function(a,
-b){var c=this.chart;return v(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,k=this.clipBox,f=k||b.clipBox,g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,c.xAxis,c.yAxis].join(),m=b[g],h=b[g+"m"];m||(a&&(f.width=0,b[g+"m"]=h=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[g]=m=d.clipRect(f),m.count={length:0});a&&!m.count[this.index]&&
-(m.count[this.index]=!0,m.count.length+=1);!1!==c.clip&&(this.group.clip(a||k?m:b.clipRect),this.markerGroup.clip(h),this.sharedClipKey=g);a||(m.count[this.index]&&(delete m.count[this.index],--m.count.length),0===m.count.length&&g&&b[g]&&(k||(b[g]=b[g].destroy()),b[g+"m"]&&(this.markerGroup.clip(),b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,c=E(this.options.animation),d;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();z(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,d,e,f,g=this.options.marker,h,q,l,n,u=this.markerGroup,x=D(g.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*g.radius);if(!1!==g.enabled||this._hasPointMarkers)for(d=0;d<a.length;d++)e=a[d],c=e.plotY,f=e.graphic,h=e.marker||{},q=!!e.marker,l=x&&void 0===h.enabled||h.enabled,n=e.isInside,l&&m(c)&&null!==e.y?(c=D(h.symbol,this.symbol),e.hasImage=
-0===c.indexOf("url"),l=this.markerAttribs(e,e.selected&&"select"),f?f[n?"show":"hide"](!0).animate(l):n&&(0<l.width||e.hasImage)&&(e.graphic=f=b.renderer.symbol(c,l.x,l.y,l.width,l.height,q?h:g).add(u)),f&&f.attr(this.pointAttribs(e,e.selected&&"select")),f&&f.addClass(e.getClassName(),!0)):f&&(e.graphic=f.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},e=D(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],e=D(b&&b.radius,c&&c.radius,e+(c&&c.radiusPlus||
-0)));a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,e=d&&d.marker||{},f=this.color,k=d&&d.color,g=a&&a.color,d=D(e.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;f=k||a||g||f;a=e.fillColor||c.fillColor||f;f=e.lineColor||c.lineColor||f;b&&(c=c.states[b],b=e.states&&e.states[b]||{},d=D(b.lineWidth,c.lineWidth,d+D(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,f=b.lineColor||
-c.lineColor||f);return{stroke:f,"stroke-width":d,fill:a}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(H.navigator.userAgent),d,g=a.data||[],m,h,q;z(a,"destroy");u(a);f(a.axisTypes||[],function(b){(q=a[b])&&q.series&&(e(q.series,a),q.isDirty=q.forceRedraw=!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(d=g.length;d--;)(m=g[d])&&m.destroy&&m.destroy();a.points=null;clearTimeout(a.animationTimeout);for(h in a)a[h]instanceof x&&!a[h].survive&&(d=c&&"group"===h?"hide":"destroy",
-a[h][d]());b.hoverSeries===a&&(b.hoverSeries=null);e(b.series,a);b.orderSeries();for(h in a)delete a[h]},getGraphPath:function(a,b,c){var d=this,e=d.options,k=e.step,g,m=[],h=[],q;a=a||d.points;(g=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&g&&(k=4-k);!e.connectNulls||b||c||(a=this.getValidPoints(a));f(a,function(f,g){var p=f.plotX,n=f.plotY,u=a[g-1];(f.leftCliff||u&&u.rightCliff)&&!c&&(q=!0);f.isNull&&!l(b)&&0<g?q=!e.connectNulls:f.isNull&&!b?q=!0:(0===g||q?g=["M",f.plotX,f.plotY]:
-d.getPointSpline?g=d.getPointSpline(a,f,g):k?(g=1===k?["L",u.plotX,n]:2===k?["L",(u.plotX+p)/2,u.plotY,"L",(u.plotX+p)/2,n]:["L",p,u.plotY],g.push("L",p,n)):g=["L",p,n],h.push(f.x),k&&h.push(f.x),m.push.apply(m,g),q=!1)});m.xMap=h;return d.graphPath=m},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),d=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]];f(this.zones,function(c,e){d.push(["zone-graph-"+e,"highcharts-graph highcharts-zone-graph-"+
-e+" "+(c.className||""),c.color||a.color,c.dashStyle||b.dashStyle])});f(d,function(d,e){var f=d[0],g=a[f];g?(g.endX=c.xMap,g.animate({d:c})):c.length&&(a[f]=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group),g={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?g.dashstyle=d[3]:"square"!==b.linecap&&(g["stroke-linecap"]=g["stroke-linejoin"]="round"),g=a[f].attr(g).shadow(2>e&&b.shadow));g&&(g.startX=c.xMap,g.isArea=c.isArea)})},applyZones:function(){var a=
-this,b=this.chart,c=b.renderer,d=this.zones,e,g,m=this.clips||[],h,q=this.graph,l=this.area,n=Math.max(b.chartWidth,b.chartHeight),u=this[(this.zoneAxis||"y")+"Axis"],x,v,r=b.inverted,t,G,H,z,B=!1;d.length&&(q||l)&&u&&void 0!==u.min&&(v=u.reversed,t=u.horiz,q&&q.hide(),l&&l.hide(),x=u.getExtremes(),f(d,function(d,f){e=v?t?b.plotWidth:0:t?0:u.toPixels(x.min);e=Math.min(Math.max(D(g,e),0),n);g=Math.min(Math.max(Math.round(u.toPixels(D(d.value,x.max),!0)),0),n);B&&(e=g=u.toPixels(x.max));G=Math.abs(e-
-g);H=Math.min(e,g);z=Math.max(e,g);u.isXAxis?(h={x:r?z:H,y:0,width:G,height:n},t||(h.x=b.plotHeight-h.x)):(h={x:0,y:r?z:H,width:n,height:G},t&&(h.y=b.plotWidth-h.y));r&&c.isVML&&(h=u.isXAxis?{x:0,y:v?H:z,height:h.width,width:b.chartWidth}:{x:h.y-b.plotLeft-b.spacingBox.x,y:0,width:h.height,height:b.chartHeight});m[f]?m[f].animate(h):(m[f]=c.clipRect(h),q&&a["zone-graph-"+f].clip(m[f]),l&&a["zone-area-"+f].clip(m[f]));B=d.value>x.max}),this.clips=m)},invertGroups:function(a){function b(){f(["group",
-"markerGroup"],function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=y(d,"resize",b),y(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=f=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),f.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||
-"")));f.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;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=!!a.animate&&b.renderer.isSVG&&E(d.animation).duration,f=a.visible?"inherit":"hidden",g=d.zIndex,h=a.hasRendered,m=b.seriesGroup,q=b.inverted;c=a.plotGroup("group","series",f,g,m);a.markerGroup=
-a.plotGroup("markerGroup","markers",f,g,m);e&&a.animate(!0);c.inverted=a.isCartesian?q:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(q);!1===d.clip||a.sharedClipKey||h||c.clip(b.clipRect);e&&a.animate();h||(a.animationTimeout=G(function(){a.afterAnimate()},e));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,
-c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:D(d&&d.left,a.plotLeft),translateY:D(e&&e.top,a.plotTop)}));this.translate();this.render();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(c,
-d,e){var f,g;if(g=c&&c.length)return f=b.kdAxisArray[d%e],c.sort(function(a,b){return a[f]-b[f]}),g=Math.floor(g/2),{point:c[g],left:a(c.slice(0,g),d+1,e),right:a(c.slice(g+1),d+1,e)}}this.buildingKdTree=!0;var b=this,c=b.kdDimensions;delete b.kdTree;G(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,k,h){var m=b.point,q=d.kdAxisArray[k%h],n,p,u=m;p=l(a[e])&&l(m[e])?Math.pow(a[e]-m[e],2):null;n=l(a[f])&&
-l(m[f])?Math.pow(a[f]-m[f],2):null;n=(p||0)+(n||0);m.dist=l(n)?Math.sqrt(n):Number.MAX_VALUE;m.distX=l(p)?Math.sqrt(p):Number.MAX_VALUE;q=a[q]-m[q];n=0>q?"left":"right";p=0>q?"right":"left";b[n]&&(n=c(a,b[n],k+1,h),u=n[g]<u[g]?n:m);b[p]&&Math.sqrt(q*q)<u[g]&&(a=c(a,b[p],k+1,h),u=a[g]<u[g]?a:u);return u}var d=this,e=this.kdAxisArray[0],f=this.kdAxisArray[1],g=b?"distX":"dist";this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,this.kdDimensions,this.kdDimensions)}})})(J);
-(function(a){var y=a.addEvent,E=a.animate,A=a.Axis,B=a.createElement,h=a.css,g=a.defined,t=a.each,r=a.erase,l=a.extend,f=a.fireEvent,e=a.inArray,n=a.isNumber,z=a.isObject,v=a.merge,b=a.pick,m=a.Point,c=a.Series,d=a.seriesTypes,D=a.setAnimation,u=a.splat;l(a.Chart.prototype,{addSeries:function(a,c,d){var e,g=this;a&&(c=b(c,!0),f(g,"addSeries",{options:a},function(){e=g.initSeries(a);g.isDirtyLegend=!0;g.linkSeries();c&&g.redraw(d)}));return e},addAxis:function(a,c,d,e){var f=c?"xAxis":"yAxis",g=this.options;
-a=v(a,{index:this[f].length,isX:c});new A(this,a);g[f]=u(g[f]||{});g[f].push(a);b(d,!0)&&this.redraw(e)},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,e=c.loading,f=function(){d&&h(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=B("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=B("span",{className:"highcharts-loading-inner"},null,d),y(b,"redraw",f));d.className="highcharts-loading";
-b.loadingSpan.innerHTML=a||c.lang.loading;h(d,l(e.style,{zIndex:10}));h(b.loadingSpan,e.labelStyle);b.loadingShown||(h(d,{opacity:0,display:""}),E(d,{opacity:e.style.opacity||.5},{duration:e.showDuration||0}));b.loadingShown=!0;f()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",E(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){h(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
-propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,c){var d,f={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},k=a.chart,m,h;if(k){v(!0,this.options.chart,k);"className"in k&&this.setClassName(k.className);if("inverted"in k||"polar"in k)this.propFromSeries(),m=!0;for(d in k)k.hasOwnProperty(d)&&(-1!==e("chart."+d,this.propsRequireUpdateSeries)&&(h=!0),-1!==e(d,this.propsRequireDirtyBox)&&(this.isDirtyBox=
-!0));"style"in k&&this.renderer.setStyle(k.style)}for(d in a){if(this[d]&&"function"===typeof this[d].update)this[d].update(a[d],!1);else if("function"===typeof this[f[d]])this[f[d]](a[d]);"chart"!==d&&-1!==e(d,this.propsRequireUpdateSeries)&&(h=!0)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&v(!0,this.options.plotOptions,a.plotOptions);t(["xAxis","yAxis","series"],function(b){a[b]&&t(u(a[b]),function(a,c){(c=g(a.id)&&this.get(a.id)||this[b][c])&&c.coll===b&&c.update(a,!1)},this)},this);
-m&&t(this.axes,function(a){a.update({},!1)});h&&t(this.series,function(a){a.update({},!1)});a.loading&&v(!0,this.options.loading,a.loading);d=k&&k.width;k=k&&k.height;n(d)&&d!==this.chartWidth||n(k)&&k!==this.chartHeight?this.setSize(d,k):b(c,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});l(m.prototype,{update:function(a,c,d,e){function f(){g.applyOptions(a);null===g.y&&h&&(g.graphic=h.destroy());z(a,!0)&&(h&&h.element&&a&&a.marker&&a.marker.symbol&&(g.graphic=h.destroy()),
-a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()));n=g.index;m.updateParallelArrays(g,n);l.data[n]=z(l.data[n],!0)||z(a,!0)?g.options:a;m.isDirty=m.isDirtyData=!0;!m.fixedBox&&m.hasCartesianSeries&&(q.isDirtyBox=!0);"point"===l.legendType&&(q.isDirtyLegend=!0);c&&q.redraw(d)}var g=this,m=g.series,h=g.graphic,n,q=m.chart,l=m.options;c=b(c,!0);!1===e?f():g.firePointEvent("update",{options:a},f)},remove:function(a,b){this.series.removePoint(e(this,this.series.data),a,b)}});l(c.prototype,
-{addPoint:function(a,c,d,e){var f=this.options,g=this.data,m=this.chart,h=this.xAxis,h=h&&h.hasNames&&h.names,n=f.data,l,q,u=this.xData,x,v;c=b(c,!0);l={series:this};this.pointClass.prototype.applyOptions.apply(l,[a]);v=l.x;x=u.length;if(this.requireSorting&&v<u[x-1])for(q=!0;x&&u[x-1]>v;)x--;this.updateParallelArrays(l,"splice",x,0,0);this.updateParallelArrays(l,x);h&&l.name&&(h[v]=l.name);n.splice(x,0,a);q&&(this.data.splice(x,0,null),this.processData());"point"===f.legendType&&this.generatePoints();
-d&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(l,"shift"),n.shift()));this.isDirtyData=this.isDirty=!0;c&&m.redraw(e)},removePoint:function(a,c,d){var e=this,f=e.data,g=f[a],m=e.points,h=e.chart,n=function(){m&&m.length===f.length&&m.splice(a,1);f.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(g||{series:e},"splice",a,1);g&&g.destroy();e.isDirty=!0;e.isDirtyData=!0;c&&h.redraw()};D(d,h);c=b(c,!0);g?g.firePointEvent("remove",null,n):n()},remove:function(a,
-c,d){function e(){g.destroy();m.isDirtyLegend=m.isDirtyBox=!0;m.linkSeries();b(a,!0)&&m.redraw(c)}var g=this,m=g.chart;!1!==d?f(g,"remove",null,e):e()},update:function(a,c){var e=this,f=this.chart,g=this.userOptions,m=this.oldType||this.type,h=a.type||g.type||f.options.chart.type,n=d[m].prototype,q=["group","markerGroup","dataLabelsGroup"],u;if(h&&h!==m||void 0!==a.zIndex)q.length=0;t(q,function(a){q[a]=e[a];delete e[a]});a=v(g,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},
-a);this.remove(!1,null,!1);for(u in n)this[u]=void 0;l(this,d[h||m].prototype);t(q,function(a){e[a]=q[a]});this.init(f,a);this.oldType=m;f.linkSeries();b(c,!0)&&f.redraw(!1)}});l(A.prototype,{update:function(a,c){var d=this.chart;a=d.options[this.coll][this.options.index]=v(this.userOptions,a);this.destroy(!0);this.init(d,l(a,{events:void 0}));d.isDirtyBox=!0;b(c,!0)&&d.redraw()},remove:function(a){for(var c=this.chart,d=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);r(c.axes,this);
-r(c[d],this);c.options[d].splice(this.options.index,1);t(c[d],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(J);(function(a){var y=a.animObject,E=a.color,A=a.each,B=a.extend,h=a.isNumber,g=a.merge,t=a.pick,r=a.Series,l=a.seriesType,f=a.svg;l("column","line",{borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,
-pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var a=this,f=a.chart;f.hasRendered&&A(f.series,function(e){e.type===a.type&&
-(e.isDirty=!0)})},getColumnMetrics:function(){var a=this,f=a.options,g=a.xAxis,h=a.yAxis,b=g.reversed,m,c={},d=0;!1===f.grouping?d=1:A(a.chart.series,function(b){var e=b.options,f=b.yAxis,g;b.type===a.type&&b.visible&&h.len===f.len&&h.pos===f.pos&&(e.stacking?(m=b.stackKey,void 0===c[m]&&(c[m]=d++),g=c[m]):!1!==e.grouping&&(g=d++),b.columnIndex=g)});var l=Math.min(Math.abs(g.transA)*(g.ordinalSlope||f.pointRange||g.closestPointRange||g.tickInterval||1),g.len),u=l*f.groupPadding,q=(l-2*u)/(d||1),f=
-Math.min(f.maxPointWidth||g.len,t(f.pointWidth,q*(1-2*f.pointPadding)));a.columnMetrics={width:f,offset:(q-f)/2+(u+((a.columnIndex||0)+(b?1:0))*q-l/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,f,g,h){var b=this.chart,e=this.borderWidth,c=-(e%2?.5:0),e=e%2?.5:1;b.inverted&&b.renderer.isVML&&(e+=1);g=Math.round(a+g)+c;a=Math.round(a)+c;h=Math.round(f+h)+e;c=.5>=Math.abs(f)&&.5<h;f=Math.round(f)+e;h-=f;c&&h&&(--f,h+=1);return{x:a,y:f,width:g-a,height:h}},translate:function(){var a=this,f=
-a.chart,g=a.options,h=a.dense=2>a.closestPointRange*a.xAxis.transA,h=a.borderWidth=t(g.borderWidth,h?0:1),b=a.yAxis,m=a.translatedThreshold=b.getThreshold(g.threshold),c=t(g.minPointLength,5),d=a.getColumnMetrics(),l=d.width,u=a.barW=Math.max(l,1+2*h),q=a.pointXOffset=d.offset;f.inverted&&(m-=.5);g.pointPadding&&(u=Math.ceil(u));r.prototype.translate.apply(a);A(a.points,function(d){var e=t(d.yBottom,m),g=999+Math.abs(e),g=Math.min(Math.max(-g,d.plotY),b.len+g),h=d.plotX+q,n=u,v=Math.min(g,e),r,x=
-Math.max(g,e)-v;Math.abs(x)<c&&c&&(x=c,r=!b.reversed&&!d.negative||b.reversed&&d.negative,v=Math.abs(v-m)>c?e-c:m-(r?c:0));d.barX=h;d.pointWidth=l;d.tooltipPos=f.inverted?[b.len+b.pos-f.plotLeft-g,a.xAxis.len-h-n/2,x]:[h+n/2,g+b.pos-f.plotTop,x];d.shapeType="rect";d.shapeArgs=a.crispCol.apply(a,d.isNull?[d.plotX,b.len/2,0,0]:[h,v,n,x])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},
-pointAttribs:function(a,f){var e=this.options,h,b=this.pointAttrToOptions||{};h=b.stroke||"borderColor";var m=b["stroke-width"]||"borderWidth",c=a&&a.color||this.color,d=a[h]||e[h]||this.color||c,l=a[m]||e[m]||this[m]||0,b=e.dashStyle;a&&this.zones.length&&(c=(c=a.getZone())&&c.color||a.options.color||this.color);f&&(a=g(e.states[f],a.options.states&&a.options.states[f]||{}),f=a.brightness,c=a.color||void 0!==f&&E(c).brighten(a.brightness).get()||c,d=a[h]||d,l=a[m]||l,b=a.dashStyle||b);h={fill:c,
-stroke:d,"stroke-width":l};e.borderRadius&&(h.r=e.borderRadius);b&&(h.dashstyle=b);return h},drawPoints:function(){var a=this,f=this.chart,l=a.options,r=f.renderer,b=l.animationLimit||250,m;A(a.points,function(c){var d=c.graphic;if(h(c.plotY)&&null!==c.y){m=c.shapeArgs;if(d)d[f.pointCount<b?"animate":"attr"](g(m));else c.graphic=d=r[c.shapeType](m).add(c.group||a.group);d.attr(a.pointAttribs(c,c.selected&&"select")).shadow(l.shadow,null,l.stacking&&!l.borderRadius);d.addClass(c.getClassName(),!0)}else d&&
-(c.graphic=d.destroy())})},animate:function(a){var e=this,g=this.yAxis,h=e.options,b=this.chart.inverted,m={};f&&(a?(m.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(h.threshold))),b?m.translateX=a-g.len:m.translateY=a,e.group.attr(m)):(m[b?"translateX":"translateY"]=g.pos,e.group.animate(m,B(y(e.options.animation),{step:function(a,b){e.group.attr({scaleY:Math.max(.001,b.pos)})}})),e.animate=null))},remove:function(){var a=this,f=a.chart;f.hasRendered&&A(f.series,function(e){e.type===
-a.type&&(e.isDirty=!0)});r.prototype.remove.apply(a,arguments)}})})(J);(function(a){var y=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group",
-"markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&y.prototype.drawGraph.call(this)}})})(J);(function(a){var y=a.addEvent,E=a.arrayMax,A=a.defined,B=a.each,h=a.extend,g=a.format,t=a.map,r=a.merge,l=a.noop,f=a.pick,e=a.relativeLength,n=a.Series,z=a.seriesTypes,v=a.stableSort;a.distribute=function(a,e){function b(a,b){return a.target-b.target}var d,f=!0,g=a,h=[],m;m=0;for(d=a.length;d--;)m+=a[d].size;if(m>e){v(a,function(a,b){return(b.rank||
-0)-(a.rank||0)});for(m=d=0;m<=e;)m+=a[d].size,d++;h=a.splice(d-1,a.length)}v(a,b);for(a=t(a,function(a){return{size:a.size,targets:[a.target]}});f;){for(d=a.length;d--;)f=a[d],m=(Math.min.apply(0,f.targets)+Math.max.apply(0,f.targets))/2,f.pos=Math.min(Math.max(0,m-f.size/2),e-f.size);d=a.length;for(f=!1;d--;)0<d&&a[d-1].pos+a[d-1].size>a[d].pos&&(a[d-1].size+=a[d].size,a[d-1].targets=a[d-1].targets.concat(a[d].targets),a[d-1].pos+a[d-1].size>e&&(a[d-1].pos=e-a[d-1].size),a.splice(d,1),f=!0)}d=0;
-B(a,function(a){var b=0;B(a.targets,function(){g[d].pos=a.pos+b;b+=g[d].size;d++})});g.push.apply(g,h);v(g,b)};n.prototype.drawDataLabels=function(){var a=this,e=a.options,c=e.dataLabels,d=a.points,h,l,q=a.hasRendered||0,n,v,t=f(c.defer,!0),k=a.chart.renderer;if(c.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(c),v=a.plotGroup("dataLabelsGroup","data-labels",t&&!q?"hidden":"visible",c.zIndex||6),t&&(v.attr({opacity:+q}),q||y(a,"afterAnimate",function(){a.visible&&v.show(!0);v[e.animation?
-"animate":"attr"]({opacity:1},{duration:200})})),l=c,B(d,function(b){var d,m=b.dataLabel,q,u,x,t=b.connector,D=!m,C;h=b.dlOptions||b.options&&b.options.dataLabels;if(d=f(h&&h.enabled,l.enabled)&&null!==b.y)for(u in c=r(l,h),q=b.getLabelConfig(),n=c.format?g(c.format,q):c.formatter.call(q,c),C=c.style,x=c.rotation,C.color=f(c.color,C.color,a.color,"#000000"),"contrast"===C.color&&(C.color=c.inside||0>c.distance||e.stacking?k.getContrast(b.color||a.color):"#000000"),e.cursor&&(C.cursor=e.cursor),q=
-{fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:x,padding:c.padding,zIndex:1},q)void 0===q[u]&&delete q[u];!m||d&&A(n)?d&&A(n)&&(m?q.text=n:(m=b.dataLabel=k[x?"text":"label"](n,0,-9999,c.shape,null,null,c.useHTML,null,"data-label"),m.addClass("highcharts-data-label-color-"+b.colorIndex+" "+(c.className||"")+(c.useHTML?"highcharts-tracker":""))),m.attr(q),m.css(C).shadow(c.shadow),m.added||m.add(v),a.alignDataLabel(b,m,c,null,D)):(b.dataLabel=
-m.destroy(),t&&(b.connector=t.destroy()))})};n.prototype.alignDataLabel=function(a,e,c,d,g){var b=this.chart,m=b.inverted,l=f(a.plotX,-9999),n=f(a.plotY,-9999),r=e.getBBox(),k,v=c.rotation,t=c.align,D=this.visible&&(a.series.forceDL||b.isInsidePlot(l,Math.round(n),m)||d&&b.isInsidePlot(l,m?d.x+1:d.y+d.height-1,m)),z="justify"===f(c.overflow,"justify");D&&(k=c.style.fontSize,k=b.renderer.fontMetrics(k,e).b,d=h({x:m?b.plotWidth-n:l,y:Math.round(m?b.plotHeight-l:n),width:0,height:0},d),h(c,{width:r.width,
-height:r.height}),v?(z=!1,m=b.renderer.rotCorr(k,v),m={x:d.x+c.x+d.width/2+m.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},e[g?"attr":"animate"](m).attr({align:t}),l=(v+720)%360,l=180<l&&360>l,"left"===t?m.y-=l?r.height:0:"center"===t?(m.x-=r.width/2,m.y-=r.height/2):"right"===t&&(m.x-=r.width,m.y-=l?0:r.height)):(e.align(c,null,d),m=e.alignAttr),z?this.justifyDataLabel(e,c,m,r,d,g):f(c.crop,!0)&&(D=b.isInsidePlot(m.x,m.y)&&b.isInsidePlot(m.x+r.width,m.y+r.height)),c.shape&&!v&&
-e.attr({anchorX:a.plotX,anchorY:a.plotY}));D||(e.attr({y:-9999}),e.placed=!1)};n.prototype.justifyDataLabel=function(a,e,c,d,f,g){var b=this.chart,h=e.align,m=e.verticalAlign,l,k,n=a.box?0:a.padding||0;l=c.x+n;0>l&&("right"===h?e.align="left":e.x=-l,k=!0);l=c.x+d.width-n;l>b.plotWidth&&("left"===h?e.align="right":e.x=b.plotWidth-l,k=!0);l=c.y+n;0>l&&("bottom"===m?e.verticalAlign="top":e.y=-l,k=!0);l=c.y+d.height-n;l>b.plotHeight&&("top"===m?e.verticalAlign="bottom":e.y=b.plotHeight-l,k=!0);k&&(a.placed=
-!g,a.align(e,null,f))};z.pie&&(z.pie.prototype.drawDataLabels=function(){var b=this,e=b.data,c,d=b.chart,g=b.options.dataLabels,h=f(g.connectorPadding,10),l=f(g.connectorWidth,1),r=d.plotWidth,v=d.plotHeight,z,k=g.distance,C=b.center,y=C[2]/2,A=C[1],K=0<k,p,F,M,N,J=[[],[]],O,w,Q,R,P=[0,0,0,0];b.visible&&(g.enabled||b._hasPointLabels)&&(B(e,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),
-n.prototype.drawDataLabels.apply(b),B(e,function(a){a.dataLabel&&a.visible&&(J[a.half].push(a),a.dataLabel._pos=null)}),B(J,function(e,f){var m,l,n=e.length,q,u,x;if(n)for(b.sortByAngle(e,f-.5),0<k&&(m=Math.max(0,A-y-k),l=Math.min(A+y+k,d.plotHeight),q=t(e,function(a){if(a.dataLabel)return x=a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-m+x/2,size:x,rank:a.y}}),a.distribute(q,l+x-m)),R=0;R<n;R++)c=e[R],M=c.labelPos,p=c.dataLabel,Q=!1===c.visible?"hidden":"inherit",u=M[1],q?void 0===q[R].pos?
-Q="hidden":(N=q[R].size,w=m+q[R].pos):w=u,O=g.justify?C[0]+(f?-1:1)*(y+k):b.getX(w<m+2||w>l-2?u:w,f),p._attr={visibility:Q,align:M[6]},p._pos={x:O+g.x+({left:h,right:-h}[M[6]]||0),y:w+g.y-10},M.x=O,M.y=w,null===b.options.size&&(F=p.getBBox().width,u=null,O-F<h?(u=Math.round(F-O+h),P[3]=Math.max(u,P[3])):O+F>r-h&&(u=Math.round(O+F-r+h),P[1]=Math.max(u,P[1])),0>w-N/2?P[0]=Math.max(Math.round(-w+N/2),P[0]):w+N/2>v&&(P[2]=Math.max(Math.round(w+N/2-v),P[2])),p.sideOverflow=u)}),0===E(P)||this.verifyDataLabelOverflow(P))&&
-(this.placeDataLabels(),K&&l&&B(this.points,function(a){var c;z=a.connector;if((p=a.dataLabel)&&p._pos&&a.visible){Q=p._attr.visibility;if(c=!z)a.connector=z=d.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(b.dataLabelsGroup),z.attr({"stroke-width":l,stroke:g.connectorColor||a.color||"#666666"});z[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});z.attr("visibility",Q)}else z&&(a.connector=z.destroy())}))},z.pie.prototype.connectorPath=function(a){var b=
-a.x,c=a.y;return f(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},z.pie.prototype.placeDataLabels=function(){B(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),
-b.moved=!0):b&&b.attr({y:-9999}))},this)},z.pie.prototype.alignDataLabel=l,z.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,f=c.minSize||80,g,h;null!==d[0]?g=Math.max(b[2]-Math.max(a[1],a[3]),f):(g=Math.max(b[2]-a[1]-a[3],f),b[0]+=(a[3]-a[1])/2);null!==d[1]?g=Math.max(Math.min(g,b[2]-Math.max(a[0],a[2])),f):(g=Math.max(Math.min(g,b[2]-a[0]-a[2]),f),b[1]+=(a[0]-a[2])/2);g<b[2]?(b[2]=g,b[3]=Math.min(e(c.innerSize||0,g),g),this.translate(b),this.drawDataLabels&&
-this.drawDataLabels()):h=!0;return h});z.column&&(z.column.prototype.alignDataLabel=function(a,e,c,d,g){var b=this.chart.inverted,h=a.series,m=a.dlBox||a.shapeArgs,l=f(a.below,a.plotY>f(this.translatedThreshold,h.yAxis.len)),v=f(c.inside,!!this.options.stacking);m&&(d=r(m),0>d.y&&(d.height+=d.y,d.y=0),m=d.y+d.height-h.yAxis.len,0<m&&(d.height-=m),b&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-d.x-d.width,width:d.height,height:d.width}),v||(b?(d.x+=l?0:d.width,d.width=0):(d.y+=l?d.height:0,d.height=
-0)));c.align=f(c.align,!b||v?"center":l?"right":"left");c.verticalAlign=f(c.verticalAlign,b||v?"middle":l?"top":"bottom");n.prototype.alignDataLabel.call(this,a,e,c,d,g)})})(J);(function(a){var y=a.Chart,E=a.each,A=a.pick,B=a.addEvent;y.prototype.callbacks.push(function(a){function g(){var g=[];E(a.series||[],function(a){var h=a.options.dataLabels,f=a.dataLabelCollections||["dataLabel"];(h.enabled||a._hasPointLabels)&&!h.allowOverlap&&a.visible&&E(f,function(e){E(a.points,function(a){a[e]&&(a[e].labelrank=
-A(a.labelrank,a.shapeArgs&&a.shapeArgs.height),g.push(a[e]))})})});a.hideOverlappingLabels(g)}g();B(a,"redraw",g)});y.prototype.hideOverlappingLabels=function(a){var g=a.length,h,r,l,f,e,n,z,v,b,m=function(a,b,e,f,g,h,m,l){return!(g>a+e||g+m<a||h>b+f||h+l<b)};for(r=0;r<g;r++)if(h=a[r])h.oldOpacity=h.opacity,h.newOpacity=1;a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(r=0;r<g;r++)for(l=a[r],h=r+1;h<g;++h)if(f=a[h],l&&f&&l.placed&&f.placed&&0!==l.newOpacity&&0!==f.newOpacity&&(e=
-l.alignAttr,n=f.alignAttr,z=l.parentGroup,v=f.parentGroup,b=2*(l.box?0:l.padding),e=m(e.x+z.translateX,e.y+z.translateY,l.width-b,l.height-b,n.x+v.translateX,n.y+v.translateY,f.width-b,f.height-b)))(l.labelrank<f.labelrank?l:f).newOpacity=0;E(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(J);(function(a){var y=a.addEvent,E=a.Chart,A=a.createElement,B=a.css,
-h=a.defaultOptions,g=a.defaultPlotOptions,t=a.each,r=a.extend,l=a.fireEvent,f=a.hasTouch,e=a.inArray,n=a.isObject,z=a.Legend,v=a.merge,b=a.pick,m=a.Point,c=a.Series,d=a.seriesTypes,D=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);if(void 0!==c)c.onMouseOver(a)};t(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||
-(t(a.trackerGroups,function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(f)a[d].on("touchstart",c);a.options.cursor&&a[d].css(B).css({cursor:a.options.cursor})}}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,g=a.chart,h=g.pointer,m=g.renderer,l=g.options.tooltip.snap,n=a.tracker,p,r=function(){if(g.hoverSeries!==a)a.onMouseOver()},v=
-"rgba(192,192,192,"+(D?.0001:.002)+")";if(e&&!c)for(p=e+1;p--;)"M"===d[p]&&d.splice(p+1,0,d[p+1]-l,d[p+2],"L"),(p&&"M"===d[p]||p===e)&&d.splice(p,0,"L",d[p-2]+l,d[p-1]);n?n.attr({d:d}):a.graph&&(a.tracker=m.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:v,fill:c?v:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*l),zIndex:2}).add(a.group),t([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(a){h.onTrackerMouseOut(a)});
-b.cursor&&a.css({cursor:b.cursor});if(f)a.on("touchstart",r)}))}};d.column&&(d.column.prototype.drawTracker=a.drawTrackerPoint);d.pie&&(d.pie.prototype.drawTracker=a.drawTrackerPoint);d.scatter&&(d.scatter.prototype.drawTracker=a.drawTrackerPoint);r(z.prototype,{setItemEvents:function(a,b,c){var d=this,e=d.chart.renderer.boxWrapper,f="highcharts-legend-"+(a.series?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(f);b.css(d.options.itemHoverStyle)}).on("mouseout",
-function(){b.css(a.visible?d.itemStyle:d.itemHiddenStyle);e.removeClass(f);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):l(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=A("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);y(a.checkbox,"click",function(b){l(a.series||a,"checkboxClick",{checked:b.target.checked,
-item:a},function(){a.select()})})}});h.legend.itemStyle.cursor="pointer";r(E.prototype,{showResetZoom:function(){var a=this,b=h.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,!1,f)},zoomOut:function(){var a=this;l(a,"selection",{resetSelection:!0},
-function(){a.zoom()})},zoom:function(a){var c,d=this.pointer,e=!1,f;!a||a.resetSelection?t(this.axes,function(a){c=a.zoom()}):t(a.xAxis.concat(a.yAxis),function(a){var b=a.axis;d[b.isXAxis?"zoomX":"zoomY"]&&(c=b.zoom(a.min,a.max),b.displayBtn&&(e=!0))});f=this.resetZoomButton;e&&!f?this.showResetZoom():!e&&n(f)&&(this.resetZoomButton=f.destroy());c&&this.redraw(b(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&t(d,function(a){a.setState()});
-t("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",g=c[d],h=(b.pointRange||0)/2,m=b.getExtremes(),k=b.toValue(g-f,!0)+h,h=b.toValue(g+b.len-f,!0)-h,l=h<k,g=l?h:k,k=l?k:h,l=b.toValue(b.toPixels(m.min)-b.minPixelPadding),h=b.toValue(b.toPixels(m.max)+b.minPixelPadding),l=Math.min(m.dataMin,l)-g,m=k-Math.max(m.dataMax,h);b.series.length&&0>l&&0>m&&(b.setExtremes(g,k,!1,!1,{trigger:"pan"}),e=!0);c[d]=f});e&&c.redraw(!1);B(c.container,
-{cursor:"move"})}});r(m.prototype,{select:function(a,c){var d=this,f=d.series,g=f.chart;a=b(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:c},function(){d.selected=d.options.selected=a;f.options.data[e(d,f.data)]=d.options;d.setState(a&&"select");c||t(g.getSelectedPoints(),function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,f.options.data[e(a,f.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart.pointer;
-this.firePointEvent("mouseOver");b.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");t(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=v(this.series.options.point,this.options).events,b;this.events=a;for(b in a)y(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,c){var d=Math.floor(this.plotX),e=this.plotY,f=this.series,h=f.options.states[a]||{},m=
-g[f.type].marker&&f.options.marker,l=m&&!1===m.enabled,n=m&&m.states&&m.states[a]||{},q=!1===n.enabled,p=f.stateMarkerGraphic,u=this.marker||{},v=f.chart,t=f.halo,z,D=m&&f.markerAttribs;a=a||"";if(!(a===this.state&&!c||this.selected&&"select"!==a||!1===h.enabled||a&&(q||l&&!1===n.enabled)||a&&u.states&&u.states[a]&&!1===u.states[a].enabled)){D&&(z=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+
-a),this.graphic.attr(f.pointAttribs(this,a)),z&&this.graphic.animate(z,b(v.options.chart.animation,n.animation,m.animation)),p&&p.hide();else{if(a&&n){m=u.symbol||f.symbol;p&&p.currentSymbol!==m&&(p=p.destroy());if(p)p[c?"animate":"attr"]({x:z.x,y:z.y});else m&&(f.stateMarkerGraphic=p=v.renderer.symbol(m,z.x,z.y,z.width,z.height).add(f.markerGroup),p.currentSymbol=m);p&&p.attr(f.pointAttribs(this,a))}p&&(p[a&&v.isInsidePlot(d,e,v.inverted)?"show":"hide"](),p.element.point=this)}(d=h.halo)&&d.size?
-(t||(f.halo=t=v.renderer.path().add(D?f.markerGroup:f.group)),t[c?"animate":"attr"]({d:this.haloPath(d.size)}),t.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,f.colorIndex)}),t.point=this,t.attr(r({fill:this.color||f.color,"fill-opacity":d.opacity,zIndex:-1},d.attributes))):t&&t.point&&t.point.haloPath&&t.animate({d:t.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});r(c.prototype,
-{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&l(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&l(this,"mouseOut");!c||a.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var c=this,d=c.options,e=c.graph,f=d.states,g=d.lineWidth,
-d=0;a=a||"";if(c.state!==a&&(t([c.group,c.markerGroup,c.dataLabelsGroup],function(b){b&&(c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!f[a]||!1!==f[a].enabled)&&(a&&(g=f[a].lineWidth||g+(f[a].lineWidthPlus||0)),e&&!e.dashstyle))for(g={"stroke-width":g},e.animate(g,b(c.chart.options.chart.animation,f[a]&&f[a].animation));c["zone-graph-"+d];)c["zone-graph-"+d].attr(g),d+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,
-h=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!h:a)?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&t(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});t(c.linkedSeries,function(b){b.setVisible(a,!1)});g&&(d.isDirtyBox=!0);!1!==b&&d.redraw();l(c,f)},show:function(){this.setVisible(!0)},
-hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);l(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(J);(function(a){var y=a.Chart,E=a.each,A=a.inArray,B=a.isArray,h=a.isObject,g=a.pick,t=a.splat;y.prototype.setResponsive=function(g){var h=this.options.responsive,f=[],e=this.currentResponsive;h&&h.rules&&E(h.rules,function(e){void 0===e._id&&(e._id=a.uniqueKey());this.matchResponsiveRule(e,f,
-g)},this);var n=a.merge.apply(0,a.map(f,function(e){return a.find(h.rules,function(a){return a._id===e}).chartOptions})),f=f.toString()||void 0;f!==(e&&e.ruleIds)&&(e&&this.update(e.undoOptions,g),f?(this.currentResponsive={ruleIds:f,mergedOptions:n,undoOptions:this.currentOptions(n)},this.update(n,g)):this.currentResponsive=void 0)};y.prototype.matchResponsiveRule=function(a,h){var f=a.condition;(f.callback||function(){return this.chartWidth<=g(f.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=g(f.maxHeight,
-Number.MAX_VALUE)&&this.chartWidth>=g(f.minWidth,0)&&this.chartHeight>=g(f.minHeight,0)}).call(this)&&h.push(a._id)};y.prototype.currentOptions=function(a){function g(a,f,l,v){var b,e;for(b in a)if(!v&&-1<A(b,["series","xAxis","yAxis"]))for(a[b]=t(a[b]),l[b]=[],e=0;e<a[b].length;e++)f[b][e]&&(l[b][e]={},g(a[b][e],f[b][e],l[b][e],v+1));else h(a[b])?(l[b]=B(a[b])?[]:{},g(a[b],f[b]||{},l[b],v+1)):l[b]=f[b]||null}var f={};g(a,this.options,f,0);return f}})(J);(function(a){var y=a.Axis,E=a.each,A=a.pick;
-a=a.wrap;a(y.prototype,"getSeriesExtremes",function(a){var h=this.isXAxis,g,t,r=[],l;h&&E(this.series,function(a,e){a.useMapGeometry&&(r[e]=a.xData,a.xData=[])});a.call(this);h&&(g=A(this.dataMin,Number.MAX_VALUE),t=A(this.dataMax,-Number.MAX_VALUE),E(this.series,function(a,e){a.useMapGeometry&&(g=Math.min(g,A(a.minX,g)),t=Math.max(t,A(a.maxX,g)),a.xData=r[e],l=!0)}),l&&(this.dataMin=g,this.dataMax=t))});a(y.prototype,"setAxisTranslation",function(a){var h=this.chart,g=h.plotWidth/h.plotHeight,h=
-h.xAxis[0],t;a.call(this);"yAxis"===this.coll&&void 0!==h.transA&&E(this.series,function(a){a.preserveAspectRatio&&(t=!0)});if(t&&(this.transA=h.transA=Math.min(this.transA,h.transA),a=g/((h.max-h.min)/(this.max-this.min)),a=1>a?this:h,g=(a.max-a.min)*a.transA,a.pixelPadding=a.len-g,a.minPixelPadding=a.pixelPadding/2,g=a.fixTo)){g=g[1]-a.toValue(g[0],!0);g*=a.transA;if(Math.abs(g)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)g=0;a.minPixelPadding-=g}});a(y.prototype,"render",function(a){a.call(this);
-this.fixTo=null})})(J);(function(a){var y=a.Axis,E=a.Chart,A=a.color,B,h=a.each,g=a.extend,t=a.isNumber,r=a.Legend,l=a.LegendSymbolMixin,f=a.noop,e=a.merge,n=a.pick,z=a.wrap;B=a.ColorAxis=function(){this.init.apply(this,arguments)};g(B.prototype,y.prototype);g(B.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},
-minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(y.prototype.keepProps),init:function(a,b){var f="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=e(this.defaultColorAxisOptions,{side:f?2:1,reversed:!f},b,{opposite:!f,showEmpty:!1,title:null});y.prototype.init.call(this,a,c);b.dataClasses&&this.initDataClasses(b);this.initStops(b);this.horiz=f;this.zoomEnabled=!1;this.defaultLegendLength=
-200},tweenColors:function(a,b,e){var c;b.rgba.length&&a.rgba.length?(a=a.rgba,b=b.rgba,c=1!==b[3]||1!==a[3],a=(c?"rgba(":"rgb(")+Math.round(b[0]+(a[0]-b[0])*(1-e))+","+Math.round(b[1]+(a[1]-b[1])*(1-e))+","+Math.round(b[2]+(a[2]-b[2])*(1-e))+(c?","+(b[3]+(a[3]-b[3])*(1-e)):"")+")"):a=b.input||"none";return a},initDataClasses:function(a){var b=this,f=this.chart,c,d=0,g=f.options.chart.colorCount,l=this.options,n=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];h(a.dataClasses,function(a,
-h){a=e(a);c.push(a);a.color||("category"===l.dataClassColor?(h=f.options.colors,g=h.length,a.color=h[d],a.colorIndex=d,d++,d===g&&(d=0)):a.color=b.tweenColors(A(l.minColor),A(l.maxColor),2>n?.5:h/(n-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];h(this.stops,function(a){a.color=A(a[1])})},setOptions:function(a){y.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,b=this.chart,
-e=b.options.legend||{},c,d;a?(this.left=e=a.attr("x"),this.top=c=a.attr("y"),this.width=d=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-e-d,this.bottom=b.chartHeight-c-a,this.len=this.horiz?d:a,this.pos=this.horiz?e:c):this.len=(this.horiz?e.symbolWidth:e.symbolHeight)||this.defaultLegendLength},toColor:function(a,b){var e=this.stops,c,d,f=this.dataClasses,g,h;if(f)for(h=f.length;h--;){if(g=f[h],c=g.from,e=g.to,(void 0===c||a>=c)&&(void 0===e||a<=e)){d=g.color;b&&(b.dataClass=
-h,b.colorIndex=g.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(h=e.length;h--&&!(a>e[h][0]););c=e[h]||e[h+1];e=e[h+1]||c;a=1-(e[0]-a)/(e[0]-c[0]||1);d=this.tweenColors(c.color,e.color,a)}return d},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,y.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=b)},setLegendColor:function(){var a,
-b=this.options,e=this.reversed;a=e?1:0;e=e?0:1;a=this.horiz?[a,0,e,0]:[0,e,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var e=a.padding,c=a.options,d=this.horiz,f=n(c.symbolWidth,d?this.defaultLegendLength:12),g=n(c.symbolHeight,d?12:this.defaultLegendLength),h=n(c.labelPadding,d?16:30),c=n(c.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(b.legendGroup);
-this.legendItemWidth=f+e+(d?c:h);this.legendItemHeight=g+e+(d?h:0)},setState:f,visible:!0,setVisible:f,getSeriesExtremes:function(){var a=this.series,b=a.length;this.dataMin=Infinity;for(this.dataMax=-Infinity;b--;)void 0!==a[b].valueMin&&(this.dataMin=Math.min(this.dataMin,a[b].valueMin),this.dataMax=Math.max(this.dataMax,a[b].valueMax))},drawCrosshair:function(a,b){var e=b&&b.plotX,c=b&&b.plotY,d,f=this.pos,g=this.len;b&&(d=this.toPixels(b[b.series.colorKey]),d<f?d=f-2:d>f+g&&(d=f+g+2),b.plotX=
-d,b.plotY=this.len-d,y.prototype.drawCrosshair.call(this,a,b),b.plotX=e,b.plotY=c,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,b,e,c,d){return t(d)?this.horiz?["M",d-4,this.top-6,"L",d+4,this.top-6,d,this.top,"Z"]:["M",this.left,d,"L",this.left-6,d+6,this.left-6,d-6,"Z"]:y.prototype.getPlotLinePath.call(this,a,b,e,c)},update:function(a,b){var f=this.chart,c=f.legend;h(this.series,function(a){a.isDirtyData=
-!0});a.dataClasses&&c.allItems&&(h(c.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),f.isDirtyLegend=!0);f.options[this.coll]=e(this.userOptions,a);y.prototype.update.call(this,a,b);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var e=this,b=this.chart,m=this.legendItems,c=b.options.legend,d=c.valueDecimals,n=c.valueSuffix||"",r;m.length||h(this.dataClasses,function(c,t){var q=!0,u=c.from,k=c.to;r="";void 0===u?r="\x3c ":void 0===
-k&&(r="\x3e ");void 0!==u&&(r+=a.numberFormat(u,d)+n);void 0!==u&&void 0!==k&&(r+=" - ");void 0!==k&&(r+=a.numberFormat(k,d)+n);m.push(g({chart:b,name:r,options:{},drawLegendSymbol:l.drawRectangle,visible:!0,setState:f,isDataClass:!0,setVisible:function(){q=this.visible=!q;h(e.series,function(a){h(a.points,function(a){a.dataClass===t&&a.setVisible(q)})});b.legend.colorizeItem(this,q)}},c))});return m},name:""});h(["fill","stroke"],function(e){a.Fx.prototype[e+"Setter"]=function(){this.elem.attr(e,
-B.prototype.tweenColors(A(this.start),A(this.end),this.pos),null,!0)}});z(E.prototype,"getAxes",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&&new B(this,b)});z(r.prototype,"getAllItems",function(a){var b=[],e=this.chart.colorAxis[0];e&&e.options&&(e.options.showInLegend&&(e.options.dataClasses?b=b.concat(e.getDataClassLegendSymbols()):b.push(e)),h(e.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});z(r.prototype,"colorizeItem",function(a,
-b,e){a.call(this,b,e);e&&b.legendColor&&b.legendSymbol.attr({fill:b.legendColor})})})(J);(function(a){var y=a.defined,E=a.each,A=a.noop,B=a.seriesTypes;a.colorPointMixin={isValid:function(){return null!==this.value},setVisible:function(a){var g=this,h=a?"show":"hide";E(["graphic","dataLabel"],function(a){if(g[a])g[a][h]()})},setState:function(h){a.Point.prototype.setState.call(this,h);this.graphic&&this.graphic.attr({zIndex:"hover"===h?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis",
-"yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:A,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:B.column.prototype.pointAttribs,translateColors:function(){var a=this,g=this.options.nullColor,t=this.colorAxis,r=this.colorKey;E(this.data,function(h){var f=h[r];if(f=h.options.color||(h.isNull?g:t&&void 0!==f?t.toColor(f,h):h.color||a.color))h.color=f})},colorAttribs:function(a){var g={};y(a.color)&&(g[this.colorProp||"fill"]=
-a.color);return g}}})(J);(function(a){function y(a){a&&(a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)}function E(a){this.init(a)}var A=a.addEvent,B=a.Chart,h=a.doc,g=a.each,t=a.extend,r=a.merge,l=a.pick;a=a.wrap;E.prototype.init=function(a){this.chart=a;a.mapNavButtons=[]};E.prototype.update=function(a){var e=this.chart,f=e.options.mapNavigation,g,h,b,m,c,d=function(a){this.handler.call(e,a);y(a)},D=e.mapNavButtons;a&&(f=e.options.mapNavigation=r(e.options.mapNavigation,
-a));for(;D.length;)D.pop().destroy();if(l(f.enableButtons,f.enabled)&&!e.renderer.forExport)for(g in a=f.buttons,a)a.hasOwnProperty(g)&&(b=r(f.buttonOptions,a[g]),h=b.theme,h.style=r(b.theme.style,b.style),c=(m=h.states)&&m.hover,m=m&&m.select,h=e.renderer.button(b.text,0,0,d,h,c,m,0,"zoomIn"===g?"topbutton":"bottombutton").addClass("highcharts-map-navigation").attr({width:b.width,height:b.height,title:e.options.lang[g],padding:b.padding,zIndex:5}).add(),h.handler=b.onclick,h.align(t(b,{width:h.width,
-height:2*h.height}),null,b.alignTo),A(h.element,"dblclick",y),D.push(h));this.updateEvents(f)};E.prototype.updateEvents=function(a){var e=this.chart;l(a.enableDoubleClickZoom,a.enabled)||a.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||A(e.container,"dblclick",function(a){e.pointer.onContainerDblClick(a)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());l(a.enableMouseWheelZoom,a.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||A(e.container,void 0===h.onmousewheel?
-"DOMMouseScroll":"mousewheel",function(a){e.pointer.onContainerMouseWheel(a);y(a);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};t(B.prototype,{fitToBox:function(a,e){g([["x","width"],["y","height"]],function(f){var g=f[0];f=f[1];a[g]+a[f]>e[g]+e[f]&&(a[f]>e[f]?(a[f]=e[f],a[g]=e[g]):a[g]=e[g]+e[f]-a[f]);a[f]>e[f]&&(a[f]=e[f]);a[g]<e[g]&&(a[g]=e[g])});return a},mapZoom:function(a,e,g,h,r){var b=this.xAxis[0],f=b.max-b.min,c=l(e,b.min+f/2),d=f*a,f=this.yAxis[0],n=
-f.max-f.min,t=l(g,f.min+n/2),n=n*a,c=this.fitToBox({x:c-d*(h?(h-b.pos)/b.len:.5),y:t-n*(r?(r-f.pos)/f.len:.5),width:d,height:n},{x:b.dataMin,y:f.dataMin,width:b.dataMax-b.dataMin,height:f.dataMax-f.dataMin}),d=c.x<=b.dataMin&&c.width>=b.dataMax-b.dataMin&&c.y<=f.dataMin&&c.height>=f.dataMax-f.dataMin;h&&(b.fixTo=[h-b.pos,e]);r&&(f.fixTo=[r-f.pos,g]);void 0===a||d?(b.setExtremes(void 0,void 0,!1),f.setExtremes(void 0,void 0,!1)):(b.setExtremes(c.x,c.x+c.width,!1),f.setExtremes(c.y,c.y+c.height,!1));
-this.redraw()}});a(B.prototype,"render",function(a){this.mapNavigation=new E(this);this.mapNavigation.update();a.call(this)})})(J);(function(a){var y=a.extend,E=a.pick,A=a.Pointer;a=a.wrap;y(A.prototype,{onContainerDblClick:function(a){var h=this.chart;a=this.normalize(a);h.options.mapNavigation.enableDoubleClickZoomTo?h.pointer.inClass(a.target,"highcharts-tracker")&&h.hoverPoint&&h.hoverPoint.zoomTo():h.isInsidePlot(a.chartX-h.plotLeft,a.chartY-h.plotTop)&&h.mapZoom(.5,h.xAxis[0].toValue(a.chartX),
-h.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},onContainerMouseWheel:function(a){var h=this.chart,g;a=this.normalize(a);g=a.detail||-(a.wheelDelta/120);h.isInsidePlot(a.chartX-h.plotLeft,a.chartY-h.plotTop)&&h.mapZoom(Math.pow(h.options.mapNavigation.mouseWheelSensitivity,g),h.xAxis[0].toValue(a.chartX),h.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(A.prototype,"zoomOption",function(a){var h=this.chart.options.mapNavigation;E(h.enableTouchZoom,h.enabled)&&(this.chart.options.chart.pinchType=
-"xy");a.apply(this,[].slice.call(arguments,1))});a(A.prototype,"pinchTranslate",function(a,h,g,t,r,l,f){a.call(this,h,g,t,r,l,f);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=t.scaleX>t.scaleY,this.pinchTranslateDirection(!a,h,g,t,r,l,f,a?t.scaleX:t.scaleY))})})(J);(function(a){var y=a.color,E=a.ColorAxis,A=a.colorPointMixin,B=a.each,h=a.extend,g=a.isNumber,t=a.map,r=a.merge,l=a.noop,f=a.pick,e=a.isArray,n=a.Point,z=a.Series,v=a.seriesType,b=a.seriesTypes,m=a.splat,c=void 0!==a.doc.documentElement.style.vectorEffect;
-v("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},r(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,
-getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:l,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,d=-c,e=c,h=-c,m=c,l=c,k=this.xAxis,n=this.yAxis,r;B(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var k=b.path||[],n=k.length,q=!1,t=-c,u=c,v=-c,x=c,w=b.properties;if(!b._foundBox){for(;n--;)g(k[n])&&(q?(t=Math.max(t,k[n]),u=Math.min(u,k[n])):(v=Math.max(v,k[n]),x=Math.min(x,k[n])),q=!q);b._midX=
-u+(t-u)*(b.middleX||w&&w["hc-middle-x"]||.5);b._midY=x+(v-x)*(b.middleY||w&&w["hc-middle-y"]||.5);b._maxX=t;b._minX=u;b._maxY=v;b._minY=x;b.labelrank=f(b.labelrank,(t-u)*(v-x));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);h=Math.max(h,b._maxY);m=Math.min(m,b._minY);l=Math.min(b._maxX-b._minX,b._maxY-b._minY,l);r=!0}});r&&(this.minY=Math.min(m,f(this.minY,c)),this.maxY=Math.max(h,f(this.maxY,-c)),this.minX=Math.min(e,f(this.minX,c)),this.maxX=Math.max(d,f(this.maxX,-c)),k&&void 0===k.options.minRange&&
-(k.minRange=Math.min(5*l,(this.maxX-this.minX)/5,k.minRange||c)),n&&void 0===n.options.minRange&&(n.minRange=Math.min(5*l,(this.maxY-this.minY)/5,n.minRange||c)))},getExtremes:function(){z.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e=c.min,f=c.transA,c=c.minPixelPadding,
-h=d.min,m=d.transA,d=d.minPixelPadding,l,n=[];if(a)for(l=a.length;l--;)g(a[l])?(n[l]=b?(a[l]-e)*f+c:(a[l]-h)*m+d,b=!b):n[l]=a[l];return n},setData:function(b,c,f,h){var d=this.options,l=this.chart.options.chart,n=l&&l.map,k=d.mapData,q=d.joinBy,u=null===q,v=d.keys||this.pointArrayMap,D=[],p={},y,A=this.chart.mapTransforms;!k&&n&&(k="string"===typeof n?a.maps[n]:n);u&&(q="_i");q=this.joinBy=m(q);q[1]||(q[1]=q[0]);b&&B(b,function(a,c){var f=0;if(g(a))b[c]={value:a};else if(e(a)){b[c]={};!d.keys&&a.length>
-v.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++f);for(var h=0;h<v.length;++h,++f)v[h]&&(b[c][v[h]]=a[f])}u&&(b[c]._i=c)});this.getBox(b);if(this.chart.mapTransforms=A=l&&l.mapTransforms||k&&k["hc-transform"]||A)for(y in A)A.hasOwnProperty(y)&&y.rotation&&(y.cosAngle=Math.cos(y.rotation),y.sinAngle=Math.sin(y.rotation));if(k){"FeatureCollection"===k.type&&(this.mapTitle=k.title,k=a.geojson(k,this.type,this));this.mapData=k;this.mapMap={};for(y=0;y<k.length;y++)l=k[y],n=l.properties,l._i=
-y,q[0]&&n&&n[q[0]]&&(l[q[0]]=n[q[0]]),p[l[q[0]]]=l;this.mapMap=p;b&&q[1]&&B(b,function(a){p[a[q[1]]]&&D.push(p[a[q[1]]])});d.allAreas?(this.getBox(k),b=b||[],q[1]&&B(b,function(a){D.push(a[q[1]])}),D="|"+t(D,function(a){return a&&a[q[0]]}).join("|")+"|",B(k,function(a){q[0]&&-1!==D.indexOf("|"+a[q[0]]+"|")||(b.push(r(a,{value:null})),h=!1)})):this.getBox(D)}z.prototype.setData.call(this,b,c,f,h)},drawGraph:l,drawDataLabels:l,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||
-this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,e=a.doFullTranslate();a.generatePoints();B(a.data,function(d){d.plotX=b.toPixels(d._midX,!0);d.plotY=c.toPixels(d._midY,!0);e&&(d.shapeType="path",d.shapeArgs={d:a.translatePath(d.path)})});a.translateColors()},pointAttribs:function(a,e){e=b.column.prototype.pointAttribs.call(this,a,e);a.isFading&&delete e.fill;c?e["vector-effect"]="non-scaling-stroke":e["stroke-width"]="inherit";return e},drawPoints:function(){var a=
-this,e=a.xAxis,f=a.yAxis,g=a.group,h=a.chart,m=h.renderer,l,k,n,r,t=this.baseTrans,v,p,z,y,A;a.transformGroup||(a.transformGroup=m.g().attr({scaleX:1,scaleY:1}).add(g),a.transformGroup.survive=!0);a.doFullTranslate()?(h.hasRendered&&B(a.points,function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,b.column.prototype.drawPoints.apply(a),a.group=g,B(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(/ /g,"-").toLowerCase()),
-a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()))}),this.baseTrans={originX:e.min-e.minPixelPadding/e.transA,originY:f.min-f.minPixelPadding/f.transA+(f.reversed?0:f.len/f.transA),transAX:e.transA,transAY:f.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(l=e.transA/t.transAX,k=f.transA/t.transAY,n=e.toPixels(t.originX,!0),r=f.toPixels(t.originY,!0),.99<l&&1.01>l&&.99<k&&1.01>k&&(k=l=1,n=Math.round(n),
-r=Math.round(r)),v=this.transformGroup,h.renderer.globalAnimation?(p=v.attr("translateX"),z=v.attr("translateY"),y=v.attr("scaleX"),A=v.attr("scaleY"),v.attr({animator:0}).animate({animator:1},{step:function(a,b){v.attr({translateX:p+(n-p)*b.pos,translateY:z+(r-z)*b.pos,scaleX:y+(l-y)*b.pos,scaleY:A+(k-A)*b.pos})}})):v.attr({translateX:n,translateY:r,scaleX:l,scaleY:k}));c||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/
-(l||1));this.drawMapDataLabels()},drawMapDataLabels:function(){z.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=z.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,e=this.yAxis,f=d.pos,g=e.pos;this.chart.renderer.isSVG&&(!0===b&&(b={duration:1E3}),a?c.attr({translateX:f+d.len/2,translateY:g+
-e.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:f,translateY:g,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},B(this.points,function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,
-translateY:0},e)}),this.animate=null)},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){b.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){b.column.prototype.animateDrillupTo.call(this,a)}}),h({applyOptions:function(a,b){a=n.prototype.applyOptions.call(this,a,b);b=this.series;var c=b.joinBy;b.mapData&&((c=void 0!==a[c[1]]&&b.mapMap[a[c[1]]])?(b.xyFromShape&&(a.x=c._midX,a.y=c._midY),h(a,c)):a.value=a.value||null);return a},onMouseOver:function(a){clearTimeout(this.colorInterval);
-if(null!==this.value)n.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},onMouseOut:function(){var a=this,b=+new Date,c=y(this.series.pointAttribs(a).fill),e=y(this.series.pointAttribs(a,"hover").fill),f=a.series.options.states.normal.animation,g=f&&(f.duration||500);g&&4===c.rgba.length&&4===e.rgba.length&&"select"!==a.state&&(clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var d=(new Date-b)/g,f=a.graphic;1<d&&(d=1);f&&f.attr("fill",E.prototype.tweenColors.call(0,
-e,c,d));1<=d&&clearTimeout(a.colorInterval)},13),a.isFading=!0);n.prototype.onMouseOut.call(a);a.isFading=null},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},A))})(J);(function(a){var y=a.seriesType,E=a.seriesTypes;y("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,y){a=E.map.prototype.pointAttribs.call(this,
-a,y);a.fill=this.options.fillColor;return a},drawLegendSymbol:E.line.prototype.drawLegendSymbol})})(J);(function(a){var y=a.merge,E=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,B){a=void 0!==a.lat&&void 0!==a.lon?y(a,this.series.chart.fromLatLonToPoint(a)):a;return E.prototype.applyOptions.call(this,a,B)}})})(J);(function(a){var y=
-a.arrayMax,E=a.arrayMin,A=a.Axis,B=a.color,h=a.each,g=a.isNumber,t=a.noop,r=a.pick,l=a.pInt,f=a.Point,e=a.Series,n=a.seriesType,z=a.seriesTypes;n("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,
-zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["markerGroup","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",pointAttribs:function(a,b){var f=r(this.options.marker.fillOpacity,.5);a=e.prototype.pointAttribs.call(this,a,b);1!==f&&(a.fill=B(a.fill).setOpacity(f).get("rgba"));return a},getRadii:function(a,b,e,c){var d,f,g,h=this.zData,l=[],m=this.options,n="width"!==m.sizeBy,k=m.zThreshold,r=b-a;f=0;for(d=h.length;f<d;f++)g=h[f],m.sizeByAbsoluteValue&&
-null!==g&&(g=Math.abs(g-k),b=Math.max(b-k,Math.abs(a-k)),a=0),null===g?g=null:g<a?g=e/2-1:(g=0<r?(g-a)/r:.5,n&&0<=g&&(g=Math.sqrt(g)),g=Math.ceil(e+g*(c-e))/2),l.push(g);this.radii=l},animate:function(a){var b=this.options.animation;a||(h(this.points,function(a){var c=a.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,y:a.plotY,width:1,height:1}),c.animate(d,b))}),this.animate=null)},translate:function(){var e,b=this.data,f,c,d=this.radii;z.scatter.prototype.translate.call(this);
-for(e=b.length;e--;)f=b[e],c=d?d[e]:0,g(c)&&c>=this.minPxSize/2?(f.marker=a.extend(f.marker,{radius:c,width:2*c,height:2*c}),f.dlBox={x:f.plotX-c,y:f.plotY-c,width:2*c,height:2*c}):f.shapeArgs=f.plotY=f.dlBox=void 0},alignDataLabel:z.column.prototype.alignDataLabel,buildKDTree:t,applyZones:t},{haloPath:function(a){return f.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});A.prototype.beforePadding=function(){var a=this,b=this.len,e=this.chart,c=0,d=b,f=this.isXAxis,
-n=f?"xData":"yData",q=this.min,t={},z=Math.min(e.plotWidth,e.plotHeight),B=Number.MAX_VALUE,k=-Number.MAX_VALUE,C=this.max-q,A=b/C,J=[];h(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&e.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,J.push(b),f&&(h(["minSize","maxSize"],function(a){var b=c[a],d=/%$/.test(b),b=l(b);t[a]=d?z*b/100:b}),b.minPxSize=t.minSize,b.maxPxSize=Math.max(t.maxSize,t.minSize),b=b.zData,b.length&&(B=r(c.zMin,Math.min(B,Math.max(E(b),!1===c.displayNegative?
-c.zThreshold:-Number.MAX_VALUE))),k=r(c.zMax,Math.max(k,y(b))))))});h(J,function(b){var e=b[n],h=e.length,l;f&&b.getRadii(B,k,b.minPxSize,b.maxPxSize);if(0<C)for(;h--;)g(e[h])&&a.dataMin<=e[h]&&e[h]<=a.dataMax&&(l=b.radii[h],c=Math.min((e[h]-q)*A-l,c),d=Math.max((e[h]-q)*A+l,d))});J.length&&0<C&&!this.isLog&&(d-=b,A*=(b+c-d)/b,h([["min","userMin",c],["max","userMax",d]],function(b){void 0===r(a.options[b[0]],a[b[1]])&&(a[b[0]]+=b[2]/A)}))}})(J);(function(a){var y=a.merge,E=a.Point,A=a.seriesType,
-B=a.seriesTypes;B.bubble&&A("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:B.map.prototype.getMapData,getBox:B.map.prototype.getBox,setData:B.map.prototype.setData},{applyOptions:function(a,g){return a&&void 0!==a.lat&&void 0!==a.lon?E.prototype.applyOptions.call(this,y(a,this.series.chart.fromLatLonToPoint(a)),g):B.map.prototype.pointClass.prototype.applyOptions.call(this,a,g)},ttBelow:!1})})(J);
-(function(a){var y=a.colorPointMixin,E=a.each,A=a.merge,B=a.noop,h=a.pick,g=a.Series,t=a.seriesType,r=a.seriesTypes;t("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0},hover:{halo:!1,brightness:.2}}},A(a.colorSeriesMixin,{pointArrayMap:["y",
-"value"],hasPointSpecificOptions:!0,supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;r.scatter.prototype.init.apply(this,arguments);a=this.options;a.pointRange=h(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,f=this.xAxis,e=this.yAxis,g=function(a,e,b){return Math.min(Math.max(e,a),b)};this.generatePoints();E(this.points,function(h){var l=(a.colsize||1)/2,b=(a.rowsize||1)/2,m=g(Math.round(f.len-f.translate(h.x-
-l,0,1,0,1)),-f.len,2*f.len),l=g(Math.round(f.len-f.translate(h.x+l,0,1,0,1)),-f.len,2*f.len),c=g(Math.round(e.translate(h.y-b,0,1,0,1)),-e.len,2*e.len),b=g(Math.round(e.translate(h.y+b,0,1,0,1)),-e.len,2*e.len);h.plotX=h.clientX=(m+l)/2;h.plotY=(c+b)/2;h.shapeType="rect";h.shapeArgs={x:Math.min(m,l),y:Math.min(c,b),width:Math.abs(l-m),height:Math.abs(b-c)}});this.translateColors()},drawPoints:function(){r.column.prototype.drawPoints.call(this);E(this.points,function(a){a.graphic.attr(this.colorAttribs(a))},
-this)},animate:B,getBox:B,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,alignDataLabel:r.column.prototype.alignDataLabel,getExtremes:function(){g.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;g.prototype.getExtremes.call(this)}}),y)})(J);(function(a){function y(a,f){var e,g,h,l=!1,b=a.x,m=a.y;a=0;for(e=f.length-1;a<f.length;e=a++)g=f[a][1]>m,h=f[e][1]>m,g!==h&&b<(f[e][0]-f[a][0])*(m-f[a][1])/(f[e][1]-f[a][1])+f[a][0]&&(l=!l);return l}var E=
-a.Chart,A=a.each,B=a.extend,h=a.format,g=a.merge,t=a.win,r=a.wrap;E.prototype.transformFromLatLon=function(g,f){if(void 0===t.proj4)return a.error(21),{x:0,y:null};g=t.proj4(f.crs,[g.lon,g.lat]);var e=f.cosAngle||f.rotation&&Math.cos(f.rotation),h=f.sinAngle||f.rotation&&Math.sin(f.rotation);g=f.rotation?[g[0]*e+g[1]*h,-g[0]*h+g[1]*e]:g;return{x:((g[0]-(f.xoffset||0))*(f.scale||1)+(f.xpan||0))*(f.jsonres||1)+(f.jsonmarginX||0),y:(((f.yoffset||0)-g[1])*(f.scale||1)+(f.ypan||0))*(f.jsonres||1)-(f.jsonmarginY||
-0)}};E.prototype.transformToLatLon=function(g,f){if(void 0===t.proj4)a.error(21);else{g={x:((g.x-(f.jsonmarginX||0))/(f.jsonres||1)-(f.xpan||0))/(f.scale||1)+(f.xoffset||0),y:((-g.y-(f.jsonmarginY||0))/(f.jsonres||1)+(f.ypan||0))/(f.scale||1)+(f.yoffset||0)};var e=f.cosAngle||f.rotation&&Math.cos(f.rotation),h=f.sinAngle||f.rotation&&Math.sin(f.rotation);f=t.proj4(f.crs,"WGS84",f.rotation?{x:g.x*e+g.y*-h,y:g.x*h+g.y*e}:g);return{lat:f.y,lon:f.x}}};E.prototype.fromPointToLatLon=function(g){var f=this.mapTransforms,
-e;if(f){for(e in f)if(f.hasOwnProperty(e)&&f[e].hitZone&&y({x:g.x,y:-g.y},f[e].hitZone.coordinates[0]))return this.transformToLatLon(g,f[e]);return this.transformToLatLon(g,f["default"])}a.error(22)};E.prototype.fromLatLonToPoint=function(g){var f=this.mapTransforms,e,h;if(!f)return a.error(22),{x:0,y:null};for(e in f)if(f.hasOwnProperty(e)&&f[e].hitZone&&(h=this.transformFromLatLon(g,f[e]),y({x:h.x,y:-h.y},f[e].hitZone.coordinates[0])))return h;return this.transformFromLatLon(g,f["default"])};a.geojson=
-function(a,f,e){var g=[],l=[],r=function(a){var b,c=a.length;l.push("M");for(b=0;b<c;b++)1===b&&l.push("L"),l.push(a[b][0],-a[b][1])};f=f||"map";A(a.features,function(a){var b=a.geometry,c=b.type,b=b.coordinates;a=a.properties;var d;l=[];"map"===f||"mapbubble"===f?("Polygon"===c?(A(b,r),l.push("Z")):"MultiPolygon"===c&&(A(b,function(a){A(a,r)}),l.push("Z")),l.length&&(d={path:l})):"mapline"===f?("LineString"===c?r(b):"MultiLineString"===c&&A(b,r),l.length&&(d={path:l})):"mappoint"===f&&"Point"===
-c&&(d={x:b[0],y:-b[1]});d&&g.push(B(d,{name:a.name||a.NAME,properties:a}))});e&&a.copyrightShort&&(e.chart.mapCredits=h(e.chart.options.credits.mapText,{geojson:a}),e.chart.mapCreditsFull=h(e.chart.options.credits.mapTextFull,{geojson:a}));return g};r(E.prototype,"addCredits",function(a,f){f=g(!0,this.options.credits,f);this.mapCredits&&(f.href=null);a.call(this,f);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})})(J);(function(a){function y(a,f,g,h,b,l,c,d){return["M",
-a+b,f,"L",a+g-l,f,"C",a+g-l/2,f,a+g,f+l/2,a+g,f+l,"L",a+g,f+h-c,"C",a+g,f+h-c/2,a+g-c/2,f+h,a+g-c,f+h,"L",a+d,f+h,"C",a+d/2,f+h,a,f+h-d/2,a,f+h-d,"L",a,f+b,"C",a,f+b/2,a+b/2,f,a+b,f,"Z"]}var E=a.Chart,A=a.defaultOptions,B=a.each,h=a.extend,g=a.merge,t=a.pick,r=a.Renderer,l=a.SVGRenderer,f=a.VMLRenderer;h(A.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});A.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},
-theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};a.splitPath=function(a){var e;a=a.replace(/([A-Za-z])/g," $1 ");a=a.replace(/^\s*/,"").replace(/\s*$/,"");a=a.split(/[ ,]+/);for(e=0;e<a.length;e++)/[a-zA-Z]/.test(a[e])||(a[e]=parseFloat(a[e]));return a};a.maps={};l.prototype.symbols.topbutton=function(a,f,g,h,b){return y(a-1,f-1,g,h,b.r,b.r,0,0)};
-l.prototype.symbols.bottombutton=function(a,f,g,h,b){return y(a-1,f-1,g,h,0,0,b.r,b.r)};r===f&&B(["topbutton","bottombutton"],function(a){f.prototype.symbols[a]=l.prototype.symbols[a]});a.Map=a.mapChart=function(e,f,h){var l="string"===typeof e||e.nodeName,b=arguments[l?1:0],m={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},c,d=a.getOptions().credits;c=b.series;b.series=null;b=g({chart:{panning:"xy",type:"map"},credits:{mapText:t(d.mapText,' \u00a9 \x3ca href\x3d"{geojson.copyrightUrl}"\x3e{geojson.copyrightShort}\x3c/a\x3e'),
-mapTextFull:t(d.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:m,yAxis:g(m,{reversed:!0})},b,{chart:{inverted:!1,alignTicks:!1}});b.series=c;return l?new E(e,b,h):new E(b,f)}})(J);return J});
\ No newline at end of file
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highstock.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/highstock.js
deleted file mode 100644
index c8ba77a0..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/highstock.js
+++ /dev/null
@@ -1,509 +0,0 @@
-/*
- Highstock JS v5.0.8 (2017-03-08)
-
- (c) 2009-2016 Torstein Honsi
-
- License: www.highcharts.com/license
-*/
-(function(K,a){"object"===typeof module&&module.exports?module.exports=K.document?a(K):a:K.Highcharts=a(K)})("undefined"!==typeof window?window:this,function(K){K=function(){var a=window,D=a.document,A=a.navigator&&a.navigator.userAgent||"",G=D&&D.createElementNS&&!!D.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(A)&&!window.opera,w=!G,k=/Firefox/.test(A),t=k&&4>parseInt(A.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highstock",
-version:"5.0.8",deg2rad:2*Math.PI/360,doc:D,hasBidiBug:t,hasTouch:D&&void 0!==D.documentElement.ontouchstart,isMS:H,isWebKit:/AppleWebKit/.test(A),isFirefox:k,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(A),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:G,vml:w,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var D=[],A=a.charts,G=a.doc,H=a.win;a.error=function(w,k){w=a.isNumber(w)?"Highcharts error #"+
-w+": www.highcharts.com/errors/"+w:w;if(k)throw Error(w);H.console&&console.log(w)};a.Fx=function(a,k,t){this.options=k;this.elem=a;this.prop=t};a.Fx.prototype={dSetter:function(){var a=this.paths[0],k=this.paths[1],t=[],x=this.now,p=a.length,m;if(1===x)t=this.toD;else if(p===k.length&&1>x)for(;p--;)m=parseFloat(a[p]),t[p]=isNaN(m)?a[p]:x*parseFloat(k[p]-m)+m;else t=k;this.elem.attr("d",t,null,!0)},update:function(){var a=this.elem,k=this.prop,t=this.now,x=this.options.step;if(this[k+"Setter"])this[k+
-"Setter"]();else a.attr?a.element&&a.attr(k,t,null,!0):a.style[k]=t+this.unit;x&&x.call(a,t,this)},run:function(a,k,t){var w=this,p=function(a){return p.stopped?!1:w.step(a)},m;this.startTime=+new Date;this.start=a;this.end=k;this.unit=t;this.now=this.start;this.pos=0;p.elem=this.elem;p.prop=this.prop;p()&&1===D.push(p)&&(p.timerId=setInterval(function(){for(m=0;m<D.length;m++)D[m]()||D.splice(m--,1);D.length||clearInterval(p.timerId)},13))},step:function(a){var k=+new Date,w,x=this.options;w=this.elem;
-var p=x.complete,m=x.duration,e=x.curAnim,d;if(w.attr&&!w.element)w=!1;else if(a||k>=m+this.startTime){this.now=this.end;this.pos=1;this.update();a=e[this.prop]=!0;for(d in e)!0!==e[d]&&(a=!1);a&&p&&p.call(w);w=!1}else this.pos=x.easing((k-this.startTime)/m),this.now=this.start+(this.end-this.start)*this.pos,this.update(),w=!0;return w},initPath:function(w,k,t){function x(a){var b,h;for(C=a.length;C--;)b="M"===a[C]||"L"===a[C],h=/[a-zA-Z]/.test(a[C+3]),b&&h&&a.splice(C+1,0,a[C+1],a[C+2],a[C+1],a[C+
-2])}function p(a,f){for(;a.length<u;){a[0]=f[u-a.length];var h=a.slice(0,b);[].splice.apply(a,[0,0].concat(h));q&&(h=a.slice(a.length-b),[].splice.apply(a,[a.length,0].concat(h)),C--)}a[0]="M"}function m(a,f){for(var h=(u-a.length)/b;0<h&&h--;)c=a.slice().splice(a.length/r-b,b*r),c[0]=f[u-b-h*b],z&&(c[b-6]=c[b-2],c[b-5]=c[b-1]),[].splice.apply(a,[a.length/r,0].concat(c)),q&&h--}k=k||"";var e,d=w.startX,l=w.endX,z=-1<k.indexOf("C"),b=z?7:3,u,c,C;k=k.split(" ");t=t.slice();var q=w.isArea,r=q?2:1,h;
-z&&(x(k),x(t));if(d&&l){for(C=0;C<d.length;C++)if(d[C]===l[0]){e=C;break}else if(d[0]===l[l.length-d.length+C]){e=C;h=!0;break}void 0===e&&(k=[])}k.length&&a.isNumber(e)&&(u=t.length+e*r*b,h?(p(k,t),m(t,k)):(p(t,k),m(k,t)));return[k,t]}};a.extend=function(a,k){var w;a||(a={});for(w in k)a[w]=k[w];return a};a.merge=function(){var w,k=arguments,t,x={},p=function(m,e){var d,l;"object"!==typeof m&&(m={});for(l in e)e.hasOwnProperty(l)&&(d=e[l],a.isObject(d,!0)&&"renderTo"!==l&&"number"!==typeof d.nodeType?
-m[l]=p(m[l]||{},d):m[l]=e[l]);return m};!0===k[0]&&(x=k[1],k=Array.prototype.slice.call(k,2));t=k.length;for(w=0;w<t;w++)x=p(x,k[w]);return x};a.pInt=function(a,k){return parseInt(a,k||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(w,k){return w&&"object"===typeof w&&(!k||!a.isArray(w))};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)};a.erase=
-function(a,k){for(var w=a.length;w--;)if(a[w]===k){a.splice(w,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(w,k,t){var x,p;if(a.isString(k))a.defined(t)?w.setAttribute(k,t):w&&w.getAttribute&&(p=w.getAttribute(k));else if(a.defined(k)&&a.isObject(k))for(x in k)w.setAttribute(x,k[x]);return p};a.splat=function(w){return a.isArray(w)?w:[w]};a.syncTimeout=function(a,k,t){if(k)return setTimeout(a,k,t);a.call(0,t)};a.pick=function(){var a=arguments,k,t,x=a.length;for(k=
-0;k<x;k++)if(t=a[k],void 0!==t&&null!==t)return t};a.css=function(w,k){a.isMS&&!a.svg&&k&&void 0!==k.opacity&&(k.filter="alpha(opacity\x3d"+100*k.opacity+")");a.extend(w.style,k)};a.createElement=function(w,k,t,x,p){w=G.createElement(w);var m=a.css;k&&a.extend(w,k);p&&m(w,{padding:0,border:"none",margin:0});t&&m(w,t);x&&x.appendChild(w);return w};a.extendClass=function(w,k){var t=function(){};t.prototype=new w;a.extend(t.prototype,k);return t};a.pad=function(a,k,t){return Array((k||2)+1-String(a).length).join(t||
-0)+a};a.relativeLength=function(a,k){return/%$/.test(a)?k*parseFloat(a)/100:parseFloat(a)};a.wrap=function(a,k,t){var x=a[k];a[k]=function(){var a=Array.prototype.slice.call(arguments),m=arguments,e=this;e.proceed=function(){x.apply(e,arguments.length?arguments:m)};a.unshift(x);a=t.apply(this,a);e.proceed=null;return a}};a.getTZOffset=function(w){var k=a.Date;return 6E4*(k.hcGetTimezoneOffset&&k.hcGetTimezoneOffset(w)||k.hcTimezoneOffset||0)};a.dateFormat=function(w,k,t){if(!a.defined(k)||isNaN(k))return a.defaultOptions.lang.invalidDate||
-"";w=a.pick(w,"%Y-%m-%d %H:%M:%S");var x=a.Date,p=new x(k-a.getTZOffset(k)),m,e=p[x.hcGetHours](),d=p[x.hcGetDay](),l=p[x.hcGetDate](),z=p[x.hcGetMonth](),b=p[x.hcGetFullYear](),u=a.defaultOptions.lang,c=u.weekdays,C=u.shortWeekdays,q=a.pad,x=a.extend({a:C?C[d]:c[d].substr(0,3),A:c[d],d:q(l),e:q(l,2," "),w:d,b:u.shortMonths[z],B:u.months[z],m:q(z+1),y:b.toString().substr(2,2),Y:b,H:q(e),k:e,I:q(e%12||12),l:e%12||12,M:q(p[x.hcGetMinutes]()),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:q(p.getSeconds()),L:q(Math.round(k%
-1E3),3)},a.dateFormats);for(m in x)for(;-1!==w.indexOf("%"+m);)w=w.replace("%"+m,"function"===typeof x[m]?x[m](k):x[m]);return t?w.substr(0,1).toUpperCase()+w.substr(1):w};a.formatSingle=function(w,k){var t=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(w)?(t=(t=w.match(t))?t[1]:-1,null!==k&&(k=a.numberFormat(k,t,x.decimalPoint,-1<w.indexOf(",")?x.thousandsSep:""))):k=a.dateFormat(w,k);return k};a.format=function(w,k){for(var t="{",x=!1,p,m,e,d,l=[],z;w;){t=w.indexOf(t);if(-1===t)break;p=w.slice(0,
-t);if(x){p=p.split(":");m=p.shift().split(".");d=m.length;z=k;for(e=0;e<d;e++)z=z[m[e]];p.length&&(z=a.formatSingle(p.join(":"),z));l.push(z)}else l.push(p);w=w.slice(t+1);t=(x=!x)?"}":"{"}l.push(w);return l.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(w,k,t,x,p){var m,e=w;t=a.pick(t,1);m=w/t;k||(k=p?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===x&&(1===t?k=a.grep(k,function(a){return 0===a%1}):.1>=t&&(k=[1/t])));
-for(x=0;x<k.length&&!(e=k[x],p&&e*t>=w||!p&&m<=(k[x]+(k[x+1]||k[x]))/2);x++);return e=a.correctFloat(e*t,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,k){var t=a.length,x,p;for(p=0;p<t;p++)a[p].safeI=p;a.sort(function(a,e){x=k(a,e);return 0===x?a.safeI-e.safeI:x});for(p=0;p<t;p++)delete a[p].safeI};a.arrayMin=function(a){for(var k=a.length,t=a[0];k--;)a[k]<t&&(t=a[k]);return t};a.arrayMax=function(a){for(var k=a.length,t=a[0];k--;)a[k]>t&&(t=a[k]);return t};a.destroyObjectProperties=
-function(a,k){for(var t in a)a[t]&&a[t]!==k&&a[t].destroy&&a[t].destroy(),delete a[t]};a.discardElement=function(w){var k=a.garbageBin;k||(k=a.createElement("div"));w&&k.appendChild(w);k.innerHTML=""};a.correctFloat=function(a,k){return parseFloat(a.toPrecision(k||14))};a.setAnimation=function(w,k){k.renderer.globalAnimation=a.pick(w,k.options.chart.animation,!0)};a.animObject=function(w){return a.isObject(w)?a.merge(w):{duration:w?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,
-day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(w,k,t,x){w=+w||0;k=+k;var p=a.defaultOptions.lang,m=(w.toString().split(".")[1]||"").length,e,d;-1===k?k=Math.min(m,20):a.isNumber(k)||(k=2);d=(Math.abs(w)+Math.pow(10,-Math.max(k,m)-1)).toFixed(k);m=String(a.pInt(d));e=3<m.length?m.length%3:0;t=a.pick(t,p.decimalPoint);x=a.pick(x,p.thousandsSep);w=(0>w?"-":"")+(e?m.substr(0,e)+x:"");w+=m.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+x);k&&(w+=t+d.slice(-k));return w};Math.easeInOutSine=
-function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(w,k){return"width"===k?Math.min(w.offsetWidth,w.scrollWidth)-a.getStyle(w,"padding-left")-a.getStyle(w,"padding-right"):"height"===k?Math.min(w.offsetHeight,w.scrollHeight)-a.getStyle(w,"padding-top")-a.getStyle(w,"padding-bottom"):(w=H.getComputedStyle(w,void 0))&&a.pInt(w.getPropertyValue(k))};a.inArray=function(a,k){return k.indexOf?k.indexOf(a):[].indexOf.call(k,a)};a.grep=function(a,k){return[].filter.call(a,k)};a.find=function(a,
-k){return[].find.call(a,k)};a.map=function(a,k){for(var t=[],x=0,p=a.length;x<p;x++)t[x]=k.call(a[x],a[x],x,a);return t};a.offset=function(a){var k=G.documentElement;a=a.getBoundingClientRect();return{top:a.top+(H.pageYOffset||k.scrollTop)-(k.clientTop||0),left:a.left+(H.pageXOffset||k.scrollLeft)-(k.clientLeft||0)}};a.stop=function(a,k){for(var t=D.length;t--;)D[t].elem!==a||k&&k!==D[t].prop||(D[t].stopped=!0)};a.each=function(a,k,t){return Array.prototype.forEach.call(a,k,t)};a.addEvent=function(w,
-k,t){function x(a){a.target=a.srcElement||H;t.call(w,a)}var p=w.hcEvents=w.hcEvents||{};w.addEventListener?w.addEventListener(k,t,!1):w.attachEvent&&(w.hcEventsIE||(w.hcEventsIE={}),w.hcEventsIE[t.toString()]=x,w.attachEvent("on"+k,x));p[k]||(p[k]=[]);p[k].push(t);return function(){a.removeEvent(w,k,t)}};a.removeEvent=function(w,k,t){function x(a,d){w.removeEventListener?w.removeEventListener(a,d,!1):w.attachEvent&&(d=w.hcEventsIE[d.toString()],w.detachEvent("on"+a,d))}function p(){var a,d;if(w.nodeName)for(d in k?
-(a={},a[k]=!0):a=e,a)if(e[d])for(a=e[d].length;a--;)x(d,e[d][a])}var m,e=w.hcEvents,d;e&&(k?(m=e[k]||[],t?(d=a.inArray(t,m),-1<d&&(m.splice(d,1),e[k]=m),x(k,t)):(p(),e[k]=[])):(p(),w.hcEvents={}))};a.fireEvent=function(w,k,t,x){var p;p=w.hcEvents;var m,e;t=t||{};if(G.createEvent&&(w.dispatchEvent||w.fireEvent))p=G.createEvent("Events"),p.initEvent(k,!0,!0),a.extend(p,t),w.dispatchEvent?w.dispatchEvent(p):w.fireEvent(k,p);else if(p)for(p=p[k]||[],m=p.length,t.target||a.extend(t,{preventDefault:function(){t.defaultPrevented=
-!0},target:w,type:k}),k=0;k<m;k++)(e=p[k])&&!1===e.call(w,t)&&t.preventDefault();x&&!t.defaultPrevented&&x(t)};a.animate=function(w,k,t){var x,p="",m,e,d;a.isObject(t)||(x=arguments,t={duration:x[2],easing:x[3],complete:x[4]});a.isNumber(t.duration)||(t.duration=400);t.easing="function"===typeof t.easing?t.easing:Math[t.easing]||Math.easeInOutSine;t.curAnim=a.merge(k);for(d in k)a.stop(w,d),e=new a.Fx(w,t,d),m=null,"d"===d?(e.paths=e.initPath(w,w.d,k.d),e.toD=k.d,x=0,m=1):w.attr?x=w.attr(d):(x=parseFloat(a.getStyle(w,
-d))||0,"opacity"!==d&&(p="px")),m||(m=k[d]),m&&m.match&&m.match("px")&&(m=m.replace(/px/g,"")),e.run(x,m,p)};a.seriesType=function(w,k,t,x,p){var m=a.getOptions(),e=a.seriesTypes;m.plotOptions[w]=a.merge(m.plotOptions[k],t);e[w]=a.extendClass(e[k]||function(){},x);e[w].prototype.type=w;p&&(e[w].prototype.pointClass=a.extendClass(a.Point,p));return e[w]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),k=0;return function(){return"highcharts-"+a+"-"+k++}}();H.jQuery&&(H.jQuery.fn.highcharts=
-function(){var w=[].slice.call(arguments);if(this[0])return w[0]?(new (a[a.isString(w[0])?w.shift():"Chart"])(this[0],w[0],w[1]),this):A[a.attr(this[0],"data-highcharts-chart")]});G&&!G.defaultView&&(a.getStyle=function(w,k){var t={width:"clientWidth",height:"clientHeight"}[k];if(w.style[k])return a.pInt(w.style[k]);"opacity"===k&&(k="filter");if(t)return w.style.zoom=1,Math.max(w[t]-2*a.getStyle(w,"padding"),0);w=w.currentStyle[k.replace(/\-(\w)/g,function(a,p){return p.toUpperCase()})];"filter"===
-k&&(w=w.replace(/alpha\(opacity=([0-9]+)\)/,function(a,p){return p/100}));return""===w?1:a.pInt(w)});Array.prototype.forEach||(a.each=function(a,k,t){for(var x=0,p=a.length;x<p;x++)if(!1===k.call(t,a[x],x,a))return x});Array.prototype.indexOf||(a.inArray=function(a,k){var t,x=0;if(k)for(t=k.length;x<t;x++)if(k[x]===a)return x;return-1});Array.prototype.filter||(a.grep=function(a,k){for(var t=[],x=0,p=a.length;x<p;x++)k(a[x],x)&&t.push(a[x]);return t});Array.prototype.find||(a.find=function(a,k){var t,
-x=a.length;for(t=0;t<x;t++)if(k(a[t],t))return a[t]})})(K);(function(a){var D=a.each,A=a.isNumber,G=a.map,H=a.merge,w=a.pInt;a.Color=function(k){if(!(this instanceof a.Color))return new a.Color(k);this.init(k)};a.Color.prototype={parsers:[{regex:/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*\)/,parse:function(a){return[w(a[1]),w(a[2]),w(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(a){return[w(a[1]),
-w(a[2]),w(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(k){var t,x,p,m;if((this.input=k=this.names[k]||k)&&k.stops)this.stops=G(k.stops,function(e){return new a.Color(e[1])});else if(k&&"#"===k[0]&&(t=k.length,k=parseInt(k.substr(1),16),7===t?x=[(k&16711680)>>16,(k&65280)>>8,k&255,1]:4===t&&(x=[(k&3840)>>4|(k&3840)>>8,(k&240)>>4|k&240,(k&15)<<4|k&15,1])),!x)for(p=this.parsers.length;p--&&!x;)m=this.parsers[p],(t=m.regex.exec(k))&&(x=m.parse(t));this.rgba=x||[]},get:function(a){var k=
-this.input,x=this.rgba,p;this.stops?(p=H(k),p.stops=[].concat(p.stops),D(this.stops,function(m,e){p.stops[e]=[p.stops[e][0],m.get(a)]})):p=x&&A(x[0])?"rgb"===a||!a&&1===x[3]?"rgb("+x[0]+","+x[1]+","+x[2]+")":"a"===a?x[3]:"rgba("+x.join(",")+")":k;return p},brighten:function(a){var k,x=this.rgba;if(this.stops)D(this.stops,function(p){p.brighten(a)});else if(A(a)&&0!==a)for(k=0;3>k;k++)x[k]+=w(255*a),0>x[k]&&(x[k]=0),255<x[k]&&(x[k]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this}};
-a.color=function(k){return new a.Color(k)}})(K);(function(a){var D,A,G=a.addEvent,H=a.animate,w=a.attr,k=a.charts,t=a.color,x=a.css,p=a.createElement,m=a.defined,e=a.deg2rad,d=a.destroyObjectProperties,l=a.doc,z=a.each,b=a.extend,u=a.erase,c=a.grep,C=a.hasTouch,q=a.inArray,r=a.isArray,h=a.isFirefox,E=a.isMS,f=a.isObject,v=a.isString,n=a.isWebKit,y=a.merge,L=a.noop,F=a.pick,I=a.pInt,g=a.removeEvent,J=a.stop,Q=a.svg,P=a.SVG_NS,M=a.symbolSizes,S=a.win;D=a.SVGElement=function(){return this};D.prototype=
-{opacity:1,SVG_NS:P,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline".split(" "),init:function(a,g){this.element="span"===g?p(g):l.createElementNS(this.SVG_NS,g);this.renderer=a},animate:function(B,g,b){g=a.animObject(F(g,this.renderer.globalAnimation,!0));0!==g.duration?(b&&(g.complete=b),H(this,B,g)):(this.attr(B,null,b),g.step&&g.step.call(this));return this},colorGradient:function(B,g,b){var f=this.renderer,
-h,n,c,d,J,F,E,v,q,N,u,l=[],I;B.linearGradient?n="linearGradient":B.radialGradient&&(n="radialGradient");if(n){c=B[n];J=f.gradients;E=B.stops;N=b.radialReference;r(c)&&(B[n]=c={x1:c[0],y1:c[1],x2:c[2],y2:c[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===n&&N&&!m(c.gradientUnits)&&(d=c,c=y(c,f.getRadialAttr(N,d),{gradientUnits:"userSpaceOnUse"}));for(u in c)"id"!==u&&l.push(u,c[u]);for(u in E)l.push(E[u]);l=l.join(",");J[l]?N=J[l].attr("id"):(c.id=N=a.uniqueKey(),J[l]=F=f.createElement(n).attr(c).add(f.defs),
-F.radAttr=d,F.stops=[],z(E,function(B){0===B[1].indexOf("rgba")?(h=a.color(B[1]),v=h.get("rgb"),q=h.get("a")):(v=B[1],q=1);B=f.createElement("stop").attr({offset:B[0],"stop-color":v,"stop-opacity":q}).add(F);F.stops.push(B)}));I="url("+f.url+"#"+N+")";b.setAttribute(g,I);b.gradient=l;B.toString=function(){return I}}},applyTextOutline:function(a){var B=this.element,g,b,f,h;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(B.style.fill)));this.fakeTS=!0;this.ySetter=this.xSetter;
-g=[].slice.call(B.getElementsByTagName("tspan"));a=a.split(" ");b=a[a.length-1];(f=a[0])&&"none"!==f&&(f=f.replace(/(^[\d\.]+)(.*?)$/g,function(a,B,g){return 2*B+g}),z(g,function(a){"highcharts-text-outline"===a.getAttribute("class")&&u(g,B.removeChild(a))}),h=B.firstChild,z(g,function(a,g){0===g&&(a.setAttribute("x",B.getAttribute("x")),g=B.getAttribute("y"),a.setAttribute("y",g||0),null===g&&B.setAttribute("y",0));a=a.cloneNode(1);w(a,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":f,
-"stroke-linejoin":"round"});B.insertBefore(a,h)}))},attr:function(a,g,b,f){var B,h=this.element,n,c=this,y;"string"===typeof a&&void 0!==g&&(B=a,a={},a[B]=g);if("string"===typeof a)c=(this[a+"Getter"]||this._defaultGetter).call(this,a,h);else{for(B in a)g=a[B],y=!1,f||J(this,B),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(B)&&(n||(this.symbolAttr(a),n=!0),y=!0),!this.rotation||"x"!==B&&"y"!==B||(this.doTransform=!0),y||(y=this[B+"Setter"]||this._defaultSetter,y.call(this,
-g,B,h),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(B)&&this.updateShadows(B,g,y));this.doTransform&&(this.updateTransform(),this.doTransform=!1)}b&&b();return c},updateShadows:function(a,g,b){for(var B=this.shadows,f=B.length;f--;)b.call(B[f],"height"===a?Math.max(g-(B[f].cutHeight||0),0):"d"===a?this.d:g,a,B[f])},addClass:function(a,g){var B=this.attr("class")||"";-1===B.indexOf(a)&&(g||(a=(B+(B?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==
-w(this.element,"class").indexOf(a)},removeClass:function(a){w(this.element,"class",(w(this.element,"class")||"").replace(a,""));return this},symbolAttr:function(a){var B=this;z("x y r start end width height innerR anchorX anchorY".split(" "),function(g){B[g]=F(a[g],B[g])});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+")":"none")},crisp:function(a,g){var B,b={},f;g=g||a.strokeWidth||0;f=Math.round(g)%
-2/2;a.x=Math.floor(a.x||this.x||0)+f;a.y=Math.floor(a.y||this.y||0)+f;a.width=Math.floor((a.width||this.width||0)-2*f);a.height=Math.floor((a.height||this.height||0)-2*f);m(a.strokeWidth)&&(a.strokeWidth=g);for(B in a)this[B]!==a[B]&&(this[B]=b[B]=a[B]);return b},css:function(a){var B=this.styles,g={},f=this.element,h,n="",c=!B,y=["textOverflow","width"];a&&a.color&&(a.fill=a.color);if(B)for(h in a)a[h]!==B[h]&&(g[h]=a[h],c=!0);if(c){B&&(a=b(B,g));B=this.textWidth=a&&a.width&&"auto"!==a.width&&"text"===
-f.nodeName.toLowerCase()&&I(a.width);this.styles=a;B&&!Q&&this.renderer.forExport&&delete a.width;if(E&&!Q)x(this.element,a);else{B=function(a,B){return"-"+B.toLowerCase()};for(h in a)-1===q(h,y)&&(n+=h.replace(/([A-Z])/g,B)+":"+a[h]+";");n&&w(f,"style",n)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,g){var B=this,b=B.element;C&&"click"===
-a?(b.ontouchstart=function(a){B.touchEventFired=Date.now();a.preventDefault();g.call(b,a)},b.onclick=function(a){(-1===S.navigator.userAgent.indexOf("Android")||1100<Date.now()-(B.touchEventFired||0))&&g.call(b,a)}):b["on"+a]=g;return this},setRadialReference:function(a){var B=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;B&&B.radAttr&&B.animate(this.renderer.getRadialAttr(a,B.radAttr));return this},translate:function(a,g){return this.attr({translateX:a,translateY:g})},
-invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,g=this.translateY||0,b=this.scaleX,f=this.scaleY,h=this.inverted,n=this.rotation,c=this.element;h&&(a+=this.width,g+=this.height);a=["translate("+a+","+g+")"];h?a.push("rotate(90) scale(-1,1)"):n&&a.push("rotate("+n+" "+(c.getAttribute("x")||0)+" "+(c.getAttribute("y")||0)+")");(m(b)||m(f))&&a.push("scale("+F(b,1)+" "+F(f,1)+")");a.length&&c.setAttribute("transform",a.join(" "))},
-toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,g,b){var B,f,h,n,c={};f=this.renderer;h=f.alignedObjects;var y,d;if(a){if(this.alignOptions=a,this.alignByTranslate=g,!b||v(b))this.alignTo=B=b||"renderer",u(h,this),h.push(this),b=null}else a=this.alignOptions,g=this.alignByTranslate,B=this.alignTo;b=F(b,f[B],f);B=a.align;f=a.verticalAlign;h=(b.x||0)+(a.x||0);n=(b.y||0)+(a.y||0);"right"===B?y=1:"center"===B&&(y=2);y&&(h+=(b.width-(a.width||0))/y);c[g?
-"translateX":"x"]=Math.round(h);"bottom"===f?d=1:"middle"===f&&(d=2);d&&(n+=(b.height-(a.height||0))/d);c[g?"translateY":"y"]=Math.round(n);this[this.placed?"animate":"attr"](c);this.placed=!0;this.alignAttr=c;return this},getBBox:function(a,g){var B,f=this.renderer,h,n=this.element,c=this.styles,y,d=this.textStr,J,E=f.cache,r=f.cacheKeys,v;g=F(g,this.rotation);h=g*e;y=c&&c.fontSize;void 0!==d&&(v=d.toString(),-1===v.indexOf("\x3c")&&(v=v.replace(/[0-9]/g,"0")),v+=["",g||0,y,c&&c.width,c&&c.textOverflow].join());
-v&&!a&&(B=E[v]);if(!B){if(n.namespaceURI===this.SVG_NS||f.forExport){try{(J=this.fakeTS&&function(a){z(n.querySelectorAll(".highcharts-text-outline"),function(B){B.style.display=a})})&&J("none"),B=n.getBBox?b({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight},J&&J("")}catch(U){}if(!B||0>B.width)B={width:0,height:0}}else B=this.htmlGetBBox();f.isSVG&&(a=B.width,f=B.height,c&&"11px"===c.fontSize&&17===Math.round(f)&&(B.height=f=14),g&&(B.width=Math.abs(f*Math.sin(h))+Math.abs(a*Math.cos(h)),
-B.height=Math.abs(f*Math.cos(h))+Math.abs(a*Math.sin(h))));if(v&&0<B.height){for(;250<r.length;)delete E[r.shift()];E[v]||r.push(v);E[v]=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 g=this.renderer,B=this.element,b;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;
-void 0!==this.textStr&&g.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)b=this.zIndexSetter();b||(a?a.element:g.box).appendChild(B);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var g=a.parentNode;g&&g.removeChild(a)},destroy:function(){var a=this.element||{},g=this.renderer.isSVG&&"SPAN"===a.nodeName&&this.parentGroup,b,f;a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.point=null;J(this);this.clipPath&&(this.clipPath=this.clipPath.destroy());if(this.stops){for(f=
-0;f<this.stops.length;f++)this.stops[f]=this.stops[f].destroy();this.stops=null}this.safeRemoveChild(a);for(this.destroyShadows();g&&g.div&&0===g.div.childNodes.length;)a=g.parentGroup,this.safeRemoveChild(g.div),delete g.div,g=a;this.alignTo&&u(this.renderer.alignedObjects,this);for(b in this)delete this[b];return null},shadow:function(a,g,b){var B=[],f,h,n=this.element,c,y,d,J;if(!a)this.destroyShadows();else if(!this.shadows){y=F(a.width,3);d=(a.opacity||.15)/y;J=this.parentInverted?"(-1,-1)":
-"("+F(a.offsetX,1)+", "+F(a.offsetY,1)+")";for(f=1;f<=y;f++)h=n.cloneNode(0),c=2*y+1-2*f,w(h,{isShadow:"true",stroke:a.color||"#000000","stroke-opacity":d*f,"stroke-width":c,transform:"translate"+J,fill:"none"}),b&&(w(h,"height",Math.max(w(h,"height")-c,0)),h.cutHeight=c),g?g.element.appendChild(h):n.parentNode.insertBefore(h,n),B.push(h);this.shadows=B}return this},destroyShadows:function(){z(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===
-this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=F(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,g,b){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");b.setAttribute(g,a);this[g]=a},dashstyleSetter:function(a){var g,B=this["stroke-width"];"inherit"===B&&(B=1);if(a=a&&a.toLowerCase()){a=a.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(g=a.length;g--;)a[g]=I(a[g])*B;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,g,b){this[g]=a;b.setAttribute(g,a)},titleSetter:function(a){var g=this.element.getElementsByTagName("title")[0];
-g||(g=l.createElementNS(this.SVG_NS,"title"),this.element.appendChild(g));g.firstChild&&g.removeChild(g.firstChild);g.appendChild(l.createTextNode(String(F(a),"").replace(/<[^>]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,g,b){"string"===typeof a?b.setAttribute(g,a):a&&this.colorGradient(a,g,b)},visibilitySetter:function(a,g,b){"inherit"===a?b.removeAttribute(g):b.setAttribute(g,a)},zIndexSetter:function(a,
-g){var b=this.renderer,f=this.parentGroup,B=(f||b).element||b.box,h,n=this.element,c;h=this.added;var y;m(a)&&(n.zIndex=a,a=+a,this[g]===a&&(h=!1),this[g]=a);if(h){(a=this.zIndex)&&f&&(f.handleZ=!0);g=B.childNodes;for(y=0;y<g.length&&!c;y++)f=g[y],h=f.zIndex,f!==n&&(I(h)>a||!m(a)&&m(h)||0>a&&!m(h)&&B!==b.box)&&(B.insertBefore(n,f),c=!0);c||B.appendChild(n)}return c},_defaultSetter:function(a,g,b){b.setAttribute(g,a)}};D.prototype.yGetter=D.prototype.xGetter;D.prototype.translateXSetter=D.prototype.translateYSetter=
-D.prototype.rotationSetter=D.prototype.verticalAlignSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=function(a,g){this[g]=a;this.doTransform=!0};D.prototype["stroke-widthSetter"]=D.prototype.strokeSetter=function(a,g,b){this[g]=a;this.stroke&&this["stroke-width"]?(D.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===g&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),this.hasStroke=!1)};A=a.SVGRenderer=
-function(){this.init.apply(this,arguments)};A.prototype={Element:D,SVG_NS:P,init:function(a,g,b,f,c,y){var B;f=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(f));B=f.element;a.appendChild(B);-1===a.innerHTML.indexOf("xmlns")&&w(B,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=B;this.boxWrapper=f;this.alignedObjects=[];this.url=(h||n)&&l.getElementsByTagName("base").length?S.location.href.replace(/#.*?$/,"").replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,
-"%20"):"";this.createElement("desc").add().element.appendChild(l.createTextNode("Created with Highstock 5.0.8"));this.defs=this.createElement("defs").add();this.allowHTML=y;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(g,b,!1);var d;h&&a.getBoundingClientRect&&(g=function(){x(a,{left:0,top:0});d=a.getBoundingClientRect();x(a,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})},g(),this.unSubPixelFix=G(S,"resize",g))},getStyle:function(a){return this.style=
-b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();d(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var g=new this.Element;
-g.init(this,a);return g},draw:L,getRadialAttr:function(a,g){return{cx:a[0]-a[2]/2+g.cx*a[2],cy:a[1]-a[2]/2+g.cy*a[2],r:g.r*a[2]}},buildText:function(a){var g=a.element,b=this,f=b.forExport,h=F(a.textStr,"").toString(),n=-1!==h.indexOf("\x3c"),B=g.childNodes,y,d,J,E,v=w(g,"x"),r=a.styles,q=a.textWidth,u=r&&r.lineHeight,e=r&&r.textOutline,C=r&&"ellipsis"===r.textOverflow,L=r&&"nowrap"===r.whiteSpace,m=r&&r.fontSize,p,k=B.length,r=q&&!a.added&&this.box,t=function(a){var f;f=/(px|em)$/.test(a&&a.style.fontSize)?
-a.style.fontSize:m||b.style.fontSize||12;return u?I(u):b.fontMetrics(f,a.getAttribute("style")?a:g).h};p=[h,C,L,u,e,m,q].join();if(p!==a.textCache){for(a.textCache=p;k--;)g.removeChild(B[k]);n||e||C||q||-1!==h.indexOf(" ")?(y=/<.*class="([^"]+)".*>/,d=/<.*style="([^"]+)".*>/,J=/<.*href="(http[^"]+)".*>/,r&&r.appendChild(g),h=n?h.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,
-"\x3c/span\x3e").split(/<br.*?>/g):[h],h=c(h,function(a){return""!==a}),z(h,function(h,n){var B,c=0;h=h.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");B=h.split("|||");z(B,function(h){if(""!==h||1===B.length){var r={},F=l.createElementNS(b.SVG_NS,"tspan"),u,I;y.test(h)&&(u=h.match(y)[1],w(F,"class",u));d.test(h)&&(I=h.match(d)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),w(F,"style",I));J.test(h)&&!f&&(w(F,"onclick",'location.href\x3d"'+h.match(J)[1]+
-'"'),x(F,{cursor:"pointer"}));h=(h.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e");if(" "!==h){F.appendChild(l.createTextNode(h));c?r.dx=0:n&&null!==v&&(r.x=v);w(F,r);g.appendChild(F);!c&&n&&(!Q&&f&&x(F,{display:"block"}),w(F,"dy",t(F)));if(q){r=h.replace(/([^\^])-/g,"$1- ").split(" ");u=1<B.length||n||1<r.length&&!L;for(var e,z,m=[],p=t(F),N=a.rotation,k=h,M=k.length;(u||C)&&(r.length||m.length);)a.rotation=0,e=a.getBBox(!0),z=e.width,!Q&&b.forExport&&(z=b.measureSpanWidth(F.firstChild.data,
-a.styles)),e=z>q,void 0===E&&(E=e),C&&E?(M/=2,""===k||!e&&.5>M?r=[]:(k=h.substring(0,k.length+(e?-1:1)*Math.ceil(M)),r=[k+(3<q?"\u2026":"")],F.removeChild(F.firstChild))):e&&1!==r.length?(F.removeChild(F.firstChild),m.unshift(r.pop())):(r=m,m=[],r.length&&!L&&(F=l.createElementNS(P,"tspan"),w(F,{dy:p,x:v}),I&&w(F,"style",I),g.appendChild(F)),z>q&&(q=z)),r.length&&F.appendChild(l.createTextNode(r.join(" ").replace(/- /g,"-")));a.rotation=N}c++}}})}),E&&a.attr("title",a.textStr),r&&r.removeChild(g),
-e&&a.applyTextOutline&&a.applyTextOutline(e)):g.appendChild(l.createTextNode(h.replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))}},getContrast:function(a){a=t(a).rgba;return 510<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,g,f,h,n,c,d,J,r){var B=this.label(a,g,f,r,null,null,null,null,"button"),F=0;B.attr(y({padding:8,r:2},n));var v,q,u,l;n=y({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},n);v=n.style;delete n.style;c=y(n,{fill:"#e6e6e6"},
-c);q=c.style;delete c.style;d=y(n,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},d);u=d.style;delete d.style;J=y(n,{style:{color:"#cccccc"}},J);l=J.style;delete J.style;G(B.element,E?"mouseover":"mouseenter",function(){3!==F&&B.setState(1)});G(B.element,E?"mouseout":"mouseleave",function(){3!==F&&B.setState(F)});B.setState=function(a){1!==a&&(B.state=F=a);B.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||
-0]);B.attr([n,c,d,J][a||0]).css([v,q,u,l][a||0])};B.attr(n).css(b({cursor:"default"},v));return B.on("click",function(a){3!==F&&h.call(B,a)})},crispLine:function(a,g){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-g%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+g%2/2);return a},path:function(a){var g={fill:"none"};r(a)?g.d=a:f(a)&&b(g,a);return this.createElement("path").attr(g)},circle:function(a,g,b){a=f(a)?a:{x:a,y:g,r:b};g=this.createElement("circle");g.xSetter=g.ySetter=function(a,g,b){b.setAttribute("c"+
-g,a)};return g.attr(a)},arc:function(a,g,b,h,n,c){f(a)?(h=a,g=h.y,b=h.r,a=h.x):h={innerR:h,start:n,end:c};a=this.symbol("arc",a,g,b,b,h);a.r=b;return a},rect:function(a,g,b,h,n,c){n=f(a)?a.r:n;var B=this.createElement("rect");a=f(a)?a:void 0===a?{}:{x:a,y:g,width:Math.max(b,0),height:Math.max(h,0)};void 0!==c&&(a.strokeWidth=c,a=B.crisp(a));a.fill="none";n&&(a.r=n);B.rSetter=function(a,g,b){w(b,{rx:a,ry:a})};return B.attr(a)},setSize:function(a,g,b){var h=this.alignedObjects,f=h.length;this.width=
-a;this.height=g;for(this.boxWrapper.animate({width:a,height:g},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:F(b,!0)?void 0:0});f--;)h[f].align()},g:function(a){var g=this.createElement("g");return a?g.attr({"class":"highcharts-"+a}):g},image:function(a,g,h,f,n){var c={preserveAspectRatio:"none"};1<arguments.length&&b(c,{x:g,y:h,width:f,height:n});c=this.createElement("image").attr(c);c.element.setAttributeNS?c.element.setAttributeNS("http://www.w3.org/1999/xlink",
-"href",a):c.element.setAttribute("hc-svg-href",a);return c},symbol:function(a,g,h,f,n,c){var y=this,B,d=this.symbols[a],J=m(g)&&d&&this.symbols[a](Math.round(g),Math.round(h),f,n,c),r=/^url\((.*?)\)$/,E,v;d?(B=this.path(J),B.attr("fill","none"),b(B,{symbolName:a,x:g,y:h,width:f,height:n}),c&&b(B,c)):r.test(a)&&(E=a.match(r)[1],B=this.image(E),B.imgwidth=F(M[E]&&M[E].width,c&&c.width),B.imgheight=F(M[E]&&M[E].height,c&&c.height),v=function(){B.attr({width:B.width,height:B.height})},z(["width","height"],
-function(a){B[a+"Setter"]=function(a,g){var b={},h=this["img"+g],f="width"===g?"translateX":"translateY";this[g]=a;m(h)&&(this.element&&this.element.setAttribute(g,h),this.alignByTranslate||(b[f]=((this[g]||0)-h)/2,this.attr(b)))}}),m(g)&&B.attr({x:g,y:h}),B.isImg=!0,m(B.imgwidth)&&m(B.imgheight)?v():(B.attr({width:0,height:0}),p("img",{onload:function(){var a=k[y.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),l.body.appendChild(this));M[E]={width:this.width,height:this.height};
-B.imgwidth=this.width;B.imgheight=this.height;B.element&&v();this.parentNode&&this.parentNode.removeChild(this);y.imgCount--;if(!y.imgCount&&a&&a.onload)a.onload()},src:E}),this.imgCount++));return B},symbols:{circle:function(a,g,b,h){return this.arc(a+b/2,g+h/2,b/2,h/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,g,b,h){return["M",a,g,"L",a+b,g,a+b,g+h,a,g+h,"Z"]},triangle:function(a,g,b,h){return["M",a+b/2,g,"L",a+b,g+h,a,g+h,"Z"]},"triangle-down":function(a,g,b,h){return["M",a,g,"L",a+b,
-g,a+b/2,g+h,"Z"]},diamond:function(a,g,b,h){return["M",a+b/2,g,"L",a+b,g+h/2,a+b/2,g+h,a,g+h/2,"Z"]},arc:function(a,g,b,h,f){var n=f.start,c=f.r||b,y=f.r||h||b,d=f.end-.001;b=f.innerR;h=f.open;var B=Math.cos(n),J=Math.sin(n),F=Math.cos(d),d=Math.sin(d);f=f.end-n<Math.PI?0:1;c=["M",a+c*B,g+y*J,"A",c,y,0,f,1,a+c*F,g+y*d];m(b)&&c.push(h?"M":"L",a+b*F,g+b*d,"A",b,b,0,f,0,a+b*B,g+b*J);c.push(h?"":"Z");return c},callout:function(a,g,b,h,f){var n=Math.min(f&&f.r||0,b,h),c=n+6,y=f&&f.anchorX;f=f&&f.anchorY;
-var d;d=["M",a+n,g,"L",a+b-n,g,"C",a+b,g,a+b,g,a+b,g+n,"L",a+b,g+h-n,"C",a+b,g+h,a+b,g+h,a+b-n,g+h,"L",a+n,g+h,"C",a,g+h,a,g+h,a,g+h-n,"L",a,g+n,"C",a,g,a,g,a+n,g];y&&y>b?f>g+c&&f<g+h-c?d.splice(13,3,"L",a+b,f-6,a+b+6,f,a+b,f+6,a+b,g+h-n):d.splice(13,3,"L",a+b,h/2,y,f,a+b,h/2,a+b,g+h-n):y&&0>y?f>g+c&&f<g+h-c?d.splice(33,3,"L",a,f+6,a-6,f,a,f-6,a,g+n):d.splice(33,3,"L",a,h/2,y,f,a,h/2,a,g+n):f&&f>h&&y>a+c&&y<a+b-c?d.splice(23,3,"L",y+6,g+h,y,g+h+6,y-6,g+h,a+n,g+h):f&&0>f&&y>a+c&&y<a+b-c&&d.splice(3,
-3,"L",y-6,g,y,g-6,y+6,g,b-n,g);return d}},clipRect:function(g,b,h,f){var n=a.uniqueKey(),c=this.createElement("clipPath").attr({id:n}).add(this.defs);g=this.rect(g,b,h,f,0).add(c);g.id=n;g.clipPath=c;g.count=0;return g},text:function(a,g,b,h){var f=!Q&&this.forExport,n={};if(h&&(this.allowHTML||!this.forExport))return this.html(a,g,b);n.x=Math.round(g||0);b&&(n.y=Math.round(b));if(a||0===a)n.text=a;a=this.createElement("text").attr(n);f&&a.css({position:"absolute"});h||(a.xSetter=function(a,g,b){var h=
-b.getElementsByTagName("tspan"),f,n=b.getAttribute(g),c;for(c=0;c<h.length;c++)f=h[c],f.getAttribute(g)===n&&f.setAttribute(g,a);b.setAttribute(g,a)});return a},fontMetrics:function(a,g){a=a||g&&g.style&&g.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?I(a):/em/.test(a)?parseFloat(a)*(g?this.fontMetrics(null,g.parentNode).f:16):12;g=24>a?a+3:Math.round(1.2*a);return{h:g,b:Math.round(.8*g),f:a}},rotCorr:function(a,g,b){var h=a;g&&b&&(h=Math.max(h*Math.cos(g*e),4));return{x:-a/3*Math.sin(g*
-e),y:h}},label:function(h,f,n,c,d,J,F,r,E){var B=this,v=B.g("button"!==E&&"label"),q=v.text=B.text("",0,0,F).attr({zIndex:1}),u,l,I=0,e=3,C=0,L,Q,P,p,k,x={},t,M,N=/^url\((.*?)\)$/.test(c),w=N,S,R,O,T;E&&v.addClass("highcharts-"+E);w=N;S=function(){return(t||0)%2/2};R=function(){var a=q.element.style,g={};l=(void 0===L||void 0===Q||k)&&m(q.textStr)&&q.getBBox();v.width=(L||l.width||0)+2*e+C;v.height=(Q||l.height||0)+2*e;M=e+B.fontMetrics(a&&a.fontSize,q).b;w&&(u||(v.box=u=B.symbols[c]||N?B.symbol(c):
-B.rect(),u.addClass(("button"===E?"":"highcharts-label-box")+(E?" highcharts-"+E+"-box":"")),u.add(v),a=S(),g.x=a,g.y=(r?-M:0)+a),g.width=Math.round(v.width),g.height=Math.round(v.height),u.attr(b(g,x)),x={})};O=function(){var a=C+e,g;g=r?0:M;m(L)&&l&&("center"===k||"right"===k)&&(a+={center:.5,right:1}[k]*(L-l.width));if(a!==q.x||g!==q.y)q.attr("x",a),void 0!==g&&q.attr("y",g);q.x=a;q.y=g};T=function(a,g){u?u.attr(a,g):x[a]=g};v.onAdd=function(){q.add(v);v.attr({text:h||0===h?h:"",x:f,y:n});u&&m(d)&&
-v.attr({anchorX:d,anchorY:J})};v.widthSetter=function(g){L=a.isNumber(g)?g:null};v.heightSetter=function(a){Q=a};v["text-alignSetter"]=function(a){k=a};v.paddingSetter=function(a){m(a)&&a!==e&&(e=v.padding=a,O())};v.paddingLeftSetter=function(a){m(a)&&a!==C&&(C=a,O())};v.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==I&&(I=a,l&&v.attr({x:P}))};v.textSetter=function(a){void 0!==a&&q.textSetter(a);R();O()};v["stroke-widthSetter"]=function(a,g){a&&(w=!0);t=this["stroke-width"]=a;T(g,a)};
-v.strokeSetter=v.fillSetter=v.rSetter=function(a,g){"fill"===g&&a&&(w=!0);T(g,a)};v.anchorXSetter=function(a,g){d=a;T(g,Math.round(a)-S()-P)};v.anchorYSetter=function(a,g){J=a;T(g,a-p)};v.xSetter=function(a){v.x=a;I&&(a-=I*((L||l.width)+2*e));P=Math.round(a);v.attr("translateX",P)};v.ySetter=function(a){p=v.y=Math.round(a);v.attr("translateY",p)};var A=v.css;return b(v,{css:function(a){if(a){var g={};a=y(a);z(v.textProps,function(b){void 0!==a[b]&&(g[b]=a[b],delete a[b])});q.css(g)}return A.call(v,
-a)},getBBox:function(){return{width:l.width+2*e,height:l.height+2*e,x:l.x-e,y:l.y-e}},shadow:function(a){a&&(R(),u&&u.shadow(a));return v},destroy:function(){g(v.element,"mouseenter");g(v.element,"mouseleave");q&&(q=q.destroy());u&&(u=u.destroy());D.prototype.destroy.call(v);v=B=R=O=T=null}})}};a.Renderer=A})(K);(function(a){var D=a.attr,A=a.createElement,G=a.css,H=a.defined,w=a.each,k=a.extend,t=a.isFirefox,x=a.isMS,p=a.isWebKit,m=a.pInt,e=a.SVGRenderer,d=a.win,l=a.wrap;k(a.SVGElement.prototype,
-{htmlCss:function(a){var b=this.element;if(b=a&&"SPAN"===b.tagName&&a.width)delete a.width,this.textWidth=b,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=k(this.styles,a);G(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,
-b=this.element,d=this.translateX||0,c=this.translateY||0,l=this.x||0,q=this.y||0,r=this.textAlign||"left",h={left:0,center:.5,right:1}[r],E=this.styles;G(b,{marginLeft:d,marginTop:c});this.shadows&&w(this.shadows,function(a){G(a,{marginLeft:d+1,marginTop:c+1})});this.inverted&&w(b.childNodes,function(h){a.invertChild(h,b)});if("SPAN"===b.tagName){var f=this.rotation,v=m(this.textWidth),n=E&&E.whiteSpace,y=[f,r,b.innerHTML,this.textWidth,this.textAlign].join();y!==this.cTT&&(E=a.fontMetrics(b.style.fontSize).b,
-H(f)&&this.setSpanRotation(f,h,E),G(b,{width:"",whiteSpace:n||"nowrap"}),b.offsetWidth>v&&/[ \-]/.test(b.textContent||b.innerText)&&G(b,{width:v+"px",display:"block",whiteSpace:n||"normal"}),this.getSpanCorrection(b.offsetWidth,E,h,f,r));G(b,{left:l+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});p&&(E=b.offsetHeight);this.cTT=y}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,u){var c={},l=x?"-ms-transform":p?"-webkit-transform":t?"MozTransform":d.opera?"-o-transform":"";c[l]=c.transform=
-"rotate("+a+"deg)";c[l+(t?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+u+"px";G(this.element,c)},getSpanCorrection:function(a,b,d){this.xCorr=-a*d;this.yCorr=-b}});k(e.prototype,{html:function(a,b,d){var c=this.createElement("span"),u=c.element,q=c.renderer,r=q.isSVG,h=function(a,b){w(["opacity","visibility"],function(h){l(a,h+"Setter",function(a,h,f,c){a.call(this,h,f,c);b[f]=h})})};c.textSetter=function(a){a!==u.innerHTML&&delete this.bBox;u.innerHTML=this.textStr=a;c.htmlUpdateTransform()};
-r&&h(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.htmlUpdateTransform()};c.attr({text:a,x:Math.round(b),y:Math.round(d)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});u.style.whiteSpace="nowrap";c.css=c.htmlCss;r&&(c.add=function(a){var b,d=q.box.parentNode,n=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)n.push(a),a=a.parentGroup;w(n.reverse(),function(a){var f,y=D(a.element,
-"class");y&&(y={className:y});b=a.div=a.div||A("div",y,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||d);f=b.style;k(a,{on:function(){c.on.apply({element:n[0].div},arguments);return a},translateXSetter:function(b,g){f.left=b+"px";a[g]=b;a.doTransform=!0},translateYSetter:function(b,g){f.top=b+"px";a[g]=b;a.doTransform=!0}});h(a,f)})}}else b=d;b.appendChild(u);c.added=!0;c.alignOnAdd&&
-c.htmlUpdateTransform();return c});return c}})})(K);(function(a){var D,A,G=a.createElement,H=a.css,w=a.defined,k=a.deg2rad,t=a.discardElement,x=a.doc,p=a.each,m=a.erase,e=a.extend;D=a.extendClass;var d=a.isArray,l=a.isNumber,z=a.isObject,b=a.merge;A=a.noop;var u=a.pick,c=a.pInt,C=a.SVGElement,q=a.SVGRenderer,r=a.win;a.svg||(A={docMode8:x&&8===x.documentMode,init:function(a,b){var h=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'],c=["position: ","absolute",";"],n="div"===b;("shape"===b||n)&&c.push("left:0;top:0;width:1px;height:1px;");
-c.push("visibility: ",n?"hidden":"visible");h.push(' style\x3d"',c.join(""),'"/\x3e');b&&(h=n||"span"===b||"img"===b?h.join(""):a.prepVML(h),this.element=G(h));this.renderer=a},add:function(a){var b=this.renderer,h=this.element,c=b.box,n=a&&a.inverted,c=a?a.element||a:c;a&&(this.parentGroup=a);n&&b.invertChild(h,c);c.appendChild(h);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},
-updateTransform:C.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*k),f=Math.sin(a*k);H(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-f,", M21\x3d",f,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,f,c,n){var h=c?Math.cos(c*k):1,d=c?Math.sin(c*k):0,r=u(this.elemHeight,this.element.offsetHeight),v;this.xCorr=0>h&&-a;this.yCorr=0>d&&-r;v=0>h*d;this.xCorr+=d*b*(v?1-
-f:f);this.yCorr-=h*b*(c?v?f:1-f:1);n&&"left"!==n&&(this.xCorr-=a*f*(0>h?-1:1),c&&(this.yCorr-=r*f*(0>d?-1:1)),H(this.element,{textAlign:n}))},pathToVML:function(a){for(var b=a.length,h=[];b--;)l(a[b])?h[b]=Math.round(10*a[b])-5:"Z"===a[b]?h[b]="x":(h[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(h[b+5]===h[b+7]&&(h[b+7]+=a[b+7]>a[b+5]?1:-1),h[b+6]===h[b+8]&&(h[b+8]+=a[b+8]>a[b+6]?1:-1)));return h.join(" ")||"x"},clip:function(a){var b=this,h;a?(h=a.members,m(h,b),h.push(b),b.destroyClip=function(){m(h,
-b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"});return b.css(a)},css:C.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&t(a)},destroy:function(){this.destroyClip&&this.destroyClip();return C.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=r.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var h;a=a.split(/[ ,]/);h=a.length;if(9===h||11===h)a[h-4]=a[h-2]=c(a[h-2])-10*b;return a.join(" ")},
-shadow:function(a,b,f){var h=[],n,d=this.element,r=this.renderer,F,q=d.style,g,J=d.path,l,e,E,C;J&&"string"!==typeof J.value&&(J="x");e=J;if(a){E=u(a.width,3);C=(a.opacity||.15)/E;for(n=1;3>=n;n++)l=2*E+1-2*n,f&&(e=this.cutOffPath(J.value,l+.5)),g=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',l,'" filled\x3d"false" path\x3d"',e,'" coordsize\x3d"10 10" style\x3d"',d.style.cssText,'" /\x3e'],F=G(r.prepVML(g),null,{left:c(q.left)+u(a.offsetX,1),top:c(q.top)+u(a.offsetY,1)}),f&&(F.cutOff=l+1),g=['\x3cstroke color\x3d"',
-a.color||"#000000",'" opacity\x3d"',C*n,'"/\x3e'],G(r.prepVML(g),null,null,F),b?b.element.appendChild(F):d.parentNode.insertBefore(F,d),h.push(F);this.shadows=h}return this},updateShadows:A,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,f){(f.getElementsByTagName("stroke")[0]||G(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,f))[b]=a||"solid";this[b]=a},dSetter:function(a,
-b,f){var h=this.shadows;a=a||[];this.d=a.join&&a.join(" ");f.path=a=this.pathToVML(a);if(h)for(f=h.length;f--;)h[f].path=h[f].cutOff?this.cutOffPath(a,h[f].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,f){var h=f.nodeName;"SPAN"===h?f.style.color=a:"IMG"!==h&&(f.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,f,b,this)))},"fill-opacitySetter":function(a,b,f){G(this.renderer.prepVML(["\x3c",b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,f)},opacitySetter:A,rotationSetter:function(a,
-b,f){f=f.style;this[b]=f[b]=a;f.left=-Math.round(Math.sin(a*k)+1)+"px";f.top=Math.round(Math.cos(a*k))+"px"},strokeSetter:function(a,b,f){this.setAttr("strokecolor",this.renderer.color(a,f,b,this))},"stroke-widthSetter":function(a,b,f){f.stroked=!!a;this[b]=a;l(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,f){"inherit"===a&&(a="visible");this.shadows&&p(this.shadows,function(h){h.style[b]=a});"DIV"===f.nodeName&&(a="hidden"===
-a?"-999em":0,this.docMode8||(f.style[b]=a?"visible":"hidden"),b="top");f.style[b]=a},xSetter:function(a,b,f){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):f.style[b]=a},zIndexSetter:function(a,b,f){f.style[b]=a}},A["stroke-opacitySetter"]=A["fill-opacitySetter"],a.VMLElement=A=D(C,A),A.prototype.ySetter=A.prototype.widthSetter=A.prototype.heightSetter=A.prototype.xSetter,A={Element:A,isIE8:-1<r.navigator.userAgent.indexOf("MSIE 8.0"),init:function(a,
-b,f){var h,n;this.alignedObjects=[];h=this.createElement("div").css({position:"relative"});n=h.element;a.appendChild(h.element);this.isVML=!0;this.box=n;this.boxWrapper=h;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,f,!1);if(!x.namespaces.hcv){x.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{x.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(y){x.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,f,c){var h=this.createElement(),d=z(a);return e(h,{members:[],count:0,left:(d?a.x:a)+1,top:(d?a.y:b)+1,width:(d?a.width:f)-1,height:(d?a.height:c)-1,getCSS:function(a){var b=a.element,h=b.nodeName,g=a.inverted,f=this.top-("shape"===h?b.offsetTop:0),n=this.left,b=n+this.width,c=f+this.height,f={clip:"rect("+Math.round(g?
-n:f)+"px,"+Math.round(g?c:b)+"px,"+Math.round(g?b:c)+"px,"+Math.round(g?f:n)+"px)"};!g&&a.docMode8&&"DIV"===h&&e(f,{width:b+"px",height:c+"px"});return f},updateClipping:function(){p(h.members,function(a){a.element&&a.css(h.getCSS(a))})}})},color:function(b,c,f,d){var h=this,y,r=/^rgba/,F,q,g="none";b&&b.linearGradient?q="gradient":b&&b.radialGradient&&(q="pattern");if(q){var J,v,u=b.linearGradient||b.radialGradient,l,e,B,C,E,z="";b=b.stops;var m,k=[],x=function(){F=['\x3cfill colors\x3d"'+k.join(",")+
-'" opacity\x3d"',B,'" o:opacity2\x3d"',e,'" type\x3d"',q,'" ',z,'focus\x3d"100%" method\x3d"any" /\x3e'];G(h.prepVML(F),null,null,c)};l=b[0];m=b[b.length-1];0<l[0]&&b.unshift([0,l[1]]);1>m[0]&&b.push([1,m[1]]);p(b,function(g,b){r.test(g[1])?(y=a.color(g[1]),J=y.get("rgb"),v=y.get("a")):(J=g[1],v=1);k.push(100*g[0]+"% "+J);b?(B=v,C=J):(e=v,E=J)});if("fill"===f)if("gradient"===q)f=u.x1||u[0]||0,b=u.y1||u[1]||0,l=u.x2||u[2]||0,u=u.y2||u[3]||0,z='angle\x3d"'+(90-180*Math.atan((u-b)/(l-f))/Math.PI)+'"',
-x();else{var g=u.r,t=2*g,w=2*g,A=u.cx,D=u.cy,H=c.radialReference,K,g=function(){H&&(K=d.getBBox(),A+=(H[0]-K.x)/K.width-.5,D+=(H[1]-K.y)/K.height-.5,t*=H[2]/K.width,w*=H[2]/K.height);z='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+t+","+w+'" origin\x3d"0.5,0.5" position\x3d"'+A+","+D+'" color2\x3d"'+E+'" ';x()};d.added?g():d.onAdd=g;g=C}else g=J}else r.test(b)&&"IMG"!==c.tagName?(y=a.color(b),d[f+"-opacitySetter"](y.get("a"),f,c),g=y.get("rgb")):(g=c.getElementsByTagName(f),
-g.length&&(g[0].opacity=1,g[0].type="solid"),g=b);return g},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:q.prototype.html,path:function(a){var b={coordsize:"10 10"};d(a)?b.d=
-a:z(a)&&e(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,f){var c=this.symbol("circle");z(a)&&(f=a.r,b=a.y,a=a.x);c.isCircle=!0;c.r=f;return c.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(b)},image:function(a,b,f,c,n){var h=this.createElement("img").attr({src:a});1<arguments.length&&h.attr({x:b,y:f,width:c,height:n});return h},createElement:function(a){return"rect"===a?this.symbol(a):q.prototype.createElement.call(this,
-a)},invertChild:function(a,b){var f=this;b=b.style;var h="IMG"===a.tagName&&a.style;H(a,{flip:"x",left:c(b.width)-(h?c(h.top):1),top:c(b.height)-(h?c(h.left):1),rotation:-90});p(a.childNodes,function(b){f.invertChild(b,a)})},symbols:{arc:function(a,b,f,c,n){var h=n.start,d=n.end,r=n.r||f||c;f=n.innerR;c=Math.cos(h);var q=Math.sin(h),g=Math.cos(d),J=Math.sin(d);if(0===d-h)return["x"];h=["wa",a-r,b-r,a+r,b+r,a+r*c,b+r*q,a+r*g,b+r*J];n.open&&!f&&h.push("e","M",a,b);h.push("at",a-f,b-f,a+f,b+f,a+f*g,
-b+f*J,a+f*c,b+f*q,"x","e");h.isArc=!0;return h},circle:function(a,b,f,c,n){n&&w(n.r)&&(f=c=2*n.r);n&&n.isCircle&&(a-=f/2,b-=c/2);return["wa",a,b,a+f,b+c,a+f,b+c/2,a+f,b+c/2,"e"]},rect:function(a,b,c,d,n){return q.prototype.symbols[w(n)&&n.r?"callout":"square"].call(0,a,b,c,d,n)}}},a.VMLRenderer=D=function(){this.init.apply(this,arguments)},D.prototype=b(q.prototype,A),a.Renderer=D);q.prototype.measureSpanWidth=function(a,b){var c=x.createElement("span");a=x.createTextNode(a);c.appendChild(a);H(c,
-b);this.box.appendChild(c);b=c.offsetWidth;t(c);return b}})(K);(function(a){function D(){var p=a.defaultOptions.global,m=x.moment;if(p.timezone){if(m)return function(a){return-m.tz(a,p.timezone).utcOffset()};a.error(25)}return p.useUTC&&p.getTimezoneOffset}function A(){var p=a.defaultOptions.global,m,e=p.useUTC,d=e?"getUTC":"get",l=e?"setUTC":"set";a.Date=m=p.Date||x.Date;m.hcTimezoneOffset=e&&p.timezoneOffset;m.hcGetTimezoneOffset=D();m.hcMakeTime=function(a,b,d,c,l,q){var r;e?(r=m.UTC.apply(0,arguments),
-r+=w(r)):r=(new m(a,b,t(d,1),t(c,0),t(l,0),t(q,0))).getTime();return r};H("Minutes Hours Day Date Month FullYear".split(" "),function(a){m["hcGet"+a]=d+a});H("Milliseconds Seconds Minutes Hours Date Month FullYear".split(" "),function(a){m["hcSet"+a]=l+a})}var G=a.color,H=a.each,w=a.getTZOffset,k=a.merge,t=a.pick,x=a.win;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),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:{useUTC:!0,VMLRadialGradientURL:"http://code.highcharts.com/5.0.8/gfx/vml-radial-gradient.png"},
-chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",layout:"horizontal",
-labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},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:a.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:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:G("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
-pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(p){a.defaultOptions=k(!0,a.defaultOptions,p);A();
-return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;A()})(K);(function(a){var D=a.arrayMax,A=a.arrayMin,G=a.defined,H=a.destroyObjectProperties,w=a.each,k=a.erase,t=a.merge,x=a.pick;a.PlotLineOrBand=function(a,m){this.axis=a;m&&(this.options=m,this.id=m.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,m=a.axis,e=m.horiz,d=a.options,l=d.label,z=a.label,b=d.to,u=d.from,c=d.value,C=G(u)&&G(b),q=G(c),r=a.svgElem,h=!r,
-E=[],f,v=d.color,n=x(d.zIndex,0),y=d.events,E={"class":"highcharts-plot-"+(C?"band ":"line ")+(d.className||"")},L={},F=m.chart.renderer,I=C?"bands":"lines",g=m.log2lin;m.isLog&&(u=g(u),b=g(b),c=g(c));q?(E={stroke:v,"stroke-width":d.width},d.dashStyle&&(E.dashstyle=d.dashStyle)):C&&(v&&(E.fill=v),d.borderWidth&&(E.stroke=d.borderColor,E["stroke-width"]=d.borderWidth));L.zIndex=n;I+="-"+n;(v=m[I])||(m[I]=v=F.g("plot-"+I).attr(L).add());h&&(a.svgElem=r=F.path().attr(E).add(v));if(q)E=m.getPlotLinePath(c,
-r.strokeWidth());else if(C)E=m.getPlotBandPath(u,b,d);else return;if(h&&E&&E.length){if(r.attr({d:E}),y)for(f in d=function(g){r.on(g,function(b){y[g].apply(a,[b])})},y)d(f)}else r&&(E?(r.show(),r.animate({d:E})):(r.hide(),z&&(a.label=z=z.destroy())));l&&G(l.text)&&E&&E.length&&0<m.width&&0<m.height&&!E.flat?(l=t({align:e&&C&&"center",x:e?!C&&4:10,verticalAlign:!e&&C&&"middle",y:e?C?16:10:C?6:-4,rotation:e&&!C&&90},l),this.renderLabel(l,E,C,n)):z&&z.hide();return a},renderLabel:function(a,m,e,d){var l=
-this.label,z=this.axis.chart.renderer;l||(l={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||"")},l.zIndex=d,this.label=l=z.text(a.text,0,0,a.useHTML).attr(l).add(),l.css(a.style));d=[m[1],m[4],e?m[6]:m[1]];m=[m[2],m[5],e?m[7]:m[2]];e=A(d);z=A(m);l.align(a,!1,{x:e,y:z,width:D(d)-e,height:D(m)-z});l.show()},destroy:function(){k(this.axis.plotLinesAndBands,this);delete this.axis;H(this)}};a.AxisPlotLineOrBandExtension={getPlotBandPath:function(a,
-m){m=this.getPlotLinePath(m,null,null,!0);(a=this.getPlotLinePath(a,null,null,!0))&&m?(a.flat=a.toString()===m.toString(),a.push(m[4],m[5],m[1],m[2],"z")):a=null;return a},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(k,m){var e=(new a.PlotLineOrBand(this,k)).render(),d=this.userOptions;e&&(m&&(d[m]=d[m]||[],d[m].push(k)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var m=
-this.plotLinesAndBands,e=this.options,d=this.userOptions,l=m.length;l--;)m[l].id===a&&m[l].destroy();w([e.plotLines||[],d.plotLines||[],e.plotBands||[],d.plotBands||[]],function(d){for(l=d.length;l--;)d[l].id===a&&k(d,d[l])})}}})(K);(function(a){var D=a.correctFloat,A=a.defined,G=a.destroyObjectProperties,H=a.isNumber,w=a.merge,k=a.pick,t=a.deg2rad;a.Tick=function(a,k,m,e){this.axis=a;this.pos=k;this.type=m||"";this.isNew=!0;m||e||this.addLabel()};a.Tick.prototype={addLabel:function(){var a=this.axis,
-p=a.options,m=a.chart,e=a.categories,d=a.names,l=this.pos,z=p.labels,b=a.tickPositions,u=l===b[0],c=l===b[b.length-1],d=e?k(e[l],d[l],l):l,e=this.label,b=b.info,C;a.isDatetimeAxis&&b&&(C=p.dateTimeLabelFormats[b.higherRanks[l]||b.unitName]);this.isFirst=u;this.isLast=c;p=a.labelFormatter.call({axis:a,chart:m,isFirst:u,isLast:c,dateTimeLabelFormat:C,value:a.isLog?D(a.lin2log(d)):d});A(e)?e&&e.attr({text:p}):(this.labelLength=(this.label=e=A(p)&&z.enabled?m.renderer.text(p,0,0,z.useHTML).css(w(z.style)).add(a.labelGroup):
-null)&&e.getBBox().width,this.rotation=0)},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var p=this.axis,m=a.x,e=p.chart.chartWidth,d=p.chart.spacing,l=k(p.labelLeft,Math.min(p.pos,d[3])),d=k(p.labelRight,Math.max(p.pos+p.len,e-d[1])),z=this.label,b=this.rotation,u={left:0,center:.5,right:1}[p.labelAlign],c=z.getBBox().width,C=p.getSlotWidth(),q=C,r=1,h,E={};if(b)0>b&&m-u*c<l?h=Math.round(m/Math.cos(b*t)-l):0<b&&m+u*
-c>d&&(h=Math.round((e-m)/Math.cos(b*t)));else if(e=m+(1-u)*c,m-u*c<l?q=a.x+q*(1-u)-l:e>d&&(q=d-a.x+q*u,r=-1),q=Math.min(C,q),q<C&&"center"===p.labelAlign&&(a.x+=r*(C-q-u*(C-Math.min(c,q)))),c>q||p.autoRotation&&(z.styles||{}).width)h=q;h&&(E.width=h,(p.options.labels.style||{}).textOverflow||(E.textOverflow="ellipsis"),z.css(E))},getPosition:function(a,k,m,e){var d=this.axis,l=d.chart,z=e&&l.oldChartHeight||l.chartHeight;return{x:a?d.translate(k+m,null,null,e)+d.transB:d.left+d.offset+(d.opposite?
-(e&&l.oldChartWidth||l.chartWidth)-d.right-d.left:0),y:a?z-d.bottom+d.offset-(d.opposite?d.height:0):z-d.translate(k+m,null,null,e)-d.transB}},getLabelPosition:function(a,k,m,e,d,l,z,b){var u=this.axis,c=u.transA,C=u.reversed,q=u.staggerLines,r=u.tickRotCorr||{x:0,y:0},h=d.y;A(h)||(h=0===u.side?m.rotation?-8:-m.getBBox().height:2===u.side?r.y+8:Math.cos(m.rotation*t)*(r.y-m.getBBox(!1,0).height/2));a=a+d.x+r.x-(l&&e?l*c*(C?-1:1):0);k=k+h-(l&&!e?l*c*(C?1:-1):0);q&&(m=z/(b||1)%q,u.opposite&&(m=q-m-
-1),k+=u.labelOffset/q*m);return{x:a,y:Math.round(k)}},getMarkPath:function(a,k,m,e,d,l){return l.crispLine(["M",a,k,"L",a+(d?0:-m),k+(d?m:0)],e)},renderGridLine:function(a,k,m){var e=this.axis,d=e.options,l=this.gridLine,z={},b=this.pos,u=this.type,c=e.tickmarkOffset,C=e.chart.renderer,q=u?u+"Grid":"grid",r=d[q+"LineWidth"],h=d[q+"LineColor"],d=d[q+"LineDashStyle"];l||(z.stroke=h,z["stroke-width"]=r,d&&(z.dashstyle=d),u||(z.zIndex=1),a&&(z.opacity=0),this.gridLine=l=C.path().attr(z).addClass("highcharts-"+
-(u?u+"-":"")+"grid-line").add(e.gridGroup));if(!a&&l&&(a=e.getPlotLinePath(b+c,l.strokeWidth()*m,a,!0)))l[this.isNew?"attr":"animate"]({d:a,opacity:k})},renderMark:function(a,p,m){var e=this.axis,d=e.options,l=e.chart.renderer,z=this.type,b=z?z+"Tick":"tick",u=e.tickSize(b),c=this.mark,C=!c,q=a.x;a=a.y;var r=k(d[b+"Width"],!z&&e.isXAxis?1:0),d=d[b+"Color"];u&&(e.opposite&&(u[0]=-u[0]),C&&(this.mark=c=l.path().addClass("highcharts-"+(z?z+"-":"")+"tick").add(e.axisGroup),c.attr({stroke:d,"stroke-width":r})),
-c[C?"attr":"animate"]({d:this.getMarkPath(q,a,u[0],c.strokeWidth()*m,e.horiz,l),opacity:p}))},renderLabel:function(a,p,m,e){var d=this.axis,l=d.horiz,z=d.options,b=this.label,u=z.labels,c=u.step,C=d.tickmarkOffset,q=!0,r=a.x;a=a.y;b&&H(r)&&(b.xy=a=this.getLabelPosition(r,a,b,l,u,C,e,c),this.isFirst&&!this.isLast&&!k(z.showFirstLabel,1)||this.isLast&&!this.isFirst&&!k(z.showLastLabel,1)?q=!1:!l||d.isRadial||u.step||u.rotation||p||0===m||this.handleOverflow(a),c&&e%c&&(q=!1),q&&H(a.y)?(a.opacity=m,
-b[this.isNew?"attr":"animate"](a)):b.attr("y",-9999),this.isNew=!1)},render:function(a,p,m){var e=this.axis,d=e.horiz,l=this.getPosition(d,this.pos,e.tickmarkOffset,p),z=l.x,b=l.y,e=d&&z===e.pos+e.len||!d&&b===e.pos?-1:1;m=k(m,1);this.isActive=!0;this.renderGridLine(p,m,e);this.renderMark(l,m,e);this.renderLabel(l,p,m,a)},destroy:function(){G(this,this.axis)}}})(K);(function(a){var D=a.addEvent,A=a.animObject,G=a.arrayMax,H=a.arrayMin,w=a.AxisPlotLineOrBandExtension,k=a.color,t=a.correctFloat,x=a.defaultOptions,
-p=a.defined,m=a.deg2rad,e=a.destroyObjectProperties,d=a.each,l=a.extend,z=a.fireEvent,b=a.format,u=a.getMagnitude,c=a.grep,C=a.inArray,q=a.isArray,r=a.isNumber,h=a.isString,E=a.merge,f=a.normalizeTickInterval,v=a.pick,n=a.PlotLineOrBand,y=a.removeEvent,L=a.splat,F=a.syncTimeout,I=a.Tick;a.Axis=function(){this.init.apply(this,arguments)};a.Axis.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,labels:{enabled:!0,style:{color:"#666666",cursor:"default",fontSize:"11px"},x:0},minPadding:.01,maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},
-defaultYAxisOptions:{endOnTick:!0,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},maxPadding:.05,minPadding:.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"#000000",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],
-x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var g=b.isX;this.chart=a;this.horiz=a.inverted?!g:g;this.isXAxis=g;this.coll=this.coll||(g?"xAxis":"yAxis");this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var c=this.options,f=c.type;this.labelFormatter=c.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.reversed=c.reversed;this.visible=
-!1!==c.visible;this.zoomEnabled=!1!==c.zoomEnabled;this.hasNames="category"===f||!0===c.categories;this.categories=c.categories||this.hasNames;this.names=this.names||[];this.isLog="logarithmic"===f;this.isDatetimeAxis="datetime"===f;this.positiveValuesOnly=this.isLog&&!this.allowNegativeLog;this.isLinked=p(c.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=c.minRange||c.maxZoom;this.range=c.range;
-this.offset=c.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=v(c.crosshair,L(a.options.tooltip.crosshairs)[g?0:1],!1);var n;b=this.options.events;-1===C(this,a.axes)&&(g?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];a.inverted&&g&&void 0===this.reversed&&(this.reversed=!0);this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(n in b)D(this,n,b[n]);this.lin2log=c.linearToLogConverter||
-this.lin2log;this.isLog&&(this.val2lin=this.log2lin,this.lin2val=this.lin2log)},setOptions:function(a){this.options=E(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],E(x[this.coll],a))},defaultLabelFormatter:function(){var g=this.axis,c=this.value,f=g.categories,n=this.dateTimeLabelFormat,h=x.lang,d=h.numericSymbols,h=h.numericSymbolMagnitude||1E3,y=d&&d.length,
-r,q=g.options.labels.format,g=g.isLog?Math.abs(c):g.tickInterval;if(q)r=b(q,this);else if(f)r=c;else if(n)r=a.dateFormat(n,c);else if(y&&1E3<=g)for(;y--&&void 0===r;)f=Math.pow(h,y+1),g>=f&&0===10*c%f&&null!==d[y]&&0!==c&&(r=a.numberFormat(c/f,-1)+d[y]);void 0===r&&(r=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return r},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();
-d(a.series,function(g){if(g.visible||!b.options.chart.ignoreHiddenSeries){var f=g.options,n=f.threshold,h;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=n&&(n=null);if(a.isXAxis)f=g.xData,f.length&&(g=H(f),r(g)||g instanceof Date||(f=c(f,function(a){return r(a)}),g=H(f)),a.dataMin=Math.min(v(a.dataMin,f[0]),g),a.dataMax=Math.max(v(a.dataMax,f[0]),G(f)));else if(g.getExtremes(),h=g.dataMax,g=g.dataMin,p(g)&&p(h)&&(a.dataMin=Math.min(v(a.dataMin,g),g),a.dataMax=Math.max(v(a.dataMax,h),h)),p(n)&&(a.threshold=
-n),!f.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})},translate:function(a,b,c,f,n,h){var g=this.linkedParent||this,d=1,y=0,J=f?g.oldTransA:g.transA;f=f?g.oldMin:g.min;var q=g.minPixelPadding;n=(g.isOrdinal||g.isBroken||g.isLog&&n)&&g.lin2val;J||(J=g.transA);c&&(d*=-1,y=g.len);g.reversed&&(d*=-1,y-=d*(g.sector||g.len));b?(a=(a*d+y-q)/J+f,n&&(a=g.lin2val(a))):(n&&(a=g.val2lin(a)),a=d*(a-f)*J+y+d*q+(r(h)?J*h:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,
-!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,f,n){var g=this.chart,h=this.left,d=this.top,y,J,q=c&&g.oldChartHeight||g.chartHeight,F=c&&g.oldChartWidth||g.chartWidth,u;y=this.transB;var l=function(a,b,g){if(a<b||a>g)f?a=Math.min(Math.max(b,a),g):u=!0;return a};n=v(n,this.translate(a,null,null,c));a=c=Math.round(n+y);y=J=Math.round(q-n-y);r(n)?this.horiz?(y=d,J=q-this.bottom,a=c=l(a,h,h+this.width)):(a=h,c=
-F-this.right,y=J=l(y,d,d+this.height)):u=!0;return u&&!f?null:g.renderer.crispLine(["M",a,y,"L",c,J],b||1)},getLinearTickPositions:function(a,b,c){var g,f=t(Math.floor(b/a)*a);c=t(Math.ceil(c/a)*a);var n=[];if(this.single)return[b];for(b=f;b<=c;){n.push(b);b=t(b+a);if(b===g)break;g=b}return n},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,n=[],h=a.pointRangePadding||0,y=a.min-h,h=a.max+h,r=h-y;if(r&&r/f<a.len/3)if(a.isLog)d(this.paddedTicks,function(b,
-g,c){g&&n.push.apply(n,a.getLogTickPositions(f,c[g-1],c[g],!0))});else if(a.isDatetimeAxis&&"auto"===b.minorTickInterval)n=n.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),y,h,b.startOfWeek));else for(b=y+(c[0]-y)%f;b<=h&&b!==n[0];b+=f)n.push(b);0!==n.length&&a.trimTicks(n);return n},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,f,n=this.dataMax-this.dataMin>=this.minRange,h,y,r,q,F,u;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(p(a.min)||p(a.max)?this.minRange=
-null:(d(this.series,function(a){q=a.xData;for(y=F=a.xIncrement?1:q.length-1;0<y;y--)if(r=q[y]-q[y-1],void 0===h||r<h)h=r}),this.minRange=Math.min(5*h,this.dataMax-this.dataMin)));c-b<this.minRange&&(u=this.minRange,f=(u-c+b)/2,f=[b-f,v(a.min,b-f)],n&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=G(f),c=[b+u,v(a.max,b+u)],n&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=H(c),c-b<u&&(f[0]=c-u,f[1]=v(a.min,c-u),b=G(f)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?
-a=1:d(this.series,function(b){var g=b.closestPointRange,c=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&p(g)&&c&&(a=p(a)?Math.min(a,g):g)});return a},nameToX:function(a){var b=q(this.categories),g=b?this.categories:this.names,c=a.options.x,f;a.series.requireSorting=!1;p(c)||(c=!1===this.options.uniqueNames?a.series.autoIncrement():C(a.name,g));-1===c?b||(f=g.length):f=c;this.names[f]=a.name;return f},updateNames:function(){var a=this;0<this.names.length&&(this.names.length=
-0,this.minRange=void 0,d(this.series||[],function(b){b.xIncrement=null;if(!b.points||b.isDirtyData)b.processData(),b.generatePoints();d(b.points,function(g,c){var f;g.options&&(f=a.nameToX(g),f!==g.x&&(g.x=f,b.xData[c]=f))})}))},setAxisTranslation:function(a){var b=this,g=b.max-b.min,c=b.axisPointRange||0,f,n=0,y=0,r=b.linkedParent,q=!!b.categories,F=b.transA,u=b.isXAxis;if(u||q||c)f=b.getClosest(),r?(n=r.minPointOffset,y=r.pointRangePadding):d(b.series,function(a){var g=q?1:u?v(a.options.pointRange,
-f,0):b.axisPointRange||0;a=a.options.pointPlacement;c=Math.max(c,g);b.single||(n=Math.max(n,h(a)?0:g/2),y=Math.max(y,"on"===a?0:g))}),r=b.ordinalSlope&&f?b.ordinalSlope/f:1,b.minPointOffset=n*=r,b.pointRangePadding=y*=r,b.pointRange=Math.min(c,g),u&&(b.closestPointRange=f);a&&(b.oldTransA=F);b.translationSlope=b.transA=F=b.options.staticScale||b.len/(g+y||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=F*n},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var g=
-this,c=g.chart,n=g.options,h=g.isLog,y=g.log2lin,q=g.isDatetimeAxis,F=g.isXAxis,l=g.isLinked,e=n.maxPadding,I=n.minPadding,C=n.tickInterval,E=n.tickPixelInterval,L=g.categories,m=g.threshold,k=g.softThreshold,x,w,A,D;q||L||l||this.getTickAmount();A=v(g.userMin,n.min);D=v(g.userMax,n.max);l?(g.linkedParent=c[g.coll][n.linkedTo],c=g.linkedParent.getExtremes(),g.min=v(c.min,c.dataMin),g.max=v(c.max,c.dataMax),n.type!==g.linkedParent.options.type&&a.error(11,1)):(!k&&p(m)&&(g.dataMin>=m?(x=m,I=0):g.dataMax<=
-m&&(w=m,e=0)),g.min=v(A,x,g.dataMin),g.max=v(D,w,g.dataMax));h&&(g.positiveValuesOnly&&!b&&0>=Math.min(g.min,v(g.dataMin,g.min))&&a.error(10,1),g.min=t(y(g.min),15),g.max=t(y(g.max),15));g.range&&p(g.max)&&(g.userMin=g.min=A=Math.max(g.min,g.minFromRange()),g.userMax=D=g.max,g.range=null);z(g,"foundExtremes");g.beforePadding&&g.beforePadding();g.adjustForMinRange();!(L||g.axisPointRange||g.usePercentage||l)&&p(g.min)&&p(g.max)&&(y=g.max-g.min)&&(!p(A)&&I&&(g.min-=y*I),!p(D)&&e&&(g.max+=y*e));r(n.floor)?
-g.min=Math.max(g.min,n.floor):r(n.softMin)&&(g.min=Math.min(g.min,n.softMin));r(n.ceiling)?g.max=Math.min(g.max,n.ceiling):r(n.softMax)&&(g.max=Math.max(g.max,n.softMax));k&&p(g.dataMin)&&(m=m||0,!p(A)&&g.min<m&&g.dataMin>=m?g.min=m:!p(D)&&g.max>m&&g.dataMax<=m&&(g.max=m));g.tickInterval=g.min===g.max||void 0===g.min||void 0===g.max?1:l&&!C&&E===g.linkedParent.options.tickPixelInterval?C=g.linkedParent.tickInterval:v(C,this.tickAmount?(g.max-g.min)/Math.max(this.tickAmount-1,1):void 0,L?1:(g.max-
-g.min)*E/Math.max(g.len,E));F&&!b&&d(g.series,function(a){a.processData(g.min!==g.oldMin||g.max!==g.oldMax)});g.setAxisTranslation(!0);g.beforeSetTickPositions&&g.beforeSetTickPositions();g.postProcessTickInterval&&(g.tickInterval=g.postProcessTickInterval(g.tickInterval));g.pointRange&&!C&&(g.tickInterval=Math.max(g.pointRange,g.tickInterval));b=v(n.minTickInterval,g.isDatetimeAxis&&g.closestPointRange);!C&&g.tickInterval<b&&(g.tickInterval=b);q||h||C||(g.tickInterval=f(g.tickInterval,null,u(g.tickInterval),
-v(n.allowDecimals,!(.5<g.tickInterval&&5>g.tickInterval&&1E3<g.max&&9999>g.max)),!!this.tickAmount));this.tickAmount||(g.tickInterval=g.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,f=a.tickPositioner,n=a.startOnTick,h=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.single=
-this.min===this.max&&p(this.min)&&!this.tickAmount&&!1!==a.allowDecimals;this.tickPositions=b=c&&c.slice();!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,f&&(f=f.apply(this,
-[this.min,this.max])))&&(this.tickPositions=b=f);this.paddedTicks=b.slice(0);this.trimTicks(b,n,h);this.isLinked||(this.single&&(this.min-=.5,this.max+=.5),c||f||this.adjustTickAmount())},trimTicks:function(a,b,c){var g=a[0],f=a[a.length-1],n=this.minPointOffset||0;if(!this.isLinked){if(b)this.min=g;else for(;this.min-n>a[0];)a.shift();if(c)this.max=f;else for(;this.max+n<a[a.length-1];)a.pop();0===a.length&&p(g)&&a.push((f+g)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||
-!1===c.alignTicks||this.isLog||d(this.chart[this.coll],function(g){var c=g.options,c=[g.horiz?c.left:c.top,c.width,c.height,c.pane].join();g.series.length&&(a[c]?b=!0:a[c]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!p(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=
-this.tickInterval,b=this.tickPositions,c=this.tickAmount,f=this.finalTickAmt,n=b&&b.length;if(n<c){for(;b.length<c;)b.push(t(b[b.length-1]+a));this.transA*=(n-1)/(c-1);this.max=b[b.length-1]}else n>c&&(this.tickInterval*=2,this.setTickPositions());if(p(f)){for(a=c=b.length;a--;)(3===f&&1===a%2||2>=f&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=void 0}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;
-d(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks()},setExtremes:function(a,
-b,c,f,n){var g=this,h=g.chart;c=v(c,!0);d(g.series,function(a){delete a.kdTree});n=l(n,{min:a,max:b});z(g,"setExtremes",n,function(){g.userMin=a;g.userMax=b;g.eventArgs=n;c&&h.redraw(f)})},zoom:function(a,b){var g=this.dataMin,c=this.dataMax,f=this.options,n=Math.min(g,v(f.min,g)),f=Math.max(c,v(f.max,c));if(a!==this.min||b!==this.max)this.allowZoomOutside||(p(g)&&(a<n&&(a=n),a>f&&(a=f)),p(c)&&(b<n&&(b=n),b>f&&(b=f))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});
-return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsets||[0,0,0,0],f=this.horiz,n=v(b.width,a.plotWidth-c[3]+c[1]),h=v(b.height,a.plotHeight-c[0]+c[2]),d=v(b.top,a.plotTop+c[0]),b=v(b.left,a.plotLeft+c[3]),c=/%$/;c.test(h)&&(h=Math.round(parseFloat(h)/100*a.plotHeight));c.test(d)&&(d=Math.round(parseFloat(d)/100*a.plotHeight+a.plotTop));this.left=b;this.top=d;this.width=n;this.height=h;this.bottom=a.chartHeight-h-d;this.right=a.chartWidth-n-b;this.len=Math.max(f?n:h,0);this.pos=
-f?b:d},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?t(b(this.min)):this.min,max:a?t(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,g=this.lin2log,c=b?g(this.min):this.min,b=b?g(this.max):this.max;null===a?a=c:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(v(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},
-tickSize:function(a){var b=this.options,g=b[a+"Length"],c=v(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(c&&g)return"inside"===b[a+"Position"]&&(g=-g),[g,c]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,f=c,n=this.len/(((this.categories?1:0)+this.max-this.min)/c),h,y=a.rotation,r=this.labelMetrics(),q,F=
-Number.MAX_VALUE,u,l=function(a){a/=n||1;a=1<a?Math.ceil(a):1;return a*c};b?(u=!a.staggerLines&&!a.step&&(p(y)?[y]:n<v(a.autoRotationLimit,80)&&a.autoRotation))&&d(u,function(a){var b;if(a===y||a&&-90<=a&&90>=a)q=l(Math.abs(r.h/Math.sin(m*a))),b=q+Math.abs(a/360),b<F&&(F=b,h=a,f=q)}):a.step||(f=l(r.h));this.autoRotation=u;this.labelRotation=v(h,y);return f},getSlotWidth:function(){var a=this.chart,b=this.horiz,c=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),n=a.margin[3];
-return b&&2>(c.step||0)&&!c.rotation&&(this.staggerLines||1)*this.len/f||!b&&(n&&n-a.spacing[3]||.33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,f=this.ticks,n=this.options.labels,y=this.horiz,r=this.getSlotWidth(),q=Math.max(1,Math.round(r-2*(n.padding||5))),F={},u=this.labelMetrics(),l=n.style&&n.style.textOverflow,v,e=0,I,C;h(n.rotation)||(F.rotation=n.rotation||0);d(c,function(a){(a=f[a])&&a.labelLength>e&&(e=a.labelLength)});this.maxLabelLength=
-e;if(this.autoRotation)e>q&&e>u.h?F.rotation=this.labelRotation:this.labelRotation=0;else if(r&&(v={width:q+"px"},!l))for(v.textOverflow="clip",I=c.length;!y&&I--;)if(C=c[I],q=f[C].label)q.styles&&"ellipsis"===q.styles.textOverflow?q.css({textOverflow:"clip"}):f[C].labelLength>r&&q.css({width:r+"px"}),q.getBBox().height>this.len/c.length-(u.h-u.f)&&(q.specCss={textOverflow:"ellipsis"});F.rotation&&(v={width:(e>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},l||(v.textOverflow="ellipsis"));
-if(this.labelAlign=n.align||this.autoLabelAlign(this.labelRotation))F.align=this.labelAlign;d(c,function(a){var b=(a=f[a])&&a.label;b&&(b.attr(F),v&&b.css(E(v,b.specCss)),delete b.specCss,a.rotation=F.rotation)});this.tickRotCorr=b.rotCorr(u.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||p(this.min)&&p(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,g=this.horiz,c=this.opposite,f=this.options.title,n;this.axisTitle||((n=f.textAlign)||
-(n=(g?{low:"left",middle:"center",high:"right"}:{low:c?"right":"left",middle:"center",high:c?"left":"right"})[f.align]),this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:n}).addClass("highcharts-axis-title").css(f.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():b[a]=new I(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,f=a.options,n=a.tickPositions,
-h=a.ticks,y=a.horiz,r=a.side,q=b.inverted?[1,0,3,2][r]:r,F,u,l=0,e,I=0,C=f.title,z=f.labels,E=0,L=b.axisOffset,b=b.clipOffset,m=[-1,1,1,-1][r],k,t=f.className,x=a.axisParent,w=this.tickSize("tick");F=a.hasData();a.showAxis=u=F||v(f.showEmpty,!0);a.staggerLines=a.horiz&&z.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(t||"")).add(x),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+
-" "+(t||"")).add(x),a.labelGroup=c.g("axis-labels").attr({zIndex:z.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(t||"")).add(x));if(F||a.isLinked)d(n,function(b,g){a.generateTick(b,g)}),a.renderUnsquish(),!1===z.reserveSpace||0!==r&&2!==r&&{1:"left",3:"right"}[r]!==a.labelAlign&&"center"!==a.labelAlign||d(n,function(a){E=Math.max(h[a].getLabelSize(),E)}),a.staggerLines&&(E*=a.staggerLines,a.labelOffset=E*(a.opposite?-1:1));else for(k in h)h[k].destroy(),delete h[k];C&&C.text&&
-!1!==C.enabled&&(a.addTitle(u),u&&(l=a.axisTitle.getBBox()[y?"height":"width"],e=C.offset,I=p(e)?0:v(C.margin,y?5:10)));a.renderLine();a.offset=m*v(f.offset,L[r]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===r?-a.labelMetrics().h:2===r?a.tickRotCorr.y:0;I=Math.abs(E)+I;E&&(I=I-c+m*(y?v(z.y,a.tickRotCorr.y+8*m):z.x));a.axisTitleMargin=v(e,I);L[r]=Math.max(L[r],a.axisTitleMargin+l+m*a.offset,I,F&&n.length&&w?w[0]+m*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[q]=Math.max(b[q],
-f)},getLinePath:function(a){var b=this.chart,g=this.opposite,c=this.offset,f=this.horiz,n=this.left+(g?this.width:0)+c,c=b.chartHeight-this.bottom-(g?this.height:0)+c;g&&(a*=-1);return b.renderer.crispLine(["M",f?this.left:n,f?c:this.top,"L",f?b.chartWidth-this.right:n,f?c:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,
-zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,f=this.len,n=this.options.title,h=a?b:c,d=this.opposite,y=this.offset,r=n.x||0,q=n.y||0,F=this.chart.renderer.fontMetrics(n.style&&n.style.fontSize,this.axisTitle).f,f={low:h+(a?0:f),middle:h+f/2,high:h+(a?f:0)}[n.align],b=(a?c+this.height:b)+(a?1:-1)*(d?-1:1)*this.axisTitleMargin+(2===this.side?F:0);return{x:a?f+r:b+(d?this.width:0)+y+r,y:a?b+q-(d?this.height:0)+y:f+q}},renderMinorTick:function(a){var b=this.chart.hasRendered&&
-r(this.oldMin),g=this.minorTicks;g[a]||(g[a]=new I(this,a,"minor"));b&&g[a].isNew&&g[a].render(null,!0);g[a].render(null,!1,1)},renderTick:function(a,b){var g=this.isLinked,c=this.ticks,f=this.chart.hasRendered&&r(this.oldMin);if(!g||a>=this.min&&a<=this.max)c[a]||(c[a]=new I(this,a)),f&&c[a].isNew&&c[a].render(b,!0,.1),c[a].render(b)},render:function(){var a=this,b=a.chart,c=a.options,f=a.isLog,h=a.lin2log,y=a.isLinked,r=a.tickPositions,q=a.axisTitle,u=a.ticks,l=a.minorTicks,v=a.alternateBands,e=
-c.stackLabels,C=c.alternateGridColor,z=a.tickmarkOffset,E=a.axisLine,L=a.showAxis,m=A(b.renderer.globalAnimation),k,p;a.labelEdge.length=0;a.overlap=!1;d([u,l,v],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||y)a.minorTickInterval&&!a.categories&&d(a.getMinorTickPositions(),function(b){a.renderMinorTick(b)}),r.length&&(d(r,function(b,g){a.renderTick(b,g)}),z&&(0===a.min||a.single)&&(u[-1]||(u[-1]=new I(a,-1,null,!0)),u[-1].render(-1))),C&&d(r,function(g,c){p=void 0!==r[c+1]?r[c+1]+
-z:a.max-z;0===c%2&&g<a.max&&p<=a.max+(b.polar?-z:z)&&(v[g]||(v[g]=new n(a)),k=g+z,v[g].options={from:f?h(k):k,to:f?h(p):p,color:C},v[g].render(),v[g].isActive=!0)}),a._addedPlotLB||(d((c.plotLines||[]).concat(c.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0);d([u,l,v],function(a){var g,c,f=[],n=m.duration;for(g in a)a[g].isActive||(a[g].render(g,!1,0),a[g].isActive=!1,f.push(g));F(function(){for(c=f.length;c--;)a[f[c]]&&!a[f[c]].isActive&&(a[f[c]].destroy(),delete a[f[c]])},
-a!==v&&b.hasRendered&&n?n:0)});E&&(E[E.isPlaced?"animate":"attr"]({d:this.getLinePath(E.strokeWidth())}),E.isPlaced=!0,E[L?"show":"hide"](!0));q&&L&&(q[q.isNew?"attr":"animate"](a.getTitlePosition()),q.isNew=!1);e&&e.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.visible&&(this.render(),d(this.plotLinesAndBands,function(a){a.render()}));d(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,
-g=b.stacks,c,f=b.plotLinesAndBands,n;a||y(b);for(c in g)e(g[c]),g[c]=null;d([b.ticks,b.minorTicks,b.alternateBands],function(a){e(a)});if(f)for(a=f.length;a--;)f[a].destroy();d("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(n in b)b.hasOwnProperty(n)&&-1===C(n,b.keepProps)&&delete b[n]},drawCrosshair:function(a,b){var g,c=this.crosshair,f=v(c.snap,!0),n,h=this.cross;a||(a=this.cross&&this.cross.e);this.crosshair&&
-!1!==(p(b)||!f)?(f?p(b)&&(n=this.isXAxis?b.plotX:this.len-b.plotY):n=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos),p(n)&&(g=this.getPlotLinePath(b&&(this.isXAxis?b.x:v(b.stackY,b.y)),null,null,null,n)||null),p(g)?(b=this.categories&&!this.isRadial,h||(this.cross=h=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(b?"category ":"thin ")+c.className).attr({zIndex:v(c.zIndex,2)}).add(),h.attr({stroke:c.color||(b?k("#ccd6eb").setOpacity(.25).get():"#cccccc"),
-"stroke-width":v(c.width,1)}),c.dashStyle&&h.attr({dashstyle:c.dashStyle})),h.show().attr({d:g}),b&&!c.width&&h.attr({"stroke-width":this.transA}),this.cross.e=a):this.hideCrosshair()):this.hideCrosshair()},hideCrosshair:function(){this.cross&&this.cross.hide()}};l(a.Axis.prototype,w)})(K);(function(a){var D=a.Axis,A=a.Date,G=a.dateFormat,H=a.defaultOptions,w=a.defined,k=a.each,t=a.extend,x=a.getMagnitude,p=a.getTZOffset,m=a.normalizeTickInterval,e=a.pick,d=a.timeUnits;D.prototype.getTimeTicks=function(a,
-z,b,u){var c=[],l={},q=H.global.useUTC,r,h=new A(z-Math.abs(p(z))),E=A.hcMakeTime,f=a.unitRange,v=a.count,n;if(w(z)){h[A.hcSetMilliseconds](f>=d.second?0:v*Math.floor(h.getMilliseconds()/v));if(f>=d.second)h[A.hcSetSeconds](f>=d.minute?0:v*Math.floor(h.getSeconds()/v));if(f>=d.minute)h[A.hcSetMinutes](f>=d.hour?0:v*Math.floor(h[A.hcGetMinutes]()/v));if(f>=d.hour)h[A.hcSetHours](f>=d.day?0:v*Math.floor(h[A.hcGetHours]()/v));if(f>=d.day)h[A.hcSetDate](f>=d.month?1:v*Math.floor(h[A.hcGetDate]()/v));
-f>=d.month&&(h[A.hcSetMonth](f>=d.year?0:v*Math.floor(h[A.hcGetMonth]()/v)),r=h[A.hcGetFullYear]());if(f>=d.year)h[A.hcSetFullYear](r-r%v);if(f===d.week)h[A.hcSetDate](h[A.hcGetDate]()-h[A.hcGetDay]()+e(u,1));r=h[A.hcGetFullYear]();u=h[A.hcGetMonth]();var y=h[A.hcGetDate](),L=h[A.hcGetHours]();if(A.hcTimezoneOffset||A.hcGetTimezoneOffset)n=(!q||!!A.hcGetTimezoneOffset)&&(b-z>4*d.month||p(z)!==p(b)),h=h.getTime(),h=new A(h+p(h));q=h.getTime();for(z=1;q<b;)c.push(q),q=f===d.year?E(r+z*v,0):f===d.month?
-E(r,u+z*v):!n||f!==d.day&&f!==d.week?n&&f===d.hour?E(r,u,y,L+z*v):q+f*v:E(r,u,y+z*v*(f===d.day?1:7)),z++;c.push(q);f<=d.hour&&1E4>c.length&&k(c,function(a){0===a%18E5&&"000000000"===G("%H%M%S%L",a)&&(l[a]="day")})}c.info=t(a,{higherRanks:l,totalRange:f*v});return c};D.prototype.normalizeTimeTickInterval=function(a,e){var b=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,
-3,4,6]],["year",null]];e=b[b.length-1];var u=d[e[0]],c=e[1],l;for(l=0;l<b.length&&!(e=b[l],u=d[e[0]],c=e[1],b[l+1]&&a<=(u*c[c.length-1]+d[b[l+1][0]])/2);l++);u===d.year&&a<5*u&&(c=[1,2,5]);a=m(a/u,c,"year"===e[0]?Math.max(x(a/u),1):1);return{unitRange:u,count:a,unitName:e[0]}}})(K);(function(a){var D=a.Axis,A=a.getMagnitude,G=a.map,H=a.normalizeTickInterval,w=a.pick;D.prototype.getLogTickPositions=function(a,t,x,p){var m=this.options,e=this.len,d=this.lin2log,l=this.log2lin,z=[];p||(this._minorAutoInterval=
-null);if(.5<=a)a=Math.round(a),z=this.getLinearTickPositions(a,t,x);else if(.08<=a)for(var e=Math.floor(t),b,u,c,C,q,m=.3<a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];e<x+1&&!q;e++)for(u=m.length,b=0;b<u&&!q;b++)c=l(d(e)*m[b]),c>t&&(!p||C<=x)&&void 0!==C&&z.push(C),C>x&&(q=!0),C=c;else t=d(t),x=d(x),a=m[p?"minorTickInterval":"tickInterval"],a=w("auto"===a?null:a,this._minorAutoInterval,m.tickPixelInterval/(p?5:1)*(x-t)/((p?e/this.tickPositions.length:e)||1)),a=H(a,null,A(a)),z=G(this.getLinearTickPositions(a,
-t,x),l),p||(this._minorAutoInterval=a/5);p||(this.tickInterval=a);return z};D.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};D.prototype.lin2log=function(a){return Math.pow(10,a)}})(K);(function(a){var D=a.dateFormat,A=a.each,G=a.extend,H=a.format,w=a.isNumber,k=a.map,t=a.merge,x=a.pick,p=a.splat,m=a.syncTimeout,e=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,l){this.chart=a;this.options=l;this.crosshairs=[];this.now={x:0,y:0};
-this.isHidden=!0;this.split=l.split&&!a.inverted;this.shared=l.shared||this.split},cleanSplit:function(a){A(this.chart.series,function(d){var l=d&&d.tt;l&&(!l.isActive||a?d.tt=l.destroy():l.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,l=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,l.shape||"callout",null,null,l.useHTML,null,"tooltip").attr({padding:l.padding,r:l.borderRadius}),this.label.attr({fill:l.backgroundColor,"stroke-width":l.borderWidth}).css(l.style).shadow(l.shadow)),
-this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,t(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,l,e,b){var d=this,c=d.now,C=!1!==d.options.animation&&!d.isHidden&&(1<Math.abs(a-c.x)||1<Math.abs(l-c.y)),q=d.followPointer||1<d.len;G(c,{x:C?(2*
-c.x+a)/3:a,y:C?(c.y+l)/2:l,anchorX:q?void 0:C?(2*c.anchorX+e)/3:e,anchorY:q?void 0:C?(c.anchorY+b)/2:b});d.getLabel().attr(c);C&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){d&&d.move(a,l,e,b)},32))},hide:function(a){var d=this;clearTimeout(this.hideTimer);a=x(a,this.options.hideDelay,500);this.isHidden||(this.hideTimer=m(function(){d.getLabel()[a?"fadeOut":"hide"]();d.isHidden=!0},a))},getAnchor:function(a,l){var d,b=this.chart,u=b.inverted,c=b.plotTop,e=b.plotLeft,
-q=0,r=0,h,E;a=p(a);d=a[0].tooltipPos;this.followPointer&&l&&(void 0===l.chartX&&(l=b.pointer.normalize(l)),d=[l.chartX-b.plotLeft,l.chartY-c]);d||(A(a,function(a){h=a.series.yAxis;E=a.series.xAxis;q+=a.plotX+(!u&&E?E.left-e:0);r+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!u&&h?h.top-c:0)}),q/=a.length,r/=a.length,d=[u?b.plotWidth-r:q,this.shared&&!u&&1<a.length&&l?l.chartY-c:u?b.plotHeight-q:r]);return k(d,Math.round)},getPosition:function(a,l,e){var b=this.chart,d=this.distance,c={},C=e.h||0,
-q,r=["y",b.chartHeight,l,e.plotY+b.plotTop,b.plotTop,b.plotTop+b.plotHeight],h=["x",b.chartWidth,a,e.plotX+b.plotLeft,b.plotLeft,b.plotLeft+b.plotWidth],E=!this.followPointer&&x(e.ttBelow,!b.inverted===!!e.negative),f=function(a,b,f,g,n,h){var y=f<g-d,r=g+d+f<b,q=g-d-f;g+=d;if(E&&r)c[a]=g;else if(!E&&y)c[a]=q;else if(y)c[a]=Math.min(h-f,0>q-C?q:q-C);else if(r)c[a]=Math.max(n,g+C+f>b?g:g+C);else return!1},v=function(a,b,f,g){var n;g<d||g>b-d?n=!1:c[a]=g<f/2?1:g>b-f/2?b-f-2:g-f/2;return n},n=function(a){var b=
-r;r=h;h=b;q=a},y=function(){!1!==f.apply(0,r)?!1!==v.apply(0,h)||q||(n(!0),y()):q?c.x=c.y=0:(n(!0),y())};(b.inverted||1<this.len)&&n();y();return c},defaultFormatter:function(a){var d=this.points||p(this),e;e=[a.tooltipFooterHeaderFormatter(d[0])];e=e.concat(a.bodyFormatter(d));e.push(a.tooltipFooterHeaderFormatter(d[0],!0));return e},refresh:function(a,e){var d,b=this.options,u,c=a,l,q={},r=[];d=b.formatter||this.defaultFormatter;var q=this.shared,h;clearTimeout(this.hideTimer);this.followPointer=
-p(c)[0].series.tooltipOptions.followPointer;l=this.getAnchor(c,e);e=l[0];u=l[1];!q||c.series&&c.series.noSharedTooltip?q=c.getLabelConfig():(A(c,function(a){a.setState("hover");r.push(a.getLabelConfig())}),q={x:c[0].category,y:c[0].y},q.points=r,c=c[0]);this.len=r.length;q=d.call(q,this);h=c.series;this.distance=x(h.tooltipOptions.distance,16);!1===q?this.hide():(d=this.getLabel(),this.isHidden&&d.attr({opacity:1}).show(),this.split?this.renderSplit(q,a):(d.attr({text:q&&q.join?q.join(""):q}),d.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+
-x(c.colorIndex,h.colorIndex)),d.attr({stroke:b.borderColor||c.color||h.color||"#666666"}),this.updatePosition({plotX:e,plotY:u,negative:c.negative,ttBelow:c.ttBelow,h:l[2]||0})),this.isHidden=!1)},renderSplit:function(d,e){var l=this,b=[],u=this.chart,c=u.renderer,C=!0,q=this.options,r,h=this.getLabel();A(d.slice(0,e.length+1),function(a,f){f=e[f-1]||{isHeader:!0,plotX:e[0].plotX};var d=f.series||l,n=d.tt,y=f.series||{},E="highcharts-color-"+x(f.colorIndex,y.colorIndex,"none");n||(d.tt=n=c.label(null,
-null,null,"callout").addClass("highcharts-tooltip-box "+E).attr({padding:q.padding,r:q.borderRadius,fill:q.backgroundColor,stroke:f.color||y.color||"#333333","stroke-width":q.borderWidth}).add(h));n.isActive=!0;n.attr({text:a});n.css(q.style);a=n.getBBox();y=a.width+n.strokeWidth();f.isHeader?(r=a.height,y=Math.max(0,Math.min(f.plotX+u.plotLeft-y/2,u.chartWidth-y))):y=f.plotX+u.plotLeft-x(q.distance,16)-y;0>y&&(C=!1);a=(f.series&&f.series.yAxis&&f.series.yAxis.pos)+(f.plotY||0);a-=u.plotTop;b.push({target:f.isHeader?
-u.plotHeight+r:a,rank:f.isHeader?1:0,size:d.tt.getBBox().height+1,point:f,x:y,tt:n})});this.cleanSplit();a.distribute(b,u.plotHeight+r);A(b,function(a){var b=a.point,c=b.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:C||b.isHeader?a.x:b.plotX+u.plotLeft+x(q.distance,16),y:a.pos+u.plotTop,anchorX:b.isHeader?b.plotX+u.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?a.pos+u.plotTop-15:b.plotY+c.yAxis.pos})})},updatePosition:function(a){var d=this.chart,e=this.getLabel(),e=(this.options.positioner||
-this.getPosition).call(this,e.width,e.height,a);this.move(Math.round(e.x),Math.round(e.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getDateFormat:function(a,l,m,b){var d=D("%m-%d %H:%M:%S.%L",l),c,C,q={millisecond:15,second:12,minute:9,hour:6,day:3},r="millisecond";for(C in e){if(a===e.week&&+D("%w",l)===m&&"00:00:00.000"===d.substr(6)){C="week";break}if(e[C]>a){C=r;break}if(q[C]&&d.substr(q[C])!=="01-01 00:00:00.000".substr(q[C]))break;"week"!==C&&(r=C)}C&&(c=b[C]);return c},getXDateFormat:function(a,
-e,m){e=e.dateTimeLabelFormats;var b=m&&m.closestPointRange;return(b?this.getDateFormat(b,a.x,m.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(a,e){var d=e?"footer":"header";e=a.series;var b=e.tooltipOptions,u=b.xDateFormat,c=e.xAxis,l=c&&"datetime"===c.options.type&&w(a.key),d=b[d+"Format"];l&&!u&&(u=this.getXDateFormat(a,b,c));l&&u&&(d=d.replace("{point.key}","{point.key:"+u+"}"));return H(d,{point:a,series:e})},bodyFormatter:function(a){return k(a,function(a){var d=
-a.series.tooltipOptions;return(d.pointFormatter||a.point.tooltipFormatter).call(a.point,d.pointFormat)})}}})(K);(function(a){var D=a.addEvent,A=a.attr,G=a.charts,H=a.color,w=a.css,k=a.defined,t=a.doc,x=a.each,p=a.extend,m=a.fireEvent,e=a.offset,d=a.pick,l=a.removeEvent,z=a.splat,b=a.Tooltip,u=a.win;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,e){this.options=e;this.chart=a;this.runChartClick=e.chart.events&&!!e.chart.events.click;this.pinchDown=[];this.lastValidTouch=
-{};b&&e.tooltip.enabled&&(a.tooltip=new b(a,e.tooltip),this.followTouchMove=d(e.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,r=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(r=d(c.pinchType,r));this.zoomX=a=/x/.test(r);this.zoomY=r=/y/.test(r);this.zoomHor=a&&!b||r&&b;this.zoomVert=r&&!b||a&&b;this.hasZoom=a||r},normalize:function(a,b){var c,d;a=a||u.event;a.target||(a.target=a.srcElement);d=a.touches?a.touches.length?a.touches.item(0):
-a.changedTouches[0]:a;b||(this.chartPosition=b=e(this.chart.container));void 0===d.pageX?(c=Math.max(a.x,a.clientX-b.left),b=a.y):(c=d.pageX-b.left,b=d.pageY-b.top);return p(a,{chartX:Math.round(c),chartY:Math.round(b)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};x(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},getKDPoints:function(a,b,q){var c=[],h,e,f;x(a,function(a){h=a.noSharedTooltip&&b;e=!b&&a.directTouch;
-a.visible&&!h&&!e&&d(a.options.enableMouseTracking,!0)&&(f=a.searchPoint(q,!h&&1===a.kdDimensions))&&f.series&&c.push(f)});c.sort(function(a,c){var f=a.distX-c.distX,n=a.dist-c.dist,h=(c.series.group&&c.series.group.zIndex)-(a.series.group&&a.series.group.zIndex);return 0!==f&&b?f:0!==n?n:0!==h?h:a.series.index>c.series.index?-1:1});if(b)for(a=c.length;a--;)(c[a].x!==c[0].x||c[a].series.noSharedTooltip)&&c.splice(a,1);return c},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=
-a.parentNode;return b},getHoverData:function(a,b,q,r,h,e){var c=a;a=b;var u;if(r)h?(u=[],x(q,function(a){var b=a.noSharedTooltip&&h,f=!h&&a.directTouch;a.visible&&!b&&!f&&d(a.options.enableMouseTracking,!0)&&(a=a.searchKDTree({clientX:c.clientX,plotY:c.plotY},!b&&1===a.kdDimensions))&&a.series&&u.push(a)}),0===u.length&&(u=[c])):u=[c];else{if(a&&!a.options.stickyTracking)u=this.getKDPoints([a],h,e);else{if(!h)if(a)a.options.stickyTracking||(q=[a]);else for(r=0;r<q.length;r++)if(q[r].directTouch||
-!q[r].options.stickyTracking)q=[];u=this.getKDPoints(q,h,e)}a=(c=u[0])&&c.series}u.sort(function(a,b){return a.series.index-b.series.index});return{hoverPoint:c,hoverSeries:a,hoverPoints:u}},runPointActions:function(b,d){var c=this.chart,r=c.tooltip,h=r?r.shared:!1,e=d||c.hoverPoint,f=e&&e.series||c.hoverSeries;d=this.getHoverData(e,f,c.series,!!d||f&&f.directTouch,h,b);var u,n,e=d.hoverPoint;u=(f=d.hoverSeries)&&f.tooltipOptions.followPointer;n=(h=h&&e&&!e.series.noSharedTooltip)?d.hoverPoints:[e];
-if(e&&(e!==c.hoverPoint||r&&r.isHidden)){x(c.hoverPoints||[],function(b){-1===a.inArray(b,n)&&b.setState()});x(n||[],function(a){a.setState("hover")});if(c.hoverSeries!==f)f.onMouseOver();f&&!f.directTouch&&(c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut"),e.firePointEvent("mouseOver"));c.hoverPoints=n;c.hoverPoint=e;r&&r.refresh(h?n:e,b)}else u&&r&&!r.isHidden&&(e=r.getAnchor([{}],b),r.updatePosition({plotX:e[0],plotY:e[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(t,"mousemove",function(b){var c=
-G[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));x(n,function(a){x(c.axes,function(c){(!a||a.series&&a.series[c.coll]===c)&&c.drawCrosshair(b,a)})})},reset:function(a,b){var c=this.chart,d=c.hoverSeries,h=c.hoverPoint,e=c.hoverPoints,f=c.tooltip,u=f&&f.shared?e:h;a&&u&&x(z(u),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&u&&(f.refresh(u),h&&(h.setState(h.state,!0),x(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,h)})));else{if(h)h.onMouseOut();e&&x(e,function(a){a.setState()});
-if(d)d.onMouseOut();f&&f.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());x(c.axes,function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,d;x(c.series,function(h){d=a||h.getPlotBox();h.xAxis&&h.xAxis.zoomEnabled&&h.group&&(h.group.attr(d),h.markerGroup&&(h.markerGroup.attr(d),h.markerGroup.clip(b?c.clipRect:null)),h.dataLabelsGroup&&h.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=
-this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,h=a.chartY,e=this.zoomHor,f=this.zoomVert,u=b.plotLeft,n=b.plotTop,y=b.plotWidth,l=b.plotHeight,F,I=this.selectionMarker,g=this.mouseDownX,m=this.mouseDownY,z=c.panKey&&a[c.panKey+"Key"];I&&I.touch||(d<u?d=u:d>u+y&&(d=u+y),h<n?h=n:h>n+l&&(h=n+l),this.hasDragged=Math.sqrt(Math.pow(g-d,2)+Math.pow(m-h,2)),10<this.hasDragged&&
-(F=b.isInsidePlot(g-u,m-n),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&F&&!z&&!I&&(this.selectionMarker=I=b.renderer.rect(u,n,e?1:y,f?1:l,0).attr({fill:c.selectionMarkerFill||H("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),I&&e&&(d-=g,I.attr({width:Math.abs(d),x:(0<d?0:d)+g})),I&&f&&(d=h-m,I.attr({height:Math.abs(d),y:(0<d?0:d)+m})),F&&!I&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var h=
-{originalEvent:a,xAxis:[],yAxis:[]},e=this.selectionMarker,f=e.attr?e.attr("x"):e.x,u=e.attr?e.attr("y"):e.y,n=e.attr?e.attr("width"):e.width,y=e.attr?e.attr("height"):e.height,l;if(this.hasDragged||d)x(c.axes,function(c){if(c.zoomEnabled&&k(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var e=c.horiz,g="touchend"===a.type?c.minPixelPadding:0,r=c.toValue((e?f:u)+g),e=c.toValue((e?f+n:u+y)-g);h[c.coll].push({axis:c,min:Math.min(r,e),max:Math.max(r,e)});l=!0}}),l&&m(c,"selection",h,function(a){c.zoom(p(a,
-d?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();d&&this.scaleGroups()}c&&(w(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);this.zoomOption(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(b){G[a.hoverChartIndex]&&G[a.hoverChartIndex].pointer.drop(b)},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(b){var c=G[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;k(a.hoverChartIndex)&&G[a.hoverChartIndex]&&G[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;
-"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=A(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;if(!(!b||!a||b.options.stickyTracking||this.inClass(a,"highcharts-tooltip")||
-this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,h=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(m(c.series,"click",p(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(p(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-h)&&m(b,"click",a)))},setDOMEvents:function(){var b=this,d=b.chart.container;d.onmousedown=
-function(a){b.onContainerMouseDown(a)};d.onmousemove=function(a){b.onContainerMouseMove(a)};d.onclick=function(a){b.onContainerClick(a)};D(d,"mouseleave",b.onContainerMouseLeave);1===a.chartCount&&D(t,"mouseup",b.onDocumentMouseUp);a.hasTouch&&(d.ontouchstart=function(a){b.onContainerTouchStart(a)},d.ontouchmove=function(a){b.onContainerTouchMove(a)},1===a.chartCount&&D(t,"touchend",b.onDocumentTouchEnd))},destroy:function(){var b;l(this.chart.container,"mouseleave",this.onContainerMouseLeave);a.chartCount||
-(l(t,"mouseup",this.onDocumentMouseUp),l(t,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(b in this)this[b]=null}}})(K);(function(a){var D=a.charts,A=a.each,G=a.extend,H=a.map,w=a.noop,k=a.pick;G(a.Pointer.prototype,{pinchTranslate:function(a,k,p,m,e,d){this.zoomHor&&this.pinchTranslateDirection(!0,a,k,p,m,e,d);this.zoomVert&&this.pinchTranslateDirection(!1,a,k,p,m,e,d)},pinchTranslateDirection:function(a,k,p,m,e,d,l,z){var b=this.chart,u=a?"x":"y",c=a?"X":"Y",C="chart"+
-c,q=a?"width":"height",r=b["plot"+(a?"Left":"Top")],h,E,f=z||1,v=b.inverted,n=b.bounds[a?"h":"v"],y=1===k.length,L=k[0][C],F=p[0][C],I=!y&&k[1][C],g=!y&&p[1][C],t;p=function(){!y&&20<Math.abs(L-I)&&(f=z||Math.abs(F-g)/Math.abs(L-I));E=(r-F)/f+L;h=b["plot"+(a?"Width":"Height")]/f};p();k=E;k<n.min?(k=n.min,t=!0):k+h>n.max&&(k=n.max-h,t=!0);t?(F-=.8*(F-l[u][0]),y||(g-=.8*(g-l[u][1])),p()):l[u]=[F,g];v||(d[u]=E-r,d[q]=h);d=v?1/f:f;e[q]=h;e[u]=k;m[v?a?"scaleY":"scaleX":"scale"+c]=f;m["translate"+c]=d*
-r+(F-d*L)},pinch:function(a){var t=this,p=t.chart,m=t.pinchDown,e=a.touches,d=e.length,l=t.lastValidTouch,z=t.hasZoom,b=t.selectionMarker,u={},c=1===d&&(t.inClass(a.target,"highcharts-tracker")&&p.runTrackerClick||t.runChartClick),C={};1<d&&(t.initiated=!0);z&&t.initiated&&!c&&a.preventDefault();H(e,function(a){return t.normalize(a)});"touchstart"===a.type?(A(e,function(a,b){m[b]={chartX:a.chartX,chartY:a.chartY}}),l.x=[m[0].chartX,m[1]&&m[1].chartX],l.y=[m[0].chartY,m[1]&&m[1].chartY],A(p.axes,function(a){if(a.zoomEnabled){var b=
-p.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,d=a.toPixels(k(a.options.min,a.dataMin)),f=a.toPixels(k(a.options.max,a.dataMax)),e=Math.max(d,f);b.min=Math.min(a.pos,Math.min(d,f)-c);b.max=Math.max(a.pos+a.len,e+c)}}),t.res=!0):t.followTouchMove&&1===d?this.runPointActions(t.normalize(a)):m.length&&(b||(t.selectionMarker=b=G({destroy:w,touch:!0},p.plotBox)),t.pinchTranslate(m,e,u,b,C,l),t.hasPinched=z,t.scaleGroups(u,C),t.res&&(t.res=!1,this.reset(!1,0)))},touch:function(t,w){var p=this.chart,m,e;
-if(p.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=p.index;1===t.touches.length?(t=this.normalize(t),(e=p.isInsidePlot(t.chartX-p.plotLeft,t.chartY-p.plotTop))&&!p.openMenu?(w&&this.runPointActions(t),"touchmove"===t.type&&(w=this.pinchDown,m=w[0]?4<=Math.sqrt(Math.pow(w[0].chartX-t.chartX,2)+Math.pow(w[0].chartY-t.chartY,2)):!1),k(m,!0)&&this.pinch(t)):w&&this.reset()):2===t.touches.length&&this.pinch(t)},onContainerTouchStart:function(a){this.zoomOption(a);
-this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(k){D[a.hoverChartIndex]&&D[a.hoverChartIndex].pointer.drop(k)}})})(K);(function(a){var D=a.addEvent,A=a.charts,G=a.css,H=a.doc,w=a.extend,k=a.noop,t=a.Pointer,x=a.removeEvent,p=a.win,m=a.wrap;if(p.PointerEvent||p.MSPointerEvent){var e={},d=!!p.PointerEvent,l=function(){var a,d=[];d.item=function(a){return this[a]};for(a in e)e.hasOwnProperty(a)&&d.push({pageX:e[a].pageX,pageY:e[a].pageY,target:e[a].target});
-return d},z=function(b,d,c,e){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!A[a.hoverChartIndex]||(e(b),e=A[a.hoverChartIndex].pointer,e[d]({type:c,target:b.currentTarget,preventDefault:k,touches:l()}))};w(t.prototype,{onContainerPointerDown:function(a){z(a,"onContainerTouchStart","touchstart",function(a){e[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){z(a,"onContainerTouchMove","touchmove",function(a){e[a.pointerId]={pageX:a.pageX,
-pageY:a.pageY};e[a.pointerId].target||(e[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){z(a,"onDocumentTouchEnd","touchend",function(a){delete e[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,d?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,d?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(H,d?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});m(t.prototype,"init",function(a,d,c){a.call(this,d,c);this.hasZoom&&
-G(d.container,{"-ms-touch-action":"none","touch-action":"none"})});m(t.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(D)});m(t.prototype,"destroy",function(a){this.batchMSEvents(x);a.call(this)})}})(K);(function(a){var D,A=a.addEvent,G=a.css,H=a.discardElement,w=a.defined,k=a.each,t=a.isFirefox,x=a.marginNames,p=a.merge,m=a.pick,e=a.setAnimation,d=a.stableSort,l=a.win,z=a.wrap;D=a.Legend=function(a,d){this.init(a,d)};D.prototype={init:function(a,
-d){this.chart=a;this.setOptions(d);d.enabled&&(this.render(),A(this.chart,"endResize",function(){this.legend.positionCheckboxes()}))},setOptions:function(a){var b=m(a.padding,8);this.options=a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=p(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.initialItemX=this.padding=b;this.initialItemY=b-5;this.itemHeight=this.maxItemWidth=0;this.symbolWidth=m(a.symbolWidth,16);this.pages=[]},update:function(a,d){var b=this.chart;this.setOptions(p(!0,
-this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;m(d,!0)&&b.redraw()},colorizeItem:function(a,d){a.legendGroup[d?"removeClass":"addClass"]("highcharts-legend-item-hidden");var b=this.options,e=a.legendItem,u=a.legendLine,r=a.legendSymbol,h=this.itemHiddenStyle.color,b=d?b.itemStyle.color:h,l=d?a.color||h:h,f=a.options&&a.options.marker,v={fill:l},n;e&&e.css({fill:b,color:b});u&&u.attr({stroke:l});if(r){if(f&&r.isMarker&&(v=a.pointAttribs(),!d))for(n in v)v[n]=h;r.attr(v)}},positionItem:function(a){var b=
-this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],r=a.checkbox;(a=a.legendGroup)&&a.element&&a.translate(b?e:this.legendWidth-e-2*c-4,d);r&&(r.x=e,r.y=d)},destroyItem:function(a){var b=a.checkbox;k(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&H(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}k(this.getAllItems(),function(b){k(["legendItem","legendGroup"],a,b)});k("clipRect up down pager nav box title group".split(" "),
-a,this);this.display=null},positionCheckboxes:function(a){var b=this.group&&this.group.alignAttr,c,d=this.clipHeight||this.legendHeight,e=this.titleHeight;b&&(c=b.translateY,k(this.allItems,function(r){var h=r.checkbox,l;h&&(l=c+e+h.y+(a||0)+3,G(h,{left:b.translateX+r.checkboxOffset+h.x-20+"px",top:l+"px",display:l>c-6&&l<c+d-6?"":"none"}))}))},renderTitle:function(){var a=this.padding,d=this.options.title,c=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,a-3,a-4,null,null,null,
-null,null,"legend-title").attr({zIndex:1}).css(d.style).add(this.group)),a=this.title.getBBox(),c=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:c}));this.titleHeight=c},setText:function(b){var d=this.options;b.legendItem.attr({text:d.labelFormat?a.format(d.labelFormat,b):d.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,e="horizontal"===d.layout,r=this.symbolWidth,h=d.symbolPadding,l=this.itemStyle,f=this.itemHiddenStyle,v=this.padding,
-n=e?m(d.itemDistance,20):0,y=!d.rtl,L=d.width,F=d.itemMarginBottom||0,I=this.itemMarginTop,g=this.initialItemX,k=a.legendItem,z=!a.series,t=!z&&a.series.drawLegendSymbol?a.series:a,w=t.options,w=this.createCheckboxForItem&&w&&w.showCheckbox,x=d.useHTML;k||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+t.type+"-series highcharts-color-"+a.colorIndex+(a.options.className?" "+a.options.className:"")+(z?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=k=
-c.text("",y?r+h:-h,this.baseline||0,x).css(p(a.visible?l:f)).attr({align:y?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(l=l.fontSize,this.fontMetrics=c.fontMetrics(l,k),this.baseline=this.fontMetrics.f+3+I,k.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,t.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,k,x),w&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);this.setText(a);c=k.getBBox();r=a.checkboxOffset=d.itemWidth||
-a.legendItemWidth||r+h+c.width+n+(w?20:0);this.itemHeight=h=Math.round(a.legendItemHeight||c.height);e&&this.itemX-g+r>(L||b.chartWidth-2*v-g-d.x)&&(this.itemX=g,this.itemY+=I+this.lastLineHeight+F,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,r);this.lastItemY=I+this.itemY+F;this.lastLineHeight=Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=r:(this.itemY+=I+h+F,this.lastLineHeight=h);this.offsetWidth=L||Math.max((e?this.itemX-g-n:r)+v,
-this.offsetWidth)},getAllItems:function(){var a=[];k(this.chart.series,function(b){var c=b&&b.options;b&&m(c.showInLegend,w(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});return a},adjustMargins:function(a,d){var b=this.chart,e=this.options,l=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||k([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(c,h){c.test(l)&&!w(a[h])&&(b[x[h]]=Math.max(b[x[h]],b.legend[(h+1)%
-2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*e[h%2?"x":"y"]+m(e.margin,12)+d[h]))})},render:function(){var a=this,e=a.chart,c=e.renderer,l=a.group,q,r,h,m,f=a.box,v=a.options,n=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;l||(a.group=l=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(l),a.scrollGroup=c.g().add(a.contentGroup));a.renderTitle();q=a.getAllItems();d(q,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&
-b.options.legendIndex||0)});v.reversed&&q.reverse();a.allItems=q;a.display=r=!!q.length;a.lastLineHeight=0;k(q,function(b){a.renderItem(b)});h=(v.width||a.offsetWidth)+n;m=a.lastItemY+a.lastLineHeight+a.titleHeight;m=a.handleOverflow(m);m+=n;f||(a.box=f=c.rect().addClass("highcharts-legend-box").attr({r:v.borderRadius}).add(l),f.isNew=!0);f.attr({stroke:v.borderColor,"stroke-width":v.borderWidth||0,fill:v.backgroundColor||"none"}).shadow(v.shadow);0<h&&0<m&&(f[f.isNew?"attr":"animate"](f.crisp({x:0,
-y:0,width:h,height:m},f.strokeWidth())),f.isNew=!1);f[r?"show":"hide"]();a.legendWidth=h;a.legendHeight=m;k(q,function(b){a.positionItem(b)});r&&l.align(p(v,{width:h,height:m}),!0,"spacingBox");e.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,r=e.y,c=c.spacingBox.height+("top"===e.verticalAlign?-r:r)-this.padding,r=e.maxHeight,h,l=this.clipRect,f=e.navigation,v=m(f.animation,!0),n=f.arrowSize||12,y=this.nav,z=this.pages,F=this.padding,
-I,g=this.allItems,p=function(a){a?l.attr({height:a}):l&&(b.clipRect=l.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+F+"px,9999px,"+(F+a)+"px,0)":"auto")};"horizontal"!==e.layout||"middle"===e.verticalAlign||e.floating||(c/=2);r&&(c=Math.min(c,r));z.length=0;a>c&&!1!==f.enabled?(this.clipHeight=h=Math.max(c-20-this.titleHeight-F,0),this.currentPage=m(this.currentPage,1),this.fullHeight=a,k(g,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);
-var f=z.length;if(!f||c-z[f-1]>h&&(I||c)!==z[f-1])z.push(I||c),f++;b===g.length-1&&c+a-z[f-1]>h&&z.push(c);c!==I&&(I=c)}),l||(l=b.clipRect=d.clipRect(0,F,9999,0),b.contentGroup.clip(l)),p(h),y||(this.nav=y=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,n,n).on("click",function(){b.scroll(-1,v)}).add(y),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation").css(f.style).add(y),this.down=d.symbol("triangle-down",0,0,n,n).on("click",function(){b.scroll(1,v)}).add(y)),
-b.scroll(0),a=c):y&&(p(),this.nav=y.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,d){var b=this.pages,l=b.length;a=this.currentPage+a;var q=this.clipHeight,r=this.options.navigation,h=this.pager,u=this.padding;a>l&&(a=l);0<a&&(void 0!==d&&e(d,this.chart),this.nav.attr({translateX:u,translateY:q+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),h.attr({text:a+
-"/"+l}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===l?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),this.up.attr({fill:1===a?r.inactiveColor:r.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===l?r.inactiveColor:r.activeColor}).css({cursor:a===l?"default":"pointer"}),d=-b[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:d}),this.currentPage=a,this.positionCheckboxes(d))}};a.LegendSymbolMixin={drawRectangle:function(a,d){var b=
-a.symbolHeight,e=a.options.squareSymbol;d.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-b)/2:0,a.baseline-b+1,e?b:a.symbolWidth,b,m(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(d.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,d=a.symbolWidth,e=a.symbolHeight,r=e/2,h=this.chart.renderer,l=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var f;f={"stroke-width":b.lineWidth||0};b.dashStyle&&(f.dashstyle=b.dashStyle);this.legendLine=
-h.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr(f).add(l);c&&!1!==c.enabled&&(b=Math.min(m(c.radius,r),r),0===this.symbol.indexOf("url")&&(c=p(c,{width:e,height:e}),b=0),this.legendSymbol=c=h.symbol(this.symbol,d/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(l),c.isMarker=!0)}};(/Trident\/7\.0/.test(l.navigator.userAgent)||t)&&z(D.prototype,"positionItem",function(a,d){var b=this,e=function(){d._legendItemPos&&a.call(b,d)};e();setTimeout(e)})})(K);(function(a){var D=a.addEvent,A=
-a.animate,G=a.animObject,H=a.attr,w=a.doc,k=a.Axis,t=a.createElement,x=a.defaultOptions,p=a.discardElement,m=a.charts,e=a.css,d=a.defined,l=a.each,z=a.extend,b=a.find,u=a.fireEvent,c=a.getStyle,C=a.grep,q=a.isNumber,r=a.isObject,h=a.isString,E=a.Legend,f=a.marginNames,v=a.merge,n=a.Pointer,y=a.pick,L=a.pInt,F=a.removeEvent,I=a.seriesTypes,g=a.splat,J=a.svg,Q=a.syncTimeout,P=a.win,M=a.Renderer,S=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,g){return new S(a,b,g)};S.prototype=
-{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(h(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(b,g){var c,f=b.series;b.series=null;c=v(x,b);c.series=b.series=f;this.userOptions=b;b=c.chart;f=b.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.callback=g;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=b.showAxes;var d;this.index=m.length;m.push(this);a.chartCount++;if(f)for(d in f)D(this,d,
-f[d]);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;this.firstRender()},initSeries:function(b){var g=this.options.chart;(g=I[b.type||g.type||g.defaultSeriesType])||a.error(17,!0);g=new g;g.init(this,b);return g},orderSeries:function(a){var b=this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].name||"Series "+(b[a].index+1))},isInsidePlot:function(a,b,g){var c=g?b:a;a=g?a:b;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){var g=
-this.axes,c=this.series,f=this.pointer,d=this.legend,n=this.isDirtyLegend,h,e,y=this.hasCartesianSeries,r=this.isDirtyBox,F,v=this.renderer,q=v.isHidden(),I=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);q&&this.cloneRenderTo();this.layOutTitles();for(b=c.length;b--;)if(F=c[b],F.options.stacking&&(h=!0,F.isDirty)){e=!0;break}if(e)for(b=c.length;b--;)F=c[b],F.options.stacking&&(F.isDirty=!0);l(c,function(a){a.isDirty&&"point"===a.options.legendType&&(a.updateTotals&&a.updateTotals(),
-n=!0);a.isDirtyData&&u(a,"updatedData")});n&&d.options.enabled&&(d.render(),this.isDirtyLegend=!1);h&&this.getStacks();y&&l(g,function(a){a.updateNames();a.setScale()});this.getMargins();y&&(l(g,function(a){a.isDirty&&(r=!0)}),l(g,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,I.push(function(){u(a,"afterSetExtremes",z(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(r||h)&&a.redraw()}));r&&this.drawChartBox();u(this,"predraw");l(c,function(a){(r||a.isDirty)&&a.visible&&a.redraw();
-a.isDirtyData=!1});f&&f.reset(!0);v.draw();u(this,"redraw");u(this,"render");q&&this.cloneRenderTo(!0);l(I,function(a){a.call()})},get:function(a){function g(b){return b.id===a||b.options&&b.options.id===a}var c,f=this.series,d;c=b(this.axes,g)||b(this.series,g);for(d=0;!c&&d<f.length;d++)c=b(f[d].points||[],g);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=g(b.xAxis||{}),b=b.yAxis=g(b.yAxis||{});l(c,function(a,b){a.index=b;a.isX=!0});l(b,function(a,b){a.index=b});c=c.concat(b);
-l(c,function(b){new k(a,b)})},getSelectedPoints:function(){var a=[];l(this.series,function(b){a=a.concat(C(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return C(this.series,function(a){return a.selected})},setTitle:function(a,b,g){var c=this,f=c.options,d;d=f.title=v({style:{color:"#333333",fontSize:f.isStock?"16px":"18px"}},f.title,a);f=f.subtitle=v({style:{color:"#666666"}},f.subtitle,b);l([["title",a,d],["subtitle",b,f]],function(a,b){var g=a[0],f=c[g],
-d=a[1];a=a[2];f&&d&&(c[g]=f=f.destroy());a&&a.text&&!f&&(c[g]=c.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+g,zIndex:a.zIndex||4}).add(),c[g].update=function(a){c.setTitle(!b&&a,b&&a)},c[g].css(a.style))});c.layOutTitles(g)},layOutTitles:function(a){var b=0,g,c=this.renderer,f=this.spacingBox;l(["title","subtitle"],function(a){var g=this[a],d=this.options[a],n;g&&(n=d.style.fontSize,n=c.fontMetrics(n,g).b,g.css({width:(d.width||f.width+d.widthAdjust)+"px"}).align(z({y:b+
-n+("title"===a?-3:2)},d),!1,"spacingBox"),d.floating||d.verticalAlign||(b=Math.ceil(b+g.getBBox().height)))},this);g=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&g&&(this.isDirtyBox=g,this.hasRendered&&y(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,g=b.width,b=b.height,f=this.renderToClone||this.renderTo;d(g)||(this.containerWidth=c(f,"width"));d(b)||(this.containerHeight=c(f,"height"));this.chartWidth=Math.max(0,g||this.containerWidth||600);
-this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||this.containerHeight||400)},cloneRenderTo:function(a){var b=this.renderToClone,g=this.container;if(a){if(b){for(;b.childNodes.length;)this.renderTo.appendChild(b.firstChild);p(b);delete this.renderToClone}}else g&&g.parentNode===this.renderTo&&this.renderTo.removeChild(g),this.renderToClone=b=this.renderTo.cloneNode(0),e(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block",
-"important"),w.body.appendChild(b),g&&b.appendChild(g)},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b,g=this.options,c=g.chart,f,d;b=this.renderTo;var n=a.uniqueKey(),e;b||(this.renderTo=b=c.renderTo);h(b)&&(this.renderTo=b=w.getElementById(b));b||a.error(13,!0);f=L(H(b,"data-highcharts-chart"));q(f)&&m[f]&&m[f].hasRendered&&m[f].destroy();H(b,"data-highcharts-chart",this.index);b.innerHTML="";c.skipClone||b.offsetWidth||this.cloneRenderTo();
-this.getChartSize();f=this.chartWidth;d=this.chartHeight;e=z({position:"relative",overflow:"hidden",width:f+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},c.style);this.container=b=t("div",{id:n},e,this.renderToClone||b);this._cursor=b.style.cursor;this.renderer=new (a[c.renderer]||M)(b,f,d,null,c.forExport,g.exporting&&g.exporting.allowHTML);this.setClassName(c.className);this.renderer.setStyle(c.style);this.renderer.chartIndex=this.index},
-getMargins:function(a){var b=this.spacing,g=this.margin,c=this.titleOffset;this.resetMargins();c&&!d(g[0])&&(this.plotTop=Math.max(this.plotTop,c+this.options.title.margin+b[0]));this.legend.display&&this.legend.adjustMargins(g,b);this.extraMargin&&(this[this.extraMargin.type]=(this[this.extraMargin.type]||0)+this.extraMargin.value);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],g=a.margin;a.hasCartesianSeries&&
-l(a.axes,function(a){a.visible&&a.getOffset()});l(f,function(c,f){d(g[f])||(a[c]+=b[f])});a.setChartSize()},reflow:function(a){var b=this,g=b.options.chart,f=b.renderTo,n=d(g.width),h=g.width||c(f,"width"),g=g.height||c(f,"height"),f=a?a.target:P;if(!n&&!b.isPrinting&&h&&g&&(f===P||f===w)){if(h!==b.containerWidth||g!==b.containerHeight)clearTimeout(b.reflowTimeout),b.reflowTimeout=Q(function(){b.container&&b.setSize(void 0,void 0,!1)},a?100:0);b.containerWidth=h;b.containerHeight=g}},initReflow:function(){var a=
-this,b;b=D(P,"resize",function(b){a.reflow(b)});D(a,"destroy",b)},setSize:function(b,g,c){var f=this,d=f.renderer;f.isResizing+=1;a.setAnimation(c,f);f.oldChartHeight=f.chartHeight;f.oldChartWidth=f.chartWidth;void 0!==b&&(f.options.chart.width=b);void 0!==g&&(f.options.chart.height=g);f.getChartSize();b=d.globalAnimation;(b?A:e)(f.container,{width:f.chartWidth+"px",height:f.chartHeight+"px"},b);f.setChartSize(!0);d.setSize(f.chartWidth,f.chartHeight,c);l(f.axes,function(a){a.isDirty=!0;a.setScale()});
-f.isDirtyLegend=!0;f.isDirtyBox=!0;f.layOutTitles();f.getMargins();f.redraw(c);f.oldChartHeight=null;u(f,"resize");Q(function(){f&&u(f,"endResize",null,function(){--f.isResizing})},G(b).duration)},setChartSize:function(a){var b=this.inverted,g=this.renderer,c=this.chartWidth,f=this.chartHeight,d=this.options.chart,n=this.spacing,h=this.clipOffset,e,y,r,F;this.plotLeft=e=Math.round(this.plotLeft);this.plotTop=y=Math.round(this.plotTop);this.plotWidth=r=Math.max(0,Math.round(c-e-this.marginRight));
-this.plotHeight=F=Math.max(0,Math.round(f-y-this.marginBottom));this.plotSizeX=b?F:r;this.plotSizeY=b?r:F;this.plotBorderWidth=d.plotBorderWidth||0;this.spacingBox=g.spacingBox={x:n[3],y:n[0],width:c-n[3]-n[1],height:f-n[0]-n[2]};this.plotBox=g.plotBox={x:e,y:y,width:r,height:F};c=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(c,h[3])/2);g=Math.ceil(Math.max(c,h[0])/2);this.clipBox={x:b,y:g,width:Math.floor(this.plotSizeX-Math.max(c,h[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-
-Math.max(c,h[2])/2-g))};a||l(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=this,b=a.options.chart;l(["margin","spacing"],function(g){var c=b[g],f=r(c)?c:[c,c,c,c];l(["Top","Right","Bottom","Left"],function(c,d){a[g][d]=y(b[g+c],f[d])})});l(f,function(b,g){a[b]=y(a.margin[g],a.spacing[g])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,g=this.chartWidth,c=this.chartHeight,f=this.chartBackground,
-d=this.plotBackground,n=this.plotBorder,h,e=this.plotBGImage,y=a.backgroundColor,r=a.plotBackgroundColor,l=a.plotBackgroundImage,F,v=this.plotLeft,q=this.plotTop,I=this.plotWidth,u=this.plotHeight,m=this.plotBox,k=this.clipRect,z=this.clipBox,L="animate";f||(this.chartBackground=f=b.rect().addClass("highcharts-background").add(),L="attr");h=a.borderWidth||0;F=h+(a.shadow?8:0);y={fill:y||"none"};if(h||f["stroke-width"])y.stroke=a.borderColor,y["stroke-width"]=h;f.attr(y).shadow(a.shadow);f[L]({x:F/
-2,y:F/2,width:g-F-h%2,height:c-F-h%2,r:a.borderRadius});L="animate";d||(L="attr",this.plotBackground=d=b.rect().addClass("highcharts-plot-background").add());d[L](m);d.attr({fill:r||"none"}).shadow(a.plotShadow);l&&(e?e.animate(m):this.plotBGImage=b.image(l,v,q,I,u).add());k?k.animate({width:z.width,height:z.height}):this.clipRect=b.clipRect(z);L="animate";n||(L="attr",this.plotBorder=n=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());n.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||
-0,fill:"none"});n[L](n.crisp({x:v,y:q,width:I,height:u},-n.strokeWidth()));this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,g,c=a.options.series,f,d;l(["inverted","angular","polar"],function(n){g=I[b.type||b.defaultSeriesType];d=b[n]||g&&g.prototype[n];for(f=c&&c.length;!d&&f--;)(g=I[c[f].type])&&g.prototype[n]&&(d=!0);a[n]=d})},linkSeries:function(){var a=this,b=a.series;l(b,function(a){a.linkedSeries.length=0});l(b,function(b){var g=b.options.linkedTo;h(g)&&(g=":previous"===
-g?a.series[b.index-1]:a.get(g))&&g.linkedParent!==b&&(g.linkedSeries.push(b),b.linkedParent=g,b.visible=y(b.options.visible,g.options.visible,b.visible))})},renderSeries:function(){l(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&l(b.items,function(g){var c=z(b.style,g.style),f=L(c.left)+a.plotLeft,d=L(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(g.html,f,d).attr({zIndex:2}).css(c).add()})},render:function(){var a=
-this.axes,b=this.renderer,g=this.options,c,f,d;this.setTitle();this.legend=new E(this,g.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();g=this.plotWidth;c=this.plotHeight-=21;l(a,function(a){a.setScale()});this.getAxisMargins();f=1.1<g/this.plotWidth;d=1.05<c/this.plotHeight;if(f||d)l(a,function(a){(a.horiz&&f||!a.horiz&&d)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&l(a,function(a){a.visible&&a.render()});this.seriesGroup||
-(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=v(!0,this.options.credits,a);a.enabled&&!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(P.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),
-this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,g=b.axes,c=b.series,f=b.container,d,n=f&&f.parentNode;u(b,"destroy");m[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");F(b);for(d=g.length;d--;)g[d]=g[d].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(d=c.length;d--;)c[d]=c[d].destroy();l("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),
-function(a){var g=b[a];g&&g.destroy&&(b[a]=g.destroy())});f&&(f.innerHTML="",F(f),n&&p(f));for(d in b)delete b[d]},isReadyToRender:function(){var a=this;return J||P!=P.top||"complete"===w.readyState?!0:(w.attachEvent("onreadystatechange",function(){w.detachEvent("onreadystatechange",a.firstRender);"complete"===w.readyState&&a.firstRender()}),!1)},firstRender:function(){var a=this,b=a.options;if(a.isReadyToRender()){a.getContainer();u(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();
-a.getAxes();l(b.series||[],function(b){a.initSeries(b)});a.linkSeries();u(a,"beforeRender");n&&(a.pointer=new n(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.cloneRenderTo(!0)}},onload:function(){l([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);u(this,"load");u(this,"render");d(this.index)&&!1!==this.options.chart.reflow&&this.initReflow();this.onload=null}}})(K);(function(a){var D,A=a.each,G=a.extend,H=a.erase,w=a.fireEvent,
-k=a.format,t=a.isArray,x=a.isNumber,p=a.pick,m=a.removeEvent;D=a.Point=function(){};D.prototype={init:function(a,d,l){this.series=a;this.color=a.color;this.applyOptions(d,l);a.options.colorByPoint?(d=a.options.colors||a.chart.options.colors,this.color=this.color||d[a.colorCounter],d=d.length,l=a.colorCounter,a.colorCounter++,a.colorCounter===d&&(a.colorCounter=0)):l=a.colorIndex;this.colorIndex=p(this.colorIndex,l);a.chart.pointCount++;return this},applyOptions:function(a,d){var e=this.series,m=e.options.pointValKey||
-e.pointValKey;a=D.prototype.optionsToObject.call(this,a);G(this,a);this.options=this.options?G(this.options,a):a;a.group&&delete this.group;m&&(this.y=this[m]);this.isNull=p(this.isValid&&!this.isValid(),null===this.x||!x(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===d?e.autoIncrement(this):d);return this},optionsToObject:function(a){var d={},e=this.series,m=e.options.keys,
-b=m||e.pointArrayMap||["y"],u=b.length,c=0,k=0;if(x(a)||null===a)d[b[0]]=a;else if(t(a))for(!m&&a.length>u&&(e=typeof a[0],"string"===e?d.name=a[0]:"number"===e&&(d.x=a[0]),c++);k<u;)m&&void 0===a[c]||(d[b[k]]=a[c]),c++,k++;else"object"===typeof a&&(d=a,a.dataLabels&&(e._hasPointLabels=!0),a.marker&&(e._hasPointMarkers=!0));return d},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":
-"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||"y",l=0,m;for(m=d[l];this[a]>=m.value;)m=d[++l];m&&m.color&&!this.options.color&&(this.color=m.color);return m},destroy:function(){var a=this.series.chart,d=a.hoverPoints,l;a.pointCount--;d&&(this.setState(),H(d,this),d.length||
-(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)m(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(l in this)this[l]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,l=6;l--;)d=a[l],this[d]&&(this[d]=this[d].destroy())},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}},tooltipFormatter:function(a){var d=this.series,e=d.tooltipOptions,m=p(e.valueDecimals,""),b=e.valuePrefix||"",u=e.valueSuffix||"";A(d.pointArrayMap||["y"],function(c){c="{point."+c;if(b||u)a=a.replace(c+"}",b+c+"}"+u);a=a.replace(c+"}",c+":,."+m+"f}")});return k(a,{point:this,series:this.series})},firePointEvent:function(a,d,l){var e=this,b=this.series.options;(b.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&
-this.importEvents();"click"===a&&b.allowPointSelect&&(l=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});w(this,a,d,l)},visible:!0}})(K);(function(a){var D=a.addEvent,A=a.animObject,G=a.arrayMax,H=a.arrayMin,w=a.correctFloat,k=a.Date,t=a.defaultOptions,x=a.defaultPlotOptions,p=a.defined,m=a.each,e=a.erase,d=a.extend,l=a.fireEvent,z=a.grep,b=a.isArray,u=a.isNumber,c=a.isString,C=a.merge,q=a.pick,r=a.removeEvent,h=a.splat,E=a.SVGElement,f=a.syncTimeout,v=a.win;a.Series=a.seriesType("line",
-null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",
-x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,f,n,g=a.series,h;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();d(c,{name:b.name,
-state:"",visible:!1!==b.visible,selected:!0===b.selected});n=b.events;for(f in n)D(c,f,n[f]);if(n&&n.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();m(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);g.length&&(h=g[g.length-1]);c._i=q(h&&h._i,-1)+1;a.orderSeries(this.insert(g))},insert:function(a){var b=this.options.index,c;if(u(b)){for(c=a.length;c--;)if(b>=q(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 q(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,f=b.chart,d;m(b.axisTypes||[],function(n){m(f[n],function(a){d=a.options;if(c[n]===d.index||void 0!==c[n]&&c[n]===d.id||void 0===c[n]&&0===d.index)b.insert(a.series),b[n]=a,a.isDirty=!0});b[n]||b.optionalAxis===n||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,f=arguments,d=u(b)?function(g){var f="y"===g&&c.toYData?c.toYData(a):
-a[g];c[g+"Data"][b]=f}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(f,2))};m(c.parallelArrays,d)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,f=a.pointIntervalUnit,b=q(b,a.pointStart,0);this.pointInterval=c=q(this.pointInterval,a.pointInterval,1);f&&(a=new k(b),"day"===f?a=+a[k.hcSetDate](a[k.hcGetDate]()+c):"month"===f?a=+a[k.hcSetMonth](a[k.hcGetMonth]()+c):"year"===f&&(a=+a[k.hcSetFullYear](a[k.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},
-setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},f=b.plotOptions||{},d=c[this.type];this.userOptions=a;c=C(d,c.series,a);this.tooltipOptions=C(t.tooltip,t.plotOptions[this.type].tooltip,b.tooltip,f.series&&f.series.tooltip,f[this.type]&&f[this.type].tooltip,a.tooltip);null===d.marker&&delete c.marker;this.zoneAxis=c.zoneAxis;a=this.zones=(c.zones||[]).slice();!c.negativeColor&&!c.negativeFillColor||c.zones||a.push({value:c[this.zoneAxis+"Threshold"]||c.threshold||
-0,className:"highcharts-negative",color:c.negativeColor,fillColor:c.negativeFillColor});a.length&&p(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return c},getCyclic:function(a,b,c){var f,d=this.chart,g=this.userOptions,n=a+"Index",h=a+"Counter",e=c?c.length:q(d.options.chart[a+"Count"],d[a+"Count"]);b||(f=q(g[n],g["_"+n]),p(f)||(d.series.length||(d[h]=0),g["_"+n]=f=d[h]%e,d[h]+=1),c&&(b=c[f]));void 0!==f&&(this[n]=f);this[a]=b},getColor:function(){this.options.colorByPoint?
-this.options.color=null:this.getCyclic("color",this.options.color||x[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(f,d,h,e){var n=this,g=n.points,r=g&&g.length||0,y,l=n.options,F=n.chart,v=null,k=n.xAxis,z=l.turboThreshold,p=this.xData,E=this.yData,t=(y=n.pointArrayMap)&&y.length;f=f||[];y=f.length;d=q(d,!0);if(!1!==e&&y&&r===y&&!n.cropped&&
-!n.hasGroupedData&&n.visible)m(f,function(a,b){g[b].update&&a!==l.data[b]&&g[b].update(a,!1,null,!1)});else{n.xIncrement=null;n.colorCounter=0;m(this.parallelArrays,function(a){n[a+"Data"].length=0});if(z&&y>z){for(h=0;null===v&&h<y;)v=f[h],h++;if(u(v))for(h=0;h<y;h++)p[h]=this.autoIncrement(),E[h]=f[h];else if(b(v))if(t)for(h=0;h<y;h++)v=f[h],p[h]=v[0],E[h]=v.slice(1,t+1);else for(h=0;h<y;h++)v=f[h],p[h]=v[0],E[h]=v[1];else a.error(12)}else for(h=0;h<y;h++)void 0!==f[h]&&(v={series:n},n.pointClass.prototype.applyOptions.apply(v,
-[f[h]]),n.updateParallelArrays(v,h));c(E[0])&&a.error(14,!0);n.data=[];n.options.data=n.userOptions.data=f;for(h=r;h--;)g[h]&&g[h].destroy&&g[h].destroy();k&&(k.minRange=k.userMinRange);n.isDirty=F.isDirtyBox=!0;n.isDirtyData=!!g;h=!1}"point"===l.legendType&&(this.processData(),this.generatePoints());d&&F.redraw(h)},processData:function(b){var c=this.xData,f=this.yData,d=c.length,n;n=0;var g,h,e=this.xAxis,r,l=this.options;r=l.cropThreshold;var v=this.getExtremesFromAll||l.getExtremesFromAll,q=this.isCartesian,
-l=e&&e.val2lin,u=e&&e.isLog,m,k;if(q&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!b)return!1;e&&(b=e.getExtremes(),m=b.min,k=b.max);if(q&&this.sorted&&!v&&(!r||d>r||this.forceCrop))if(c[d-1]<m||c[0]>k)c=[],f=[];else if(c[0]<m||c[d-1]>k)n=this.cropData(this.xData,this.yData,m,k),c=n.xData,f=n.yData,n=n.start,g=!0;for(r=c.length||1;--r;)d=u?l(c[r])-l(c[r-1]):c[r]-c[r-1],0<d&&(void 0===h||d<h)?h=d:0>d&&this.requireSorting&&a.error(15);this.cropped=g;this.cropStart=n;this.processedXData=c;this.processedYData=
-f;this.closestPointRange=h},cropData:function(a,b,c,f){var d=a.length,g=0,n=d,h=q(this.cropShoulder,1),e;for(e=0;e<d;e++)if(a[e]>=c){g=Math.max(0,e-h);break}for(c=e;c<d;c++)if(a[c]>f){n=c+h;break}return{xData:a.slice(g,n),yData:b.slice(g,n),start:g,end:n}},generatePoints:function(){var a=this.options.data,b=this.data,c,f=this.processedXData,d=this.processedYData,g=this.pointClass,e=f.length,r=this.cropStart||0,l,v=this.hasGroupedData,q,u=[],m;b||v||(b=[],b.length=a.length,b=this.data=b);for(m=0;m<
-e;m++)l=r+m,v?(q=(new g).init(this,[f[m]].concat(h(d[m]))),q.dataGroup=this.groupMap[m]):(q=b[l])||void 0===a[l]||(b[l]=q=(new g).init(this,a[l],f[m])),q.index=l,u[m]=q;if(b&&(e!==(c=b.length)||v))for(m=0;m<c;m++)m!==r||v||(m+=e),b[m]&&(b[m].destroyElements(),b[m].plotX=void 0);this.data=b;this.points=u},getExtremes:function(a){var c=this.yAxis,f=this.processedXData,d,h=[],g=0;d=this.xAxis.getExtremes();var n=d.min,e=d.max,r,l,v,q;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(q=0;q<
-d;q++)if(l=f[q],v=a[q],r=(u(v,!0)||b(v))&&(!c.positiveValuesOnly||v.length||0<v),l=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(f[q+1]||l)>=n&&(f[q-1]||l)<=e,r&&l)if(r=v.length)for(;r--;)null!==v[r]&&(h[g++]=v[r]);else h[g++]=v;this.dataMin=H(h);this.dataMax=G(h)},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,f=c.categories,d=this.yAxis,g=this.points,h=g.length,e=!!this.modifyValue,r=a.pointPlacement,
-l="between"===r||u(r),v=a.threshold,m=a.startFromThreshold?v:0,k,z,E,t,C=Number.MAX_VALUE;"between"===r&&(r=.5);u(r)&&(r*=q(a.pointRange||c.pointRange));for(a=0;a<h;a++){var x=g[a],A=x.x,D=x.y;z=x.low;var G=b&&d.stacks[(this.negStacks&&D<(m?0:v)?"-":"")+this.stackKey],H;d.positiveValuesOnly&&null!==D&&0>=D&&(x.isNull=!0);x.plotX=k=w(Math.min(Math.max(-1E5,c.translate(A,0,0,0,1,r,"flags"===this.type)),1E5));b&&this.visible&&!x.isNull&&G&&G[A]&&(t=this.getStackIndicator(t,A,this.index),H=G[A],D=H.points[t.key],
-z=D[0],D=D[1],z===m&&t.key===G[A].base&&(z=q(v,d.min)),d.positiveValuesOnly&&0>=z&&(z=null),x.total=x.stackTotal=H.total,x.percentage=H.total&&x.y/H.total*100,x.stackY=D,H.setOffset(this.pointXOffset||0,this.barW||0));x.yBottom=p(z)?d.translate(z,0,1,0,1):null;e&&(D=this.modifyValue(D,x));x.plotY=z="number"===typeof D&&Infinity!==D?Math.min(Math.max(-1E5,d.translate(D,0,1,0,1)),1E5):void 0;x.isInside=void 0!==z&&0<=z&&z<=d.len&&0<=k&&k<=c.len;x.clientX=l?w(c.translate(A,0,0,0,1,r)):k;x.negative=x.y<
-(v||0);x.category=f&&void 0!==f[x.x]?f[x.x]:x.x;x.isNull||(void 0!==E&&(C=Math.min(C,Math.abs(k-E))),E=k);x.zone=this.zones.length&&x.getZone()}this.closestPointRangePx=C},getValidPoints:function(a,b){var c=this.chart;return z(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,f=b.renderer,d=b.inverted,g=this.clipBox,h=g||b.clipBox,n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,h.height,
-c.xAxis,c.yAxis].join(),e=b[n],r=b[n+"m"];e||(a&&(h.width=0,b[n+"m"]=r=f.clipRect(-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[n]=e=f.clipRect(h),e.count={length:0});a&&!e.count[this.index]&&(e.count[this.index]=!0,e.count.length+=1);!1!==c.clip&&(this.group.clip(a||g?e:b.clipRect),this.markerGroup.clip(r),this.sharedClipKey=n);a||(e.count[this.index]&&(delete e.count[this.index],--e.count.length),0===e.count.length&&n&&b[n]&&(g||(b[n]=b[n].destroy()),b[n+"m"]&&(this.markerGroup.clip(),
-b[n+"m"]=b[n+"m"].destroy())))},animate:function(a){var b=this.chart,c=A(this.options.animation),f;a?this.setClip(c):(f=this.sharedClipKey,(a=b[f])&&a.animate({width:b.plotSizeX},c),b[f+"m"]&&b[f+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();l(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,f,d,g,h=this.options.marker,e,r,l,v,m=this.markerGroup,k=q(h.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=2*h.radius);
-if(!1!==h.enabled||this._hasPointMarkers)for(f=0;f<a.length;f++)d=a[f],c=d.plotY,g=d.graphic,e=d.marker||{},r=!!d.marker,l=k&&void 0===e.enabled||e.enabled,v=d.isInside,l&&u(c)&&null!==d.y?(c=q(e.symbol,this.symbol),d.hasImage=0===c.indexOf("url"),l=this.markerAttribs(d,d.selected&&"select"),g?g[v?"show":"hide"](!0).animate(l):v&&(0<l.width||d.hasImage)&&(d.graphic=g=b.renderer.symbol(c,l.x,l.y,l.width,l.height,r?e:h).add(m)),g&&g.attr(this.pointAttribs(d,d.selected&&"select")),g&&g.addClass(d.getClassName(),
-!0)):g&&(d.graphic=g.destroy())},markerAttribs:function(a,b){var c=this.options.marker,f=a.marker||{},d=q(f.radius,c.radius);b&&(c=c.states[b],b=f.states&&f.states[b],d=q(b&&b.radius,c&&c.radius,d+(c&&c.radiusPlus||0)));a.hasImage&&(d=0);a={x:Math.floor(a.plotX)-d,y:a.plotY-d};d&&(a.width=a.height=2*d);return a},pointAttribs:function(a,b){var c=this.options.marker,f=a&&a.options,d=f&&f.marker||{},g=this.color,h=f&&f.color,n=a&&a.color,f=q(d.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;g=h||a||
-n||g;a=d.fillColor||c.fillColor||g;g=d.lineColor||c.lineColor||g;b&&(c=c.states[b],b=d.states&&d.states[b]||{},f=q(b.lineWidth,c.lineWidth,f+q(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||a,g=b.lineColor||c.lineColor||g);return{stroke:g,"stroke-width":f,fill:a}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(v.navigator.userAgent),f,d=a.data||[],g,h,q;l(a,"destroy");r(a);m(a.axisTypes||[],function(b){(q=a[b])&&q.series&&(e(q.series,a),q.isDirty=q.forceRedraw=
-!0)});a.legendItem&&a.chart.legend.destroyItem(a);for(f=d.length;f--;)(g=d[f])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);for(h in a)a[h]instanceof E&&!a[h].survive&&(f=c&&"group"===h?"hide":"destroy",a[h][f]());b.hoverSeries===a&&(b.hoverSeries=null);e(b.series,a);b.orderSeries();for(h in a)delete a[h]},getGraphPath:function(a,b,c){var f=this,d=f.options,g=d.step,h,n=[],e=[],r;a=a||f.points;(h=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&h&&(g=4-g);!d.connectNulls||
-b||c||(a=this.getValidPoints(a));m(a,function(h,l){var v=h.plotX,y=h.plotY,q=a[l-1];(h.leftCliff||q&&q.rightCliff)&&!c&&(r=!0);h.isNull&&!p(b)&&0<l?r=!d.connectNulls:h.isNull&&!b?r=!0:(0===l||r?l=["M",h.plotX,h.plotY]:f.getPointSpline?l=f.getPointSpline(a,h,l):g?(l=1===g?["L",q.plotX,y]:2===g?["L",(q.plotX+v)/2,q.plotY,"L",(q.plotX+v)/2,y]:["L",v,q.plotY],l.push("L",v,y)):l=["L",v,y],e.push(h.x),g&&e.push(h.x),n.push.apply(n,l),r=!1)});n.xMap=e;return f.graphPath=n},drawGraph:function(){var a=this,
-b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),f=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]];m(this.zones,function(c,g){f.push(["zone-graph-"+g,"highcharts-graph highcharts-zone-graph-"+g+" "+(c.className||""),c.color||a.color,c.dashStyle||b.dashStyle])});m(f,function(f,g){var d=f[0],h=a[d];h?(h.endX=c.xMap,h.animate({d:c})):c.length&&(a[d]=a.chart.renderer.path(c).addClass(f[1]).attr({zIndex:1}).add(a.group),h={stroke:f[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&
-a.color||"none"},f[3]?h.dashstyle=f[3]:"square"!==b.linecap&&(h["stroke-linecap"]=h["stroke-linejoin"]="round"),h=a[d].attr(h).shadow(2>g&&b.shadow));h&&(h.startX=c.xMap,h.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,f=this.zones,d,g,h=this.clips||[],e,r=this.graph,l=this.area,v=Math.max(b.chartWidth,b.chartHeight),u=this[(this.zoneAxis||"y")+"Axis"],k,z,E=b.inverted,p,t,C,x,w=!1;f.length&&(r||l)&&u&&void 0!==u.min&&(z=u.reversed,p=u.horiz,r&&r.hide(),l&&l.hide(),
-k=u.getExtremes(),m(f,function(f,n){d=z?p?b.plotWidth:0:p?0:u.toPixels(k.min);d=Math.min(Math.max(q(g,d),0),v);g=Math.min(Math.max(Math.round(u.toPixels(q(f.value,k.max),!0)),0),v);w&&(d=g=u.toPixels(k.max));t=Math.abs(d-g);C=Math.min(d,g);x=Math.max(d,g);u.isXAxis?(e={x:E?x:C,y:0,width:t,height:v},p||(e.x=b.plotHeight-e.x)):(e={x:0,y:E?x:C,width:v,height:t},p&&(e.y=b.plotWidth-e.y));E&&c.isVML&&(e=u.isXAxis?{x:0,y:z?C:x,height:e.width,width:b.chartWidth}:{x:e.y-b.plotLeft-b.spacingBox.x,y:0,width:e.height,
-height:b.chartHeight});h[n]?h[n].animate(e):(h[n]=c.clipRect(e),r&&a["zone-graph-"+n].clip(h[n]),l&&a["zone-area-"+n].clip(h[n]));w=f.value>k.max}),this.clips=h)},invertGroups:function(a){function b(){m(["group","markerGroup"],function(b){c[b]&&(f.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,f=c.chart,d;c.xAxis&&(d=D(f,"resize",b),D(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,f,d){var g=
-this[a],h=!g;h&&(this[a]=g=this.chart.renderer.g(b).attr({zIndex:f||.1}).add(d),g.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));g.attr({visibility:c})[h?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;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,h=!!a.animate&&b.renderer.isSVG&&A(d.animation).duration,g=a.visible?"inherit":"hidden",e=d.zIndex,r=a.hasRendered,l=b.seriesGroup,v=b.inverted;c=a.plotGroup("group","series",g,e,l);a.markerGroup=a.plotGroup("markerGroup","markers",g,e,l);h&&a.animate(!0);c.inverted=a.isCartesian?v:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(v);
-!1===d.clip||a.sharedClipKey||r||c.clip(b.clipRect);h&&a.animate();r||(a.animationTimeout=f(function(){a.afterAnimate()},h));a.isDirty=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,f=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:q(f&&f.left,a.plotLeft),translateY:q(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX",
-"plotY"],searchPoint:function(a,b){var c=this.xAxis,f=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?f.len-a.chartX+f.pos:a.chartY-f.pos},b)},buildKDTree:function(){function a(c,f,g){var d,h;if(h=c&&c.length)return d=b.kdAxisArray[f%g],c.sort(function(a,b){return a[d]-b[d]}),h=Math.floor(h/2),{point:c[h],left:a(c.slice(0,h),f+1,g),right:a(c.slice(h+1),f+1,g)}}this.buildingKdTree=!0;var b=this,c=b.kdDimensions;delete b.kdTree;f(function(){b.kdTree=
-a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,e,n){var r=b.point,l=f.kdAxisArray[e%n],v,q,y=r;q=p(a[d])&&p(r[d])?Math.pow(a[d]-r[d],2):null;v=p(a[g])&&p(r[g])?Math.pow(a[g]-r[g],2):null;v=(q||0)+(v||0);r.dist=p(v)?Math.sqrt(v):Number.MAX_VALUE;r.distX=p(q)?Math.sqrt(q):Number.MAX_VALUE;l=a[l]-r[l];v=0>l?"left":"right";q=0>l?"right":"left";b[v]&&(v=c(a,b[v],e+1,n),y=v[h]<y[h]?v:r);b[q]&&Math.sqrt(l*l)<y[h]&&(a=c(a,
-b[q],e+1,n),y=a[h]<y[h]?a:y);return y}var f=this,d=this.kdAxisArray[0],g=this.kdAxisArray[1],h=b?"distX":"dist";this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,this.kdDimensions,this.kdDimensions)}})})(K);(function(a){function D(a,e,d,l,k){var b=a.chart.inverted;this.axis=a;this.isNegative=d;this.options=e;this.x=l;this.total=null;this.points={};this.stack=k;this.rightCliff=this.leftCliff=0;this.alignOptions={align:e.align||(b?d?"left":"right":"center"),
-verticalAlign:e.verticalAlign||(b?"middle":d?"bottom":"top"),y:p(e.y,b?4:d?14:-6),x:p(e.x,b?d?-6:6:0)};this.textAlign=e.textAlign||(b?d?"right":"left":"center")}var A=a.Axis,G=a.Chart,H=a.correctFloat,w=a.defined,k=a.destroyObjectProperties,t=a.each,x=a.format,p=a.pick;a=a.Series;D.prototype={destroy:function(){k(this,this.axis)},render:function(a){var e=this.options,d=e.format,d=d?x(d,this):e.formatter.call(this);this.label?this.label.attr({text:d,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(d,
-null,null,e.useHTML).css(e.style).attr({align:this.textAlign,rotation:e.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,e){var d=this.axis,l=d.chart,m=l.inverted,b=d.reversed,b=this.isNegative&&!b||!this.isNegative&&b,u=d.translate(d.usePercentage?100:this.total,0,0,0,1),d=d.translate(0),d=Math.abs(u-d);a=l.xAxis[0].translate(this.x)+a;var c=l.plotHeight,m={x:m?b?u:u-d:a,y:m?c-a-e:b?c-u-d:c-u,width:m?d:e,height:m?e:d};if(e=this.label)e.align(this.alignOptions,null,m),m=e.alignAttr,e[!1===
-this.options.crop||l.isInsidePlot(m.x,m.y)?"show":"hide"](!0)}};G.prototype.getStacks=function(){var a=this;t(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});t(a.series,function(e){!e.options.stacking||!0!==e.visible&&!1!==a.options.chart.ignoreHiddenSeries||(e.stackKey=e.type+p(e.options.stack,""))})};A.prototype.buildStacks=function(){var a=this.series,e,d=p(this.options.reversedStacks,!0),l=a.length,k;if(!this.isXAxis){this.usePercentage=!1;for(k=l;k--;)a[d?k:l-k-1].setStackedPoints();
-for(k=l;k--;)e=a[d?k:l-k-1],e.setStackCliffs&&e.setStackCliffs();if(this.usePercentage)for(k=0;k<l;k++)a[k].setPercentStacks()}};A.prototype.renderStackTotals=function(){var a=this.chart,e=a.renderer,d=this.stacks,l,k,b=this.stackTotalGroup;b||(this.stackTotalGroup=b=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());b.translate(a.plotLeft,a.plotTop);for(l in d)for(k in a=d[l],a)a[k].render(b)};A.prototype.resetStacks=function(){var a=this.stacks,e,d;if(!this.isXAxis)for(e in a)for(d in a[e])a[e][d].touched<
-this.stacksTouched?(a[e][d].destroy(),delete a[e][d]):(a[e][d].total=null,a[e][d].cum=null)};A.prototype.cleanStacks=function(){var a,e,d;if(!this.isXAxis)for(e in this.oldStacks&&(a=this.stacks=this.oldStacks),a)for(d in a[e])a[e][d].cum=a[e][d].total};a.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var a=this.processedXData,e=this.processedYData,d=[],l=e.length,k=this.options,b=k.threshold,u=k.startFromThreshold?
-b:0,c=k.stack,k=k.stacking,t=this.stackKey,q="-"+t,r=this.negStacks,h=this.yAxis,E=h.stacks,f=h.oldStacks,v,n,y,x,F,I,g;h.stacksTouched+=1;for(F=0;F<l;F++)I=a[F],g=e[F],v=this.getStackIndicator(v,I,this.index),x=v.key,y=(n=r&&g<(u?0:b))?q:t,E[y]||(E[y]={}),E[y][I]||(f[y]&&f[y][I]?(E[y][I]=f[y][I],E[y][I].total=null):E[y][I]=new D(h,h.options.stackLabels,n,I,c)),y=E[y][I],null!==g&&(y.points[x]=y.points[this.index]=[p(y.cum,u)],w(y.cum)||(y.base=x),y.touched=h.stacksTouched,0<v.index&&!1===this.singleStacks&&
-(y.points[x][0]=y.points[this.index+","+I+",0"][0])),"percent"===k?(n=n?t:q,r&&E[n]&&E[n][I]?(n=E[n][I],y.total=n.total=Math.max(n.total,y.total)+Math.abs(g)||0):y.total=H(y.total+(Math.abs(g)||0))):y.total=H(y.total+(g||0)),y.cum=p(y.cum,u)+(g||0),null!==g&&(y.points[x].push(y.cum),d[F]=y.cum);"percent"===k&&(h.usePercentage=!0);this.stackedYData=d;h.oldStacks={}}};a.prototype.setPercentStacks=function(){var a=this,e=a.stackKey,d=a.yAxis.stacks,l=a.processedXData,k;t([e,"-"+e],function(b){for(var e=
-l.length,c,m;e--;)if(c=l[e],k=a.getStackIndicator(k,c,a.index,b),c=(m=d[b]&&d[b][c])&&m.points[k.key])m=m.total?100/m.total:0,c[0]=H(c[0]*m),c[1]=H(c[1]*m),a.stackedYData[e]=c[1]})};a.prototype.getStackIndicator=function(a,e,d,l){!w(a)||a.x!==e||l&&a.key!==l?a={x:e,index:0,key:l}:a.index++;a.key=[d,e,a.index].join();return a}})(K);(function(a){var D=a.addEvent,A=a.animate,G=a.Axis,H=a.createElement,w=a.css,k=a.defined,t=a.each,x=a.erase,p=a.extend,m=a.fireEvent,e=a.inArray,d=a.isNumber,l=a.isObject,
-z=a.merge,b=a.pick,u=a.Point,c=a.Series,C=a.seriesTypes,q=a.setAnimation,r=a.splat;p(a.Chart.prototype,{addSeries:function(a,c,f){var d,h=this;a&&(c=b(c,!0),m(h,"addSeries",{options:a},function(){d=h.initSeries(a);h.isDirtyLegend=!0;h.linkSeries();c&&h.redraw(f)}));return d},addAxis:function(a,c,f,d){var h=c?"xAxis":"yAxis",e=this.options;a=z(a,{index:this[h].length,isX:c});new G(this,a);e[h]=r(e[h]||{});e[h].push(a);b(f,!0)&&this.redraw(d)},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,
-h=c.loading,e=function(){d&&w(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=H("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=H("span",{className:"highcharts-loading-inner"},null,d),D(b,"redraw",e));d.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;w(d,p(h.style,{zIndex:10}));w(b.loadingSpan,h.labelStyle);b.loadingShown||(w(d,{opacity:0,display:""}),A(d,{opacity:h.style.opacity||
-.5},{duration:h.showDuration||0}));b.loadingShown=!0;e()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",A(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){w(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
-propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions".split(" "),update:function(a,c){var f,h={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},n=a.chart,l,q;if(n){z(!0,this.options.chart,n);"className"in n&&this.setClassName(n.className);if("inverted"in n||"polar"in n)this.propFromSeries(),l=!0;for(f in n)n.hasOwnProperty(f)&&(-1!==e("chart."+f,this.propsRequireUpdateSeries)&&(q=!0),-1!==e(f,this.propsRequireDirtyBox)&&(this.isDirtyBox=
-!0));"style"in n&&this.renderer.setStyle(n.style)}for(f in a){if(this[f]&&"function"===typeof this[f].update)this[f].update(a[f],!1);else if("function"===typeof this[h[f]])this[h[f]](a[f]);"chart"!==f&&-1!==e(f,this.propsRequireUpdateSeries)&&(q=!0)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&z(!0,this.options.plotOptions,a.plotOptions);t(["xAxis","yAxis","series"],function(b){a[b]&&t(r(a[b]),function(a,c){(c=k(a.id)&&this.get(a.id)||this[b][c])&&c.coll===b&&c.update(a,!1)},this)},this);
-l&&t(this.axes,function(a){a.update({},!1)});q&&t(this.series,function(a){a.update({},!1)});a.loading&&z(!0,this.options.loading,a.loading);f=n&&n.width;n=n&&n.height;d(f)&&f!==this.chartWidth||d(n)&&n!==this.chartHeight?this.setSize(f,n):b(c,!0)&&this.redraw()},setSubtitle:function(a){this.setTitle(void 0,a)}});p(u.prototype,{update:function(a,c,f,d){function h(){e.applyOptions(a);null===e.y&&v&&(e.graphic=v.destroy());l(a,!0)&&(v&&v.element&&a&&a.marker&&a.marker.symbol&&(e.graphic=v.destroy()),
-a&&a.dataLabels&&e.dataLabel&&(e.dataLabel=e.dataLabel.destroy()));q=e.index;r.updateParallelArrays(e,q);u.data[q]=l(u.data[q],!0)||l(a,!0)?e.options:a;r.isDirty=r.isDirtyData=!0;!r.fixedBox&&r.hasCartesianSeries&&(g.isDirtyBox=!0);"point"===u.legendType&&(g.isDirtyLegend=!0);c&&g.redraw(f)}var e=this,r=e.series,v=e.graphic,q,g=r.chart,u=r.options;c=b(c,!0);!1===d?h():e.firePointEvent("update",{options:a},h)},remove:function(a,b){this.series.removePoint(e(this,this.series.data),a,b)}});p(c.prototype,
-{addPoint:function(a,c,f,d){var h=this.options,e=this.data,r=this.chart,l=this.xAxis,l=l&&l.hasNames&&l.names,v=h.data,g,q,u=this.xData,k,m;c=b(c,!0);g={series:this};this.pointClass.prototype.applyOptions.apply(g,[a]);m=g.x;k=u.length;if(this.requireSorting&&m<u[k-1])for(q=!0;k&&u[k-1]>m;)k--;this.updateParallelArrays(g,"splice",k,0,0);this.updateParallelArrays(g,k);l&&g.name&&(l[m]=g.name);v.splice(k,0,a);q&&(this.data.splice(k,0,null),this.processData());"point"===h.legendType&&this.generatePoints();
-f&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),this.updateParallelArrays(g,"shift"),v.shift()));this.isDirtyData=this.isDirty=!0;c&&r.redraw(d)},removePoint:function(a,c,f){var d=this,h=d.data,e=h[a],r=d.points,l=d.chart,u=function(){r&&r.length===h.length&&r.splice(a,1);h.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(e||{series:d},"splice",a,1);e&&e.destroy();d.isDirty=!0;d.isDirtyData=!0;c&&l.redraw()};q(f,l);c=b(c,!0);e?e.firePointEvent("remove",null,u):u()},remove:function(a,
-c,f){function d(){h.destroy();e.isDirtyLegend=e.isDirtyBox=!0;e.linkSeries();b(a,!0)&&e.redraw(c)}var h=this,e=h.chart;!1!==f?m(h,"remove",null,d):d()},update:function(a,c){var f=this,d=this.chart,h=this.userOptions,e=this.oldType||this.type,r=a.type||h.type||d.options.chart.type,l=C[e].prototype,q=["group","markerGroup","dataLabelsGroup"],g;if(r&&r!==e||void 0!==a.zIndex)q.length=0;t(q,function(a){q[a]=f[a];delete f[a]});a=z(h,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},
-a);this.remove(!1,null,!1);for(g in l)this[g]=void 0;p(this,C[r||e].prototype);t(q,function(a){f[a]=q[a]});this.init(d,a);this.oldType=e;d.linkSeries();b(c,!0)&&d.redraw(!1)}});p(G.prototype,{update:function(a,c){var f=this.chart;a=f.options[this.coll][this.options.index]=z(this.userOptions,a);this.destroy(!0);this.init(f,p(a,{events:void 0}));f.isDirtyBox=!0;b(c,!0)&&f.redraw()},remove:function(a){for(var c=this.chart,f=this.coll,d=this.series,h=d.length;h--;)d[h]&&d[h].remove(!1);x(c.axes,this);
-x(c[f],this);c.options[f].splice(this.options.index,1);t(c[f],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;b(a,!0)&&c.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(K);(function(a){var D=a.color,A=a.each,G=a.map,H=a.pick,w=a.Series,k=a.seriesType;k("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(){var a=[],k=[],p=this.xAxis,m=this.yAxis,e=m.stacks[this.stackKey],d={},
-l=this.points,z=this.index,b=m.series,u=b.length,c,C=H(m.options.reversedStacks,!0)?1:-1,q,r;if(this.options.stacking){for(q=0;q<l.length;q++)d[l[q].x]=l[q];for(r in e)null!==e[r].total&&k.push(r);k.sort(function(a,b){return a-b});c=G(b,function(){return this.visible});A(k,function(b,r){var f=0,h,n;if(d[b]&&!d[b].isNull)a.push(d[b]),A([-1,1],function(a){var f=1===a?"rightNull":"leftNull",l=0,v=e[k[r+a]];if(v)for(q=z;0<=q&&q<u;)h=v.points[q],h||(q===z?d[b][f]=!0:c[q]&&(n=e[b].points[q])&&(l-=n[1]-
-n[0])),q+=C;d[b][1===a?"rightCliff":"leftCliff"]=l});else{for(q=z;0<=q&&q<u;){if(h=e[b].points[q]){f=h[1];break}q+=C}f=m.translate(f,0,1,0,1);a.push({isNull:!0,plotX:p.translate(b,0,0,0,1),x:b,plotY:f,yBottom:f})}})}return a},getGraphPath:function(a){var k=w.prototype.getGraphPath,p=this.options,m=p.stacking,e=this.yAxis,d,l,z=[],b=[],u=this.index,c,t=e.stacks[this.stackKey],q=p.threshold,r=e.getThreshold(p.threshold),h,p=p.connectNulls||"percent"===m,E=function(f,d,h){var n=a[f];f=m&&t[n.x].points[u];
-var l=n[h+"Null"]||0;h=n[h+"Cliff"]||0;var v,k,n=!0;h||l?(v=(l?f[0]:f[1])+h,k=f[0]+h,n=!!l):!m&&a[d]&&a[d].isNull&&(v=k=q);void 0!==v&&(b.push({plotX:c,plotY:null===v?r:e.getThreshold(v),isNull:n,isCliff:!0}),z.push({plotX:c,plotY:null===k?r:e.getThreshold(k),doCurve:!1}))};a=a||this.points;m&&(a=this.getStackPoints());for(d=0;d<a.length;d++)if(l=a[d].isNull,c=H(a[d].rectPlotX,a[d].plotX),h=H(a[d].yBottom,r),!l||p)p||E(d,d-1,"left"),l&&!m&&p||(b.push(a[d]),z.push({x:d,plotX:c,plotY:h})),p||E(d,d+
-1,"right");d=k.call(this,b,!0,!0);z.reversed=!0;l=k.call(this,z,!0,!0);l.length&&(l[0]="L");l=d.concat(l);k=k.call(this,b,!1,p);l.xMap=d.xMap;this.areaPath=l;return k},drawGraph:function(){this.areaPath=[];w.prototype.drawGraph.apply(this);var a=this,k=this.areaPath,p=this.options,m=[["area","highcharts-area",this.color,p.fillColor]];A(this.zones,function(e,d){m.push(["zone-area-"+d,"highcharts-area highcharts-zone-area-"+d+" "+e.className,e.color||a.color,e.fillColor||p.fillColor])});A(m,function(e){var d=
-e[0],l=a[d];l?(l.endX=k.xMap,l.animate({d:k})):(l=a[d]=a.chart.renderer.path(k).addClass(e[1]).attr({fill:H(e[3],D(e[2]).setOpacity(H(p.fillOpacity,.75)).get()),zIndex:0}).add(a.group),l.isArea=!0);l.startX=k.xMap;l.shiftUnit=p.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(K);(function(a){var D=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,G,H){var w=G.plotX,k=G.plotY,t=a[H-1];H=a[H+1];var x,p,m,e;if(t&&!t.isNull&&!1!==t.doCurve&&!G.isCliff&&H&&!H.isNull&&
-!1!==H.doCurve&&!G.isCliff){a=t.plotY;m=H.plotX;H=H.plotY;var d=0;x=(1.5*w+t.plotX)/2.5;p=(1.5*k+a)/2.5;m=(1.5*w+m)/2.5;e=(1.5*k+H)/2.5;m!==x&&(d=(e-p)*(m-w)/(m-x)+k-e);p+=d;e+=d;p>a&&p>k?(p=Math.max(a,k),e=2*k-p):p<a&&p<k&&(p=Math.min(a,k),e=2*k-p);e>H&&e>k?(e=Math.max(H,k),p=2*k-e):e<H&&e<k&&(e=Math.min(H,k),p=2*k-e);G.rightContX=m;G.rightContY=e}G=["C",D(t.rightContX,t.plotX),D(t.rightContY,t.plotY),D(x,w),D(p,k),w,k];t.rightContX=t.rightContY=null;return G}})})(K);(function(a){var D=a.seriesTypes.area.prototype,
-A=a.seriesType;A("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:D.getStackPoints,getGraphPath:D.getGraphPath,setStackCliffs:D.setStackCliffs,drawGraph:D.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(K);(function(a){var D=a.animObject,A=a.color,G=a.each,H=a.extend,w=a.isNumber,k=a.merge,t=a.pick,x=a.Series,p=a.seriesType,m=a.svg;p("column","line",{borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,
-brightness:.1,shadow:!1},select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){x.prototype.init.apply(this,arguments);var a=this,d=a.chart;d.hasRendered&&G(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=
-this,d=a.options,l=a.xAxis,k=a.yAxis,b=l.reversed,u,c={},m=0;!1===d.grouping?m=1:G(a.chart.series,function(b){var f=b.options,d=b.yAxis,h;b.type===a.type&&b.visible&&k.len===d.len&&k.pos===d.pos&&(f.stacking?(u=b.stackKey,void 0===c[u]&&(c[u]=m++),h=c[u]):!1!==f.grouping&&(h=m++),b.columnIndex=h)});var q=Math.min(Math.abs(l.transA)*(l.ordinalSlope||d.pointRange||l.closestPointRange||l.tickInterval||1),l.len),r=q*d.groupPadding,h=(q-2*r)/(m||1),d=Math.min(d.maxPointWidth||l.len,t(d.pointWidth,h*(1-
-2*d.pointPadding)));a.columnMetrics={width:d,offset:(h-d)/2+(r+((a.columnIndex||0)+(b?1:0))*h-q/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,d,l,k){var b=this.chart,e=this.borderWidth,c=-(e%2?.5:0),e=e%2?.5:1;b.inverted&&b.renderer.isVML&&(e+=1);l=Math.round(a+l)+c;a=Math.round(a)+c;k=Math.round(d+k)+e;c=.5>=Math.abs(d)&&.5<k;d=Math.round(d)+e;k-=d;c&&k&&(--d,k+=1);return{x:a,y:d,width:l-a,height:k}},translate:function(){var a=this,d=a.chart,l=a.options,k=a.dense=2>a.closestPointRange*
-a.xAxis.transA,k=a.borderWidth=t(l.borderWidth,k?0:1),b=a.yAxis,u=a.translatedThreshold=b.getThreshold(l.threshold),c=t(l.minPointLength,5),m=a.getColumnMetrics(),q=m.width,r=a.barW=Math.max(q,1+2*k),h=a.pointXOffset=m.offset;d.inverted&&(u-=.5);l.pointPadding&&(r=Math.ceil(r));x.prototype.translate.apply(a);G(a.points,function(e){var f=t(e.yBottom,u),l=999+Math.abs(f),l=Math.min(Math.max(-l,e.plotY),b.len+l),n=e.plotX+h,k=r,m=Math.min(l,f),F,p=Math.max(l,f)-m;Math.abs(p)<c&&c&&(p=c,F=!b.reversed&&
-!e.negative||b.reversed&&e.negative,m=Math.abs(m-u)>c?f-c:u-(F?c:0));e.barX=n;e.pointWidth=q;e.tooltipPos=d.inverted?[b.len+b.pos-d.plotLeft-l,a.xAxis.len-n-k/2,p]:[n+k/2,l+b.pos-d.plotTop,p];e.shapeType="rect";e.shapeArgs=a.crispCol.apply(a,e.isNull?[e.plotX,b.len/2,0,0]:[n,m,k,p])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var e=this.options,m,b=this.pointAttrToOptions||
-{};m=b.stroke||"borderColor";var u=b["stroke-width"]||"borderWidth",c=a&&a.color||this.color,p=a[m]||e[m]||this.color||c,q=a[u]||e[u]||this[u]||0,b=e.dashStyle;a&&this.zones.length&&(c=(c=a.getZone())&&c.color||a.options.color||this.color);d&&(a=k(e.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,c=a.color||void 0!==d&&A(c).brighten(a.brightness).get()||c,p=a[m]||p,q=a[u]||q,b=a.dashStyle||b);m={fill:c,stroke:p,"stroke-width":q};e.borderRadius&&(m.r=e.borderRadius);b&&(m.dashstyle=
-b);return m},drawPoints:function(){var a=this,d=this.chart,l=a.options,m=d.renderer,b=l.animationLimit||250,u;G(a.points,function(c){var e=c.graphic;if(w(c.plotY)&&null!==c.y){u=c.shapeArgs;if(e)e[d.pointCount<b?"animate":"attr"](k(u));else c.graphic=e=m[c.shapeType](u).add(c.group||a.group);e.attr(a.pointAttribs(c,c.selected&&"select")).shadow(l.shadow,null,l.stacking&&!l.borderRadius);e.addClass(c.getClassName(),!0)}else e&&(c.graphic=e.destroy())})},animate:function(a){var d=this,e=this.yAxis,
-k=d.options,b=this.chart.inverted,u={};m&&(a?(u.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(k.threshold))),b?u.translateX=a-e.len:u.translateY=a,d.group.attr(u)):(u[b?"translateX":"translateY"]=e.pos,d.group.animate(u,H(D(d.options.animation),{step:function(a,b){d.group.attr({scaleY:Math.max(.001,b.pos)})}})),d.animate=null))},remove:function(){var a=this,d=a.chart;d.hasRendered&&G(d.series,function(d){d.type===a.type&&(d.isDirty=!0)});x.prototype.remove.apply(a,arguments)}})})(K);
-(function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(K);(function(a){var D=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group",
-"markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&D.prototype.drawGraph.call(this)}})})(K);(function(a){var D=a.pick,A=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,H=this.chart,w=2*(a.slicedOffset||0),k=H.plotWidth-2*w,H=H.plotHeight-2*w,t=a.center,t=[D(t[0],"50%"),D(t[1],"50%"),a.size||"100%",a.innerSize||0],x=Math.min(k,H),p,m;for(p=0;4>p;++p)m=t[p],a=2>p||2===p&&/%$/.test(m),t[p]=A(m,[k,H,x,t[2]][p])+
-(a?w:0);t[3]>t[2]&&(t[3]=t[2]);return t}}})(K);(function(a){var D=a.addEvent,A=a.defined,G=a.each,H=a.extend,w=a.inArray,k=a.noop,t=a.pick,x=a.Point,p=a.Series,m=a.seriesType,e=a.setAnimation;m("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return null===this.y?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",
-borderWidth:1,states:{hover:{brightness:.1,shadow:!1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var d=this,e=d.points,b=d.startAngleRad;a||(G(e,function(a){var c=a.graphic,e=a.shapeArgs;c&&(c.attr({r:a.startR||d.center[3]/2,start:b,end:b}),c.animate({r:e.r,start:e.start,end:e.end},d.options.animation))}),d.animate=null)},updateTotals:function(){var a,
-e=0,k=this.points,b=k.length,u,c=this.options.ignoreHiddenPoint;for(a=0;a<b;a++)u=k[a],0>u.y&&(u.y=null),e+=c&&!u.visible?0:u.y;this.total=e;for(a=0;a<b;a++)u=k[a],u.percentage=0<e&&(u.visible||!c)?u.y/e*100:0,u.total=e},generatePoints:function(){p.prototype.generatePoints.call(this);this.updateTotals()},translate:function(a){this.generatePoints();var d=0,e=this.options,b=e.slicedOffset,k=b+(e.borderWidth||0),c,m,q,r=e.startAngle||0,h=this.startAngleRad=Math.PI/180*(r-90),r=(this.endAngleRad=Math.PI/
-180*(t(e.endAngle,r+360)-90))-h,p=this.points,f=e.dataLabels.distance,e=e.ignoreHiddenPoint,v,n=p.length,y;a||(this.center=a=this.getCenter());this.getX=function(b,c){q=Math.asin(Math.min((b-a[1])/(a[2]/2+f),1));return a[0]+(c?-1:1)*Math.cos(q)*(a[2]/2+f)};for(v=0;v<n;v++){y=p[v];c=h+d*r;if(!e||y.visible)d+=y.percentage/100;m=h+d*r;y.shapeType="arc";y.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*c)/1E3,end:Math.round(1E3*m)/1E3};q=(m+c)/2;q>1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/
-2&&(q+=2*Math.PI);y.slicedTranslation={translateX:Math.round(Math.cos(q)*b),translateY:Math.round(Math.sin(q)*b)};c=Math.cos(q)*a[2]/2;m=Math.sin(q)*a[2]/2;y.tooltipPos=[a[0]+.7*c,a[1]+.7*m];y.half=q<-Math.PI/2||q>Math.PI/2?1:0;y.angle=q;k=Math.min(k,f/5);y.labelPos=[a[0]+c+Math.cos(q)*f,a[1]+m+Math.sin(q)*f,a[0]+c+Math.cos(q)*k,a[1]+m+Math.sin(q)*k,a[0]+c,a[1]+m,0>f?"center":y.half?"right":"left",q]}},drawGraph:null,drawPoints:function(){var a=this,e=a.chart.renderer,k,b,m,c,p=a.options.shadow;p&&
-!a.shadowGroup&&(a.shadowGroup=e.g("shadow").add(a.group));G(a.points,function(d){if(null!==d.y){b=d.graphic;c=d.shapeArgs;k=d.getTranslate();var r=d.shadowGroup;p&&!r&&(r=d.shadowGroup=e.g("shadow").add(a.shadowGroup));r&&r.attr(k);m=a.pointAttribs(d,d.selected&&"select");b?b.setRadialReference(a.center).attr(m).animate(H(c,k)):(d.graphic=b=e[d.shapeType](c).setRadialReference(a.center).attr(k).add(a.group),d.visible||b.attr({visibility:"hidden"}),b.attr(m).attr({"stroke-linejoin":"round"}).shadow(p,
-r));b.addClass(d.getClassName())}})},searchPoint:k,sortByAngle:function(a,e){a.sort(function(a,b){return void 0!==a.angle&&(b.angle-a.angle)*e})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:a.CenteredSeriesMixin.getCenter,getSymbol:k},{init:function(){x.prototype.init.apply(this,arguments);var a=this,e;a.name=t(a.name,"Slice");e=function(d){a.slice("select"===d.type)};D(a,"select",e);D(a,"unselect",e);return a},setVisible:function(a,e){var d=this,b=d.series,l=b.chart,c=b.options.ignoreHiddenPoint;
-e=t(e,c);a!==d.visible&&(d.visible=d.options.visible=a=void 0===a?!d.visible:a,b.options.data[w(d,b.data)]=d.options,G(["graphic","dataLabel","connector","shadowGroup"],function(b){if(d[b])d[b][a?"show":"hide"](!0)}),d.legendItem&&l.legend.colorizeItem(d,a),a||"hover"!==d.state||d.setState(""),c&&(b.isDirty=!0),e&&l.redraw())},slice:function(a,l,k){var b=this.series;e(k,b.chart);t(l,!0);this.sliced=this.options.sliced=A(a)?a:!this.sliced;b.options.data[w(this,b.data)]=this.options;this.graphic.animate(this.getTranslate());
-this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var d=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+a,d.r+a,{innerR:this.shapeArgs.r,start:d.start,end:d.end})}})})(K);(function(a){var D=a.addEvent,A=a.arrayMax,G=a.defined,H=a.each,w=a.extend,k=a.format,t=a.map,x=a.merge,p=a.noop,m=a.pick,e=a.relativeLength,d=a.Series,
-l=a.seriesTypes,z=a.stableSort;a.distribute=function(a,d){function b(a,b){return a.target-b.target}var e,l=!0,r=a,h=[],k;k=0;for(e=a.length;e--;)k+=a[e].size;if(k>d){z(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(k=e=0;k<=d;)k+=a[e].size,e++;h=a.splice(e-1,a.length)}z(a,b);for(a=t(a,function(a){return{size:a.size,targets:[a.target]}});l;){for(e=a.length;e--;)l=a[e],k=(Math.min.apply(0,l.targets)+Math.max.apply(0,l.targets))/2,l.pos=Math.min(Math.max(0,k-l.size/2),d-l.size);e=a.length;for(l=
-!1;e--;)0<e&&a[e-1].pos+a[e-1].size>a[e].pos&&(a[e-1].size+=a[e].size,a[e-1].targets=a[e-1].targets.concat(a[e].targets),a[e-1].pos+a[e-1].size>d&&(a[e-1].pos=d-a[e-1].size),a.splice(e,1),l=!0)}e=0;H(a,function(a){var b=0;H(a.targets,function(){r[e].pos=a.pos+b;b+=r[e].size;e++})});r.push.apply(r,h);z(r,b)};d.prototype.drawDataLabels=function(){var a=this,d=a.options,c=d.dataLabels,e=a.points,l,r,h=a.hasRendered||0,p,f,v=m(c.defer,!0),n=a.chart.renderer;if(c.enabled||a._hasPointLabels)a.dlProcessOptions&&
-a.dlProcessOptions(c),f=a.plotGroup("dataLabelsGroup","data-labels",v&&!h?"hidden":"visible",c.zIndex||6),v&&(f.attr({opacity:+h}),h||D(a,"afterAnimate",function(){a.visible&&f.show(!0);f[d.animation?"animate":"attr"]({opacity:1},{duration:200})})),r=c,H(e,function(b){var h,e=b.dataLabel,q,g,v,u=b.connector,y=!e,t;l=b.dlOptions||b.options&&b.options.dataLabels;if(h=m(l&&l.enabled,r.enabled)&&null!==b.y)for(g in c=x(r,l),q=b.getLabelConfig(),p=c.format?k(c.format,q):c.formatter.call(q,c),t=c.style,
-v=c.rotation,t.color=m(c.color,t.color,a.color,"#000000"),"contrast"===t.color&&(t.color=c.inside||0>c.distance||d.stacking?n.getContrast(b.color||a.color):"#000000"),d.cursor&&(t.cursor=d.cursor),q={fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:v,padding:c.padding,zIndex:1},q)void 0===q[g]&&delete q[g];!e||h&&G(p)?h&&G(p)&&(e?q.text=p:(e=b.dataLabel=n[v?"text":"label"](p,0,-9999,c.shape,null,null,c.useHTML,null,"data-label"),e.addClass("highcharts-data-label-color-"+
-b.colorIndex+" "+(c.className||"")+(c.useHTML?"highcharts-tracker":""))),e.attr(q),e.css(t).shadow(c.shadow),e.added||e.add(f),a.alignDataLabel(b,e,c,null,y)):(b.dataLabel=e.destroy(),u&&(b.connector=u.destroy()))})};d.prototype.alignDataLabel=function(a,d,c,e,l){var b=this.chart,h=b.inverted,k=m(a.plotX,-9999),f=m(a.plotY,-9999),q=d.getBBox(),n,u=c.rotation,p=c.align,F=this.visible&&(a.series.forceDL||b.isInsidePlot(k,Math.round(f),h)||e&&b.isInsidePlot(k,h?e.x+1:e.y+e.height-1,h)),t="justify"===
-m(c.overflow,"justify");F&&(n=c.style.fontSize,n=b.renderer.fontMetrics(n,d).b,e=w({x:h?b.plotWidth-f:k,y:Math.round(h?b.plotHeight-k:f),width:0,height:0},e),w(c,{width:q.width,height:q.height}),u?(t=!1,h=b.renderer.rotCorr(n,u),h={x:e.x+c.x+e.width/2+h.x,y:e.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*e.height},d[l?"attr":"animate"](h).attr({align:p}),k=(u+720)%360,k=180<k&&360>k,"left"===p?h.y-=k?q.height:0:"center"===p?(h.x-=q.width/2,h.y-=q.height/2):"right"===p&&(h.x-=q.width,h.y-=k?0:
-q.height)):(d.align(c,null,e),h=d.alignAttr),t?this.justifyDataLabel(d,c,h,q,e,l):m(c.crop,!0)&&(F=b.isInsidePlot(h.x,h.y)&&b.isInsidePlot(h.x+q.width,h.y+q.height)),c.shape&&!u&&d.attr({anchorX:a.plotX,anchorY:a.plotY}));F||(d.attr({y:-9999}),d.placed=!1)};d.prototype.justifyDataLabel=function(a,d,c,e,l,r){var b=this.chart,k=d.align,f=d.verticalAlign,q,n,m=a.box?0:a.padding||0;q=c.x+m;0>q&&("right"===k?d.align="left":d.x=-q,n=!0);q=c.x+e.width-m;q>b.plotWidth&&("left"===k?d.align="right":d.x=b.plotWidth-
-q,n=!0);q=c.y+m;0>q&&("bottom"===f?d.verticalAlign="top":d.y=-q,n=!0);q=c.y+e.height-m;q>b.plotHeight&&("top"===f?d.verticalAlign="bottom":d.y=b.plotHeight-q,n=!0);n&&(a.placed=!r,a.align(d,null,l))};l.pie&&(l.pie.prototype.drawDataLabels=function(){var b=this,e=b.data,c,l=b.chart,q=b.options.dataLabels,r=m(q.connectorPadding,10),h=m(q.connectorWidth,1),k=l.plotWidth,f=l.plotHeight,v,n=q.distance,y=b.center,p=y[2]/2,F=y[1],z=0<n,g,w,x,D,M=[[],[]],G,B,N,R,O=[0,0,0,0];b.visible&&(q.enabled||b._hasPointLabels)&&
-(H(e,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),d.prototype.drawDataLabels.apply(b),H(e,function(a){a.dataLabel&&a.visible&&(M[a.half].push(a),a.dataLabel._pos=null)}),H(M,function(d,h){var e,v,m=d.length,u,z,I;if(m)for(b.sortByAngle(d,h-.5),0<n&&(e=Math.max(0,F-p-n),v=Math.min(F+p+n,l.plotHeight),u=t(d,function(a){if(a.dataLabel)return I=a.dataLabel.getBBox().height||21,{target:a.labelPos[1]-
-e+I/2,size:I,rank:a.y}}),a.distribute(u,v+I-e)),R=0;R<m;R++)c=d[R],x=c.labelPos,g=c.dataLabel,N=!1===c.visible?"hidden":"inherit",z=x[1],u?void 0===u[R].pos?N="hidden":(D=u[R].size,B=e+u[R].pos):B=z,G=q.justify?y[0]+(h?-1:1)*(p+n):b.getX(B<e+2||B>v-2?z:B,h),g._attr={visibility:N,align:x[6]},g._pos={x:G+q.x+({left:r,right:-r}[x[6]]||0),y:B+q.y-10},x.x=G,x.y=B,null===b.options.size&&(w=g.getBBox().width,z=null,G-w<r?(z=Math.round(w-G+r),O[3]=Math.max(z,O[3])):G+w>k-r&&(z=Math.round(G+w-k+r),O[1]=Math.max(z,
-O[1])),0>B-D/2?O[0]=Math.max(Math.round(-B+D/2),O[0]):B+D/2>f&&(O[2]=Math.max(Math.round(B+D/2-f),O[2])),g.sideOverflow=z)}),0===A(O)||this.verifyDataLabelOverflow(O))&&(this.placeDataLabels(),z&&h&&H(this.points,function(a){var c;v=a.connector;if((g=a.dataLabel)&&g._pos&&a.visible){N=g._attr.visibility;if(c=!v)a.connector=v=l.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(b.dataLabelsGroup),v.attr({"stroke-width":h,stroke:q.connectorColor||a.color||
-"#666666"});v[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});v.attr("visibility",N)}else v&&(a.connector=v.destroy())}))},l.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return m(this.options.dataLabels.softConnector,!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},l.pie.prototype.placeDataLabels=function(){H(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&
-(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=!0):b&&b.attr({y:-9999}))},this)},l.pie.prototype.alignDataLabel=p,l.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,l=c.minSize||80,r,h;null!==d[0]?r=Math.max(b[2]-Math.max(a[1],a[3]),l):(r=Math.max(b[2]-a[1]-a[3],l),b[0]+=(a[3]-a[1])/2);null!==d[1]?r=Math.max(Math.min(r,b[2]-
-Math.max(a[0],a[2])),l):(r=Math.max(Math.min(r,b[2]-a[0]-a[2]),l),b[1]+=(a[0]-a[2])/2);r<b[2]?(b[2]=r,b[3]=Math.min(e(c.innerSize||0,r),r),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):h=!0;return h});l.column&&(l.column.prototype.alignDataLabel=function(a,e,c,l,k){var b=this.chart.inverted,h=a.series,q=a.dlBox||a.shapeArgs,f=m(a.below,a.plotY>m(this.translatedThreshold,h.yAxis.len)),v=m(c.inside,!!this.options.stacking);q&&(l=x(q),0>l.y&&(l.height+=l.y,l.y=0),q=l.y+l.height-h.yAxis.len,
-0<q&&(l.height-=q),b&&(l={x:h.yAxis.len-l.y-l.height,y:h.xAxis.len-l.x-l.width,width:l.height,height:l.width}),v||(b?(l.x+=f?0:l.width,l.width=0):(l.y+=f?l.height:0,l.height=0)));c.align=m(c.align,!b||v?"center":f?"right":"left");c.verticalAlign=m(c.verticalAlign,b||v?"middle":f?"top":"bottom");d.prototype.alignDataLabel.call(this,a,e,c,l,k)})})(K);(function(a){var D=a.Chart,A=a.each,G=a.pick,H=a.addEvent;D.prototype.callbacks.push(function(a){function k(){var k=[];A(a.series||[],function(a){var p=
-a.options.dataLabels,m=a.dataLabelCollections||["dataLabel"];(p.enabled||a._hasPointLabels)&&!p.allowOverlap&&a.visible&&A(m,function(e){A(a.points,function(a){a[e]&&(a[e].labelrank=G(a.labelrank,a.shapeArgs&&a.shapeArgs.height),k.push(a[e]))})})});a.hideOverlappingLabels(k)}k();H(a,"redraw",k)});D.prototype.hideOverlappingLabels=function(a){var k=a.length,t,x,p,m,e,d,l,z,b,u=function(a,b,d,e,h,l,f,k){return!(h>a+d||h+f<a||l>b+e||l+k<b)};for(x=0;x<k;x++)if(t=a[x])t.oldOpacity=t.opacity,t.newOpacity=
-1;a.sort(function(a,b){return(b.labelrank||0)-(a.labelrank||0)});for(x=0;x<k;x++)for(p=a[x],t=x+1;t<k;++t)if(m=a[t],p&&m&&p.placed&&m.placed&&0!==p.newOpacity&&0!==m.newOpacity&&(e=p.alignAttr,d=m.alignAttr,l=p.parentGroup,z=m.parentGroup,b=2*(p.box?0:p.padding),e=u(e.x+l.translateX,e.y+l.translateY,p.width-b,p.height-b,d.x+z.translateX,d.y+z.translateY,m.width-b,m.height-b)))(p.labelrank<m.labelrank?p:m).newOpacity=0;A(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&a.placed&&(c?a.show(!0):
-b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)),a.isOld=!0)})}})(K);(function(a){var D=a.addEvent,A=a.Chart,G=a.createElement,H=a.css,w=a.defaultOptions,k=a.defaultPlotOptions,t=a.each,x=a.extend,p=a.fireEvent,m=a.hasTouch,e=a.inArray,d=a.isObject,l=a.Legend,z=a.merge,b=a.pick,u=a.Point,c=a.Series,C=a.seriesTypes,q=a.svg;a=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);if(void 0!==c)c.onMouseOver(a)};
-t(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(t(a.trackerGroups,function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(m)a[d].on("touchstart",c);a.options.cursor&&a[d].css(H).css({cursor:a.options.cursor})}}),a._hasTracking=!0)},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?
-a.areaPath:a.graphPath),e=d.length,n=a.chart,l=n.pointer,k=n.renderer,u=n.options.tooltip.snap,p=a.tracker,g,z=function(){if(n.hoverSeries!==a)a.onMouseOver()},x="rgba(192,192,192,"+(q?.0001:.002)+")";if(e&&!c)for(g=e+1;g--;)"M"===d[g]&&d.splice(g+1,0,d[g+1]-u,d[g+2],"L"),(g&&"M"===d[g]||g===e)&&d.splice(g,0,"L",d[g-2]+u,d[g-1]);p?p.attr({d:d}):a.graph&&(a.tracker=k.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:x,fill:c?x:"none","stroke-width":a.graph.strokeWidth()+
-(c?0:2*u),zIndex:2}).add(a.group),t([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",z).on("mouseout",function(a){l.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(m)a.on("touchstart",z)}))}};C.column&&(C.column.prototype.drawTracker=a.drawTrackerPoint);C.pie&&(C.pie.prototype.drawTracker=a.drawTrackerPoint);C.scatter&&(C.scatter.prototype.drawTracker=a.drawTrackerPoint);x(l.prototype,{setItemEvents:function(a,b,c){var d=this,h=d.chart.renderer.boxWrapper,
-e="highcharts-legend-"+(a.series?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");h.addClass(e);b.css(d.options.itemHoverStyle)}).on("mouseout",function(){b.css(a.visible?d.itemStyle:d.itemHiddenStyle);h.removeClass(e);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):p(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=G("input",
-{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);D(a.checkbox,"click",function(b){p(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});w.legend.itemStyle.cursor="pointer";x(A.prototype,{showResetZoom:function(){var a=this,b=w.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,n="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},
-d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,!1,n)},zoomOut:function(){var a=this;p(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var c,e=this.pointer,f=!1,l;!a||a.resetSelection?t(this.axes,function(a){c=a.zoom()}):t(a.xAxis.concat(a.yAxis),function(a){var b=a.axis;e[b.isXAxis?"zoomX":"zoomY"]&&(c=b.zoom(a.min,a.max),b.displayBtn&&(f=!0))});l=this.resetZoomButton;f&&!l?this.showResetZoom():
-!f&&d(l)&&(this.resetZoomButton=l.destroy());c&&this.redraw(b(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,h;d&&t(d,function(a){a.setState()});t("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",e=c[d],l=(b.pointRange||0)/2,g=b.getExtremes(),n=b.toValue(e-f,!0)+l,l=b.toValue(e+b.len-f,!0)-l,r=l<n,e=r?l:n,n=r?n:l,r=b.toValue(b.toPixels(g.min)-b.minPixelPadding),
-l=b.toValue(b.toPixels(g.max)+b.minPixelPadding),r=Math.min(g.dataMin,r)-e,g=n-Math.max(g.dataMax,l);b.series.length&&0>r&&0>g&&(b.setExtremes(e,n,!1,!1,{trigger:"pan"}),h=!0);c[d]=f});h&&c.redraw(!1);H(c.container,{cursor:"move"})}});x(u.prototype,{select:function(a,c){var d=this,f=d.series,h=f.chart;a=b(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:c},function(){d.selected=d.options.selected=a;f.options.data[e(d,f.data)]=d.options;d.setState(a&&"select");c||t(h.getSelectedPoints(),
-function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,f.options.data[e(a,f.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart.pointer;this.firePointEvent("mouseOver");b.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");t(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=z(this.series.options.point,
-this.options).events,b;this.events=a;for(b in a)D(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,c){var d=Math.floor(this.plotX),f=this.plotY,e=this.series,h=e.options.states[a]||{},l=k[e.type].marker&&e.options.marker,r=l&&!1===l.enabled,q=l&&l.states&&l.states[a]||{},m=!1===q.enabled,g=e.stateMarkerGraphic,u=this.marker||{},p=e.chart,t=e.halo,z,w=l&&e.markerAttribs;a=a||"";if(!(a===this.state&&!c||this.selected&&"select"!==a||!1===h.enabled||a&&(m||r&&!1===q.enabled)||a&&u.states&&
-u.states[a]&&!1===u.states[a].enabled)){w&&(z=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.attr(e.pointAttribs(this,a)),z&&this.graphic.animate(z,b(p.options.chart.animation,q.animation,l.animation)),g&&g.hide();else{if(a&&q){l=u.symbol||e.symbol;g&&g.currentSymbol!==l&&(g=g.destroy());if(g)g[c?"animate":"attr"]({x:z.x,y:z.y});else l&&(e.stateMarkerGraphic=g=p.renderer.symbol(l,
-z.x,z.y,z.width,z.height).add(e.markerGroup),g.currentSymbol=l);g&&g.attr(e.pointAttribs(this,a))}g&&(g[a&&p.isInsidePlot(d,f,p.inverted)?"show":"hide"](),g.element.point=this)}(d=h.halo)&&d.size?(t||(e.halo=t=p.renderer.path().add(w?e.markerGroup:e.group)),t[c?"animate":"attr"]({d:this.haloPath(d.size)}),t.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,e.colorIndex)}),t.point=this,t.attr(x({fill:this.color||e.color,"fill-opacity":d.opacity,zIndex:-1},d.attributes))):t&&t.point&&
-t.point.haloPath&&t.animate({d:t.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});x(c.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&p(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();
-this&&a.events.mouseOut&&p(this,"mouseOut");!c||a.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var c=this,d=c.options,f=c.graph,e=d.states,l=d.lineWidth,d=0;a=a||"";if(c.state!==a&&(t([c.group,c.markerGroup,c.dataLabelsGroup],function(b){b&&(c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(l=e[a].lineWidth||l+(e[a].lineWidthPlus||0)),f&&!f.dashstyle))for(l={"stroke-width":l},
-f.animate(l,b(c.chart.options.chart.animation,e[a]&&e[a].animation));c["zone-graph-"+d];)c["zone-graph-"+d].attr(l),d+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,h,l=d.options.chart.ignoreHiddenSeries,k=c.visible;h=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!k:a)?"show":"hide";t(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][h]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,
-a);c.isDirty=!0;c.options.stacking&&t(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});t(c.linkedSeries,function(b){b.setVisible(a,!1)});l&&(d.isDirtyBox=!0);!1!==b&&d.redraw();p(c,h)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);p(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(K);(function(a){var D=a.Chart,A=a.each,G=a.inArray,H=
-a.isArray,w=a.isObject,k=a.pick,t=a.splat;D.prototype.setResponsive=function(k){var p=this.options.responsive,m=[],e=this.currentResponsive;p&&p.rules&&A(p.rules,function(d){void 0===d._id&&(d._id=a.uniqueKey());this.matchResponsiveRule(d,m,k)},this);var d=a.merge.apply(0,a.map(m,function(d){return a.find(p.rules,function(a){return a._id===d}).chartOptions})),m=m.toString()||void 0;m!==(e&&e.ruleIds)&&(e&&this.update(e.undoOptions,k),m?(this.currentResponsive={ruleIds:m,mergedOptions:d,undoOptions:this.currentOptions(d)},
-this.update(d,k)):this.currentResponsive=void 0)};D.prototype.matchResponsiveRule=function(a,p){var m=a.condition;(m.callback||function(){return this.chartWidth<=k(m.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=k(m.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=k(m.minWidth,0)&&this.chartHeight>=k(m.minHeight,0)}).call(this)&&p.push(a._id)};D.prototype.currentOptions=function(a){function k(a,d,l,m){var b,e;for(b in a)if(!m&&-1<G(b,["series","xAxis","yAxis"]))for(a[b]=t(a[b]),l[b]=[],e=0;e<a[b].length;e++)d[b][e]&&
-(l[b][e]={},k(a[b][e],d[b][e],l[b][e],m+1));else w(a[b])?(l[b]=H(a[b])?[]:{},k(a[b],d[b]||{},l[b],m+1)):l[b]=d[b]||null}var m={};k(a,this.options,m,0);return m}})(K);(function(a){var D=a.addEvent,A=a.Axis,G=a.Chart,H=a.css,w=a.dateFormat,k=a.defined,t=a.each,x=a.extend,p=a.noop,m=a.Series,e=a.timeUnits;a=a.wrap;a(m.prototype,"init",function(a){var d;a.apply(this,Array.prototype.slice.call(arguments,1));(d=this.xAxis)&&d.options.ordinal&&D(this,"updatedData",function(){delete d.ordinalIndex})});a(A.prototype,
-"getTimeTicks",function(a,l,m,b,u,c,p,q){var d=0,h,t,f={},v,n,y,z=[],F=-Number.MAX_VALUE,x=this.options.tickPixelInterval;if(!this.options.ordinal&&!this.options.breaks||!c||3>c.length||void 0===m)return a.call(this,l,m,b,u);n=c.length;for(h=0;h<n;h++){y=h&&c[h-1]>b;c[h]<m&&(d=h);if(h===n-1||c[h+1]-c[h]>5*p||y){if(c[h]>F){for(t=a.call(this,l,c[d],c[h],u);t.length&&t[0]<=F;)t.shift();t.length&&(F=t[t.length-1]);z=z.concat(t)}d=h+1}if(y)break}a=t.info;if(q&&a.unitRange<=e.hour){h=z.length-1;for(d=1;d<
-h;d++)w("%d",z[d])!==w("%d",z[d-1])&&(f[z[d]]="day",v=!0);v&&(f[z[0]]="day");a.higherRanks=f}z.info=a;if(q&&k(x)){q=a=z.length;h=[];var g;for(v=[];q--;)d=this.translate(z[q]),g&&(v[q]=g-d),h[q]=g=d;v.sort();v=v[Math.floor(v.length/2)];v<.6*x&&(v=null);q=z[a-1]>b?a-1:a;for(g=void 0;q--;)d=h[q],b=Math.abs(g-d),g&&b<.8*x&&(null===v||b<.8*v)?(f[z[q]]&&!f[z[q+1]]?(b=q+1,g=d):b=q,z.splice(b,1)):g=d}return z});x(A.prototype,{beforeSetTickPositions:function(){var a,e=[],k=!1,b,m=this.getExtremes(),c=m.min,
-p=m.max,q,r=this.isXAxis&&!!this.options.breaks,m=this.options.ordinal,h=this.chart.options.chart.ignoreHiddenSeries;if(m||r){t(this.series,function(b,c){if(!(h&&!1===b.visible||!1===b.takeOrdinalPosition&&!r)&&(e=e.concat(b.processedXData),a=e.length,e.sort(function(a,b){return a-b}),a))for(c=a-1;c--;)e[c]===e[c+1]&&e.splice(c,1)});a=e.length;if(2<a){b=e[1]-e[0];for(q=a-1;q--&&!k;)e[q+1]-e[q]!==b&&(k=!0);!this.options.keepOrdinalPadding&&(e[0]-c>b||p-e[e.length-1]>b)&&(k=!0)}k?(this.ordinalPositions=
-e,b=this.ordinal2lin(Math.max(c,e[0]),!0),q=Math.max(this.ordinal2lin(Math.min(p,e[e.length-1]),!0),1),this.ordinalSlope=p=(p-c)/(q-b),this.ordinalOffset=c-b*p):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=m&&k;this.groupIntervalFactor=null},val2lin:function(a,e){var d=this.ordinalPositions;if(d){var b=d.length,l,c;for(l=b;l--;)if(d[l]===a){c=l;break}for(l=b-1;l--;)if(a>d[l]||0===l){a=(a-d[l])/(d[l+1]-d[l]);c=l+a;break}e=e?c:this.ordinalSlope*(c||0)+this.ordinalOffset}else e=
-a;return e},lin2val:function(a,e){var d=this.ordinalPositions;if(d){var b=this.ordinalSlope,l=this.ordinalOffset,c=d.length-1,k;if(e)0>a?a=d[0]:a>c?a=d[c]:(c=Math.floor(a),k=a-c);else for(;c--;)if(e=b*c+l,a>=e){b=b*(c+1)+l;k=(a-e)/(b-e);break}return void 0!==k&&void 0!==d[c]?d[c]+(k?k*(d[c+1]-d[c]):0):a}return a},getExtendedPositions:function(){var a=this.chart,e=this.series[0].currentDataGrouping,k=this.ordinalIndex,b=e?e.count+e.unitName:"raw",m=this.getExtremes(),c,w;k||(k=this.ordinalIndex={});
-k[b]||(c={series:[],chart:a,getExtremes:function(){return{min:m.dataMin,max:m.dataMax}},options:{ordinal:!0},val2lin:A.prototype.val2lin,ordinal2lin:A.prototype.ordinal2lin},t(this.series,function(b){w={xAxis:c,xData:b.xData,chart:a,destroyGroupedData:p};w.options={dataGrouping:e?{enabled:!0,forced:!0,approximation:"open",units:[[e.unitName,[e.count]]]}:{enabled:!1}};b.processData.apply(w);c.series.push(w)}),this.beforeSetTickPositions.apply(c),k[b]=c.ordinalPositions);return k[b]},getGroupIntervalFactor:function(a,
-e,k){var b;k=k.processedXData;var d=k.length,c=[];b=this.groupIntervalFactor;if(!b){for(b=0;b<d-1;b++)c[b]=k[b+1]-k[b];c.sort(function(a,b){return a-b});c=c[Math.floor(d/2)];a=Math.max(a,k[0]);e=Math.min(e,k[d-1]);this.groupIntervalFactor=b=d*c/(e-a)}return b},postProcessTickInterval:function(a){var d=this.ordinalSlope;return d?this.options.breaks?this.closestPointRange:a/(d/this.closestPointRange):a}});A.prototype.ordinal2lin=A.prototype.val2lin;a(G.prototype,"pan",function(a,e){var d=this.xAxis[0],
-b=e.chartX,l=!1;if(d.options.ordinal&&d.series.length){var c=this.mouseDownX,k=d.getExtremes(),q=k.dataMax,r=k.min,h=k.max,m=this.hoverPoints,f=d.closestPointRange,c=(c-b)/(d.translationSlope*(d.ordinalSlope||f)),v={ordinalPositions:d.getExtendedPositions()},f=d.lin2val,n=d.val2lin,p;v.ordinalPositions?1<Math.abs(c)&&(m&&t(m,function(a){a.setState()}),0>c?(m=v,p=d.ordinalPositions?d:v):(m=d.ordinalPositions?d:v,p=v),v=p.ordinalPositions,q>v[v.length-1]&&v.push(q),this.fixedRange=h-r,c=d.toFixedRange(null,
-null,f.apply(m,[n.apply(m,[r,!0])+c,!0]),f.apply(p,[n.apply(p,[h,!0])+c,!0])),c.min>=Math.min(k.dataMin,r)&&c.max<=Math.max(q,h)&&d.setExtremes(c.min,c.max,!0,!1,{trigger:"pan"}),this.mouseDownX=b,H(this.container,{cursor:"move"})):l=!0}else l=!0;l&&a.apply(this,Array.prototype.slice.call(arguments,1))});m.prototype.gappedPath=function(){var a=this.options.gapSize,e=this.points.slice(),k=e.length-1;if(a&&0<k)for(;k--;)e[k+1].x-e[k].x>this.closestPointRange*a&&e.splice(k+1,0,{isNull:!0});return this.getGraphPath(e)}})(K);
-(function(a){function D(){return Array.prototype.slice.call(arguments,1)}function A(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,G(this.pointArrayMap,["y"]))}var G=a.pick,H=a.wrap,w=a.each,k=a.extend,t=a.isArray,x=a.fireEvent,p=a.Axis,m=a.Series;k(p.prototype,{isInBreak:function(a,d){var e=a.repeat||Infinity,k=a.from,b=a.to-a.from;d=d>=k?(d-k)%e:e-(k-d)%e;return a.inclusive?d<=b:d<b&&0!==d},isInAnyBreak:function(a,d){var e=this.options.breaks,k=e&&e.length,b,m,c;if(k){for(;k--;)this.isInBreak(e[k],
-a)&&(b=!0,m||(m=G(e[k].showPoints,this.isXAxis?!1:!0)));c=b&&d?b&&!m:b}return c}});H(p.prototype,"setTickPositions",function(a){a.apply(this,Array.prototype.slice.call(arguments,1));if(this.options.breaks){var d=this.tickPositions,e=this.tickPositions.info,k=[],b;for(b=0;b<d.length;b++)this.isInAnyBreak(d[b])||k.push(d[b]);this.tickPositions=k;this.tickPositions.info=e}});H(p.prototype,"init",function(a,d,l){var e=this;l.breaks&&l.breaks.length&&(l.ordinal=!1);a.call(this,d,l);a=this.options.breaks;
-e.isBroken=t(a)&&!!a.length;e.isBroken&&(e.val2lin=function(a){var b=a,c,d;for(d=0;d<e.breakArray.length;d++)if(c=e.breakArray[d],c.to<=a)b-=c.len;else if(c.from>=a)break;else if(e.isInBreak(c,a)){b-=a-c.from;break}return b},e.lin2val=function(a){var b,c;for(c=0;c<e.breakArray.length&&!(b=e.breakArray[c],b.from>=a);c++)b.to<a?a+=b.len:e.isInBreak(b,a)&&(a+=b.len);return a},e.setExtremes=function(a,d,c,e,l){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(d);)d-=this.closestPointRange;
-p.prototype.setExtremes.call(this,a,d,c,e,l)},e.setAxisTranslation=function(a){p.prototype.setAxisTranslation.call(this,a);var b=e.options.breaks;a=[];var c=[],d=0,l,k,h=e.userMin||e.min,m=e.userMax||e.max,f=G(e.pointRangePadding,0),v,n;for(n in b)k=b[n],l=k.repeat||Infinity,e.isInBreak(k,h)&&(h+=k.to%l-h%l),e.isInBreak(k,m)&&(m-=m%l-k.from%l);for(n in b){k=b[n];v=k.from;for(l=k.repeat||Infinity;v-l>h;)v-=l;for(;v<h;)v+=l;for(;v<m;v+=l)a.push({value:v,move:"in"}),a.push({value:v+(k.to-k.from),move:"out",
-size:k.breakSize})}a.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});b=0;v=h;for(n in a)k=a[n],b+="in"===k.move?1:-1,1===b&&"in"===k.move&&(v=k.value),0===b&&(c.push({from:v,to:k.value,len:k.value-v-(k.size||0)}),d+=k.value-v-(k.size||0));e.breakArray=c;e.unitLength=m-h-d+f;x(e,"afterBreaks");e.transA=e.options.staticScale?e.options.staticScale:(m-e.min+f)/e.unitLength*e.transA;f&&(e.minPixelPadding=e.transA*e.minPointOffset);e.min=h;e.max=m})});
-H(m.prototype,"generatePoints",function(a){a.apply(this,D(arguments));var d=this.xAxis,e=this.yAxis,k=this.points,b,m=k.length,c=this.options.connectNulls,p;if(d&&e&&(d.options.breaks||e.options.breaks))for(;m--;)b=k[m],p=null===b.y&&!1===c,p||!d.isInAnyBreak(b.x,!0)&&!e.isInAnyBreak(b.y,!0)||(k.splice(m,1),this.data[m]&&this.data[m].destroyElements())});a.Series.prototype.drawBreaks=function(a,d){var e=this,k=e.points,b,m,c,p;a&&w(d,function(d){b=a.breakArray||[];m=a.isXAxis?a.min:G(e.options.threshold,
-a.min);w(k,function(e){p=G(e["stack"+d.toUpperCase()],e[d]);w(b,function(b){c=!1;if(m<b.from&&p>b.to||m>b.from&&p<b.from)c="pointBreak";else if(m<b.from&&p>b.from&&p<b.to||m>b.from&&p>b.to&&p<b.from)c="pointInBreak";c&&x(a,c,{point:e,brk:b})})})})};H(a.seriesTypes.column.prototype,"drawPoints",A);H(a.Series.prototype,"drawPoints",A)})(K);(function(a){var D=a.arrayMax,A=a.arrayMin,G=a.Axis,H=a.defaultPlotOptions,w=a.defined,k=a.each,t=a.extend,x=a.format,p=a.isNumber,m=a.merge,e=a.pick,d=a.Point,l=
-a.Tooltip,z=a.wrap,b=a.Series.prototype,u=b.processData,c=b.generatePoints,C=b.destroy,q={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e",
-"-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},r={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},h=a.defaultDataGroupingUnits=[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
-[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1]],["week",[1]],["month",[1,3,6]],["year",null]],E={sum:function(a){var b=a.length,c;if(!b&&a.hasNulls)c=null;else if(b)for(c=0;b--;)c+=a[b];return c},average:function(a){var b=a.length;a=E.sum(a);p(a)&&b&&(a/=b);return a},open:function(a){return a.length?a[0]:a.hasNulls?null:void 0},high:function(a){return a.length?D(a):a.hasNulls?null:void 0},low:function(a){return a.length?A(a):a.hasNulls?null:void 0},close:function(a){return a.length?a[a.length-
-1]:a.hasNulls?null:void 0},ohlc:function(a,b,c,d){a=E.open(a);b=E.high(b);c=E.low(c);d=E.close(d);if(p(a)||p(b)||p(c)||p(d))return[a,b,c,d]},range:function(a,b){a=E.low(a);b=E.high(b);if(p(a)||p(b))return[a,b]}};b.groupData=function(a,b,c,d){var f=this.data,e=this.options.data,h=[],g=[],k=[],l=a.length,n,m,q=!!b,r=[[],[],[],[]];d="function"===typeof d?d:E[d];var v=this.pointArrayMap,y=v&&v.length,t,u=0;for(t=m=0;t<=l&&!(a[t]>=c[0]);t++);for(t;t<=l;t++){for(;(void 0!==c[u+1]&&a[t]>=c[u+1]||t===l)&&
-(n=c[u],this.dataGroupInfo={start:m,length:r[0].length},m=d.apply(this,r),void 0!==m&&(h.push(n),g.push(m),k.push(this.dataGroupInfo)),m=t,r[0]=[],r[1]=[],r[2]=[],r[3]=[],u+=1,t!==l););if(t===l)break;if(v){n=this.cropStart+t;n=f&&f[n]||this.pointClass.prototype.applyOptions.apply({series:this},[e[n]]);var w,x;for(w=0;w<y;w++)x=n[v[w]],p(x)?r[w].push(x):null===x&&(r[w].hasNulls=!0)}else n=q?b[t]:null,p(n)?r[0].push(n):null===n&&(r[0].hasNulls=!0)}return[h,g,k]};b.processData=function(){var a=this.chart,
-c=this.options.dataGrouping,d=!1!==this.allowDG&&c&&e(c.enabled,a.options.isStock),k=this.visible||!a.options.chart.ignoreHiddenSeries,l;this.forceCrop=d;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==u.apply(this,arguments)&&d){this.destroyGroupedData();var m=this.processedXData,q=this.processedYData,g=a.plotSizeX,a=this.xAxis,r=a.options.ordinal,p=this.groupPixelWidth=a.getGroupPixelWidth&&a.getGroupPixelWidth();if(p){this.isDirty=l=!0;var t=a.getExtremes(),d=t.min,t=t.max,r=r&&a.getGroupIntervalFactor(d,
-t,this)||1,g=p*(t-d)/g*r,p=a.getTimeTicks(a.normalizeTimeTickInterval(g,c.units||h),Math.min(d,m[0]),Math.max(t,m[m.length-1]),a.options.startOfWeek,m,this.closestPointRange),m=b.groupData.apply(this,[m,q,p,c.approximation]),q=m[0],r=m[1];if(c.smoothed){c=q.length-1;for(q[c]=Math.min(q[c],t);c--&&0<c;)q[c]+=g/2;q[0]=Math.max(q[0],d)}this.currentDataGrouping=p.info;this.closestPointRange=p.info.totalRange;this.groupMap=m[2];w(q[0])&&q[0]<a.dataMin&&k&&(a.min===a.dataMin&&(a.min=q[0]),a.dataMin=q[0]);
-this.processedXData=q;this.processedYData=r}else this.currentDataGrouping=this.groupMap=null;this.hasGroupedData=l}};b.destroyGroupedData=function(){var a=this.groupedData;k(a||[],function(b,c){b&&(a[c]=b.destroy?b.destroy():null)});this.groupedData=null};b.generatePoints=function(){c.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};z(d.prototype,"update",function(b){this.dataGroup?a.error(24):b.apply(this,[].slice.call(arguments,1))});z(l.prototype,"tooltipFooterHeaderFormatter",
-function(b,c,d){var f=c.series,e=f.tooltipOptions,h=f.options.dataGrouping,k=e.xDateFormat,g,l=f.xAxis,n=a.dateFormat;return l&&"datetime"===l.options.type&&h&&p(c.key)?(b=f.currentDataGrouping,h=h.dateTimeLabelFormats,b?(l=h[b.unitName],1===b.count?k=l[0]:(k=l[1],g=l[2])):!k&&h&&(k=this.getXDateFormat(c,e,l)),k=n(k,c.key),g&&(k+=n(g,c.key+b.totalRange-1)),x(e[(d?"footer":"header")+"Format"],{point:t(c.point,{key:k}),series:f})):b.call(this,c,d)});b.destroy=function(){for(var a=this.groupedData||
-[],b=a.length;b--;)a[b]&&a[b].destroy();C.apply(this)};z(b,"setOptions",function(a,b){a=a.call(this,b);var c=this.type,d=this.chart.options.plotOptions,e=H[c].dataGrouping;r[c]&&(e||(e=m(q,r[c])),a.dataGrouping=m(e,d.series&&d.series.dataGrouping,d[c].dataGrouping,b.dataGrouping));this.chart.options.isStock&&(this.requireSorting=!0);return a});z(G.prototype,"setScale",function(a){a.call(this);k(this.series,function(a){a.hasProcessed=!1})});G.prototype.getGroupPixelWidth=function(){var a=this.series,
-b=a.length,c,d=0,e=!1,h;for(c=b;c--;)(h=a[c].options.dataGrouping)&&(d=Math.max(d,h.groupPixelWidth));for(c=b;c--;)(h=a[c].options.dataGrouping)&&a[c].hasProcessed&&(b=(a[c].processedXData||a[c].data).length,a[c].groupPixelWidth||b>this.chart.plotSizeX/d||b&&h.forced)&&(e=!0);return e?d:0};G.prototype.setDataGrouping=function(a,b){var c;b=e(b,!0);a||(a={forced:!1,units:null});if(this instanceof G)for(c=this.series.length;c--;)this.series[c].update({dataGrouping:a},!1);else k(this.chart.options.series,
-function(b){b.dataGrouping=a},!1);b&&this.chart.redraw()}})(K);(function(a){var D=a.each,A=a.Point,G=a.seriesType,H=a.seriesTypes;G("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null,states:{hover:{lineWidth:3}}},{pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,
-a.high,a.low,a.close]},pointValKey:"high",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,k){k=H.column.prototype.pointAttribs.call(this,a,k);var t=this.options;delete k.fill;!a.options.color&&t.upColor&&a.open<a.close&&(k.stroke=t.upColor);return k},translate:function(){var a=this,k=a.yAxis,t=!!a.modifyValue,x=["plotOpen","yBottom","plotClose"];H.column.prototype.translate.apply(a);D(a.points,function(p){D([p.open,p.low,p.close],function(m,e){null!==m&&(t&&
-(m=a.modifyValue(m)),p[x[e]]=k.toPixels(m,!0))})})},drawPoints:function(){var a=this,k=a.chart;D(a.points,function(t){var x,p,m,e,d=t.graphic,l,w=!d;void 0!==t.plotY&&(d||(t.graphic=d=k.renderer.path().add(a.group)),d.attr(a.pointAttribs(t,t.selected&&"select")),p=d.strokeWidth()%2/2,l=Math.round(t.plotX)-p,m=Math.round(t.shapeArgs.width/2),e=["M",l,Math.round(t.yBottom),"L",l,Math.round(t.plotY)],null!==t.open&&(x=Math.round(t.plotOpen)+p,e.push("M",l,x,"L",l-m,x)),null!==t.close&&(x=Math.round(t.plotClose)+
-p,e.push("M",l,x,"L",l+m,x)),d[w?"attr":"animate"]({d:e}).addClass(t.getClassName(),!0))})},animate:null},{getClassName:function(){return A.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(K);(function(a){var D=a.defaultPlotOptions,A=a.each,G=a.merge,H=a.seriesType,w=a.seriesTypes;H("candlestick","ohlc",G(D.column,{states:{hover:{lineWidth:2}},tooltip:D.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff"}),{pointAttribs:function(a,
-t){var k=w.column.prototype.pointAttribs.call(this,a,t),p=this.options,m=a.open<a.close,e=p.lineColor||this.color;k["stroke-width"]=p.lineWidth;k.fill=a.options.color||(m?p.upColor||this.color:this.color);k.stroke=a.lineColor||(m?p.upLineColor||e:e);t&&(a=p.states[t],k.fill=a.color||k.fill,k.stroke=a.lineColor||k.stroke,k["stroke-width"]=a.lineWidth||k["stroke-width"]);return k},drawPoints:function(){var a=this,t=a.chart;A(a.points,function(k){var p=k.graphic,m,e,d,l,w,b,u,c=!p;void 0!==k.plotY&&
-(p||(k.graphic=p=t.renderer.path().add(a.group)),p.attr(a.pointAttribs(k,k.selected&&"select")).shadow(a.options.shadow),w=p.strokeWidth()%2/2,b=Math.round(k.plotX)-w,m=k.plotOpen,e=k.plotClose,d=Math.min(m,e),m=Math.max(m,e),u=Math.round(k.shapeArgs.width/2),e=Math.round(d)!==Math.round(k.plotY),l=m!==k.yBottom,d=Math.round(d)+w,m=Math.round(m)+w,w=[],w.push("M",b-u,m,"L",b-u,d,"L",b+u,d,"L",b+u,m,"Z","M",b,d,"L",b,e?Math.round(k.plotY):d,"M",b,m,"L",b,l?Math.round(k.yBottom):m),p[c?"attr":"animate"]({d:w}).addClass(k.getClassName(),
-!0))})}})})(K);(function(a){var D=a.addEvent,A=a.each,G=a.merge,H=a.noop,w=a.Renderer,k=a.seriesType,t=a.seriesTypes,x=a.TrackerMixin,p=a.VMLRenderer,m=a.SVGRenderer.prototype.symbols;k("flags","column",{pointRange:0,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,
-takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,pointAttribs:function(a,d){var e=this.options,k=a&&a.color||this.color,b=e.lineColor,m=a&&a.lineWidth;a=a&&a.fillColor||e.fillColor;d&&(a=e.states[d].fillColor,b=e.states[d].lineColor,m=e.states[d].lineWidth);return{fill:a||k,stroke:b||k,"stroke-width":m||e.lineWidth||0}},translate:function(){t.column.prototype.translate.apply(this);var a=this.options,d=this.chart,k=this.points,m=k.length-1,b,p,c=a.onSeries;
-b=c&&d.get(c);var a=a.onKey||"y",c=b&&b.options.step,w=b&&b.points,q=w&&w.length,r=this.xAxis,h=r.getExtremes(),x=0,f,v,n;if(b&&b.visible&&q)for(x=(b.pointXOffset||0)+(b.barW||0)/2,b=b.currentDataGrouping,v=w[q-1].x+(b?b.totalRange:0),k.sort(function(a,b){return a.x-b.x}),a="plot"+a[0].toUpperCase()+a.substr(1);q--&&k[m]&&!(b=k[m],f=w[q],f.x<=b.x&&void 0!==f[a]&&(b.x<=v&&(b.plotY=f[a],f.x<b.x&&!c&&(n=w[q+1])&&void 0!==n[a]&&(b.plotY+=(b.x-f.x)/(n.x-f.x)*(n[a]-f[a]))),m--,q++,0>m)););A(k,function(a,
-b){var c;void 0===a.plotY&&(a.x>=h.min&&a.x<=h.max?a.plotY=d.chartHeight-r.bottom-(r.opposite?r.height:0)+r.offset-d.plotTop:a.shapeArgs={});a.plotX+=x;(p=k[b-1])&&p.plotX===a.plotX&&(void 0===p.stackIndex&&(p.stackIndex=0),c=p.stackIndex+1);a.stackIndex=c})},drawPoints:function(){var a=this.points,d=this.chart,k=d.renderer,m,b,p=this.options,c=p.y,t,q,r,h,w,f,v,n=this.yAxis;for(q=a.length;q--;)r=a[q],v=r.plotX>this.xAxis.len,m=r.plotX,h=r.stackIndex,t=r.options.shape||p.shape,b=r.plotY,void 0!==
-b&&(b=r.plotY+c-(void 0!==h&&h*p.stackDistance)),w=h?void 0:r.plotX,f=h?void 0:r.plotY,h=r.graphic,void 0!==b&&0<=m&&!v?(h||(h=r.graphic=k.label("",null,null,t,null,null,p.useHTML).attr(this.pointAttribs(r)).css(G(p.style,r.style)).attr({align:"flag"===t?"left":"center",width:p.width,height:p.height,"text-align":p.textAlign}).addClass("highcharts-point").add(this.markerGroup),h.shadow(p.shadow)),0<m&&(m-=h.strokeWidth()%2),h.attr({text:r.options.title||p.title||"A",x:m,y:b,anchorX:w,anchorY:f}),r.tooltipPos=
-d.inverted?[n.len+n.pos-d.plotLeft-b,this.xAxis.len-m]:[m,b+n.pos-d.plotTop]):h&&(r.graphic=h.destroy())},drawTracker:function(){var a=this.points;x.drawTrackerPoint.apply(this);A(a,function(d){var e=d.graphic;e&&D(e.element,"mouseover",function(){0<d.stackIndex&&!d.raised&&(d._y=e.y,e.attr({y:d._y-8}),d.raised=!0);A(a,function(a){a!==d&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:H,buildKDTree:H,setClip:H});m.flag=function(a,d,k,m,b){return["M",b&&b.anchorX||a,b&&b.anchorY||
-d,"L",a,d+m,a,d,a+k,d,a+k,d+m,a,d+m,"Z"]};A(["circle","square"],function(a){m[a+"pin"]=function(d,e,k,b,p){var c=p&&p.anchorX;p=p&&p.anchorY;"circle"===a&&b>k&&(d-=Math.round((b-k)/2),k=b);d=m[a](d,e,k,b);c&&p&&d.push("M",c,e>p?e:e+b,"L",c,p);return d}});w===p&&A(["flag","circlepin","squarepin"],function(a){p.prototype.symbols[a]=m[a]})})(K);(function(a){function D(a,b,c){this.init(a,b,c)}var A=a.addEvent,G=a.Axis,H=a.correctFloat,w=a.defaultOptions,k=a.defined,t=a.destroyObjectProperties,x=a.doc,
-p=a.each,m=a.fireEvent,e=a.hasTouch,d=a.isTouchDevice,l=a.merge,z=a.pick,b=a.removeEvent,u=a.wrap,c,C={height:d?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!d,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};w.scrollbar=
-l(!0,C,w.scrollbar);a.swapXY=c=function(a,b){var c=a.length,d;if(b)for(b=0;b<c;b+=3)d=a[b+1],a[b+1]=a[b+2],a[b+2]=d;return a};D.prototype={init:function(a,b,c){this.scrollbarButtons=[];this.renderer=a;this.userOptions=b;this.options=l(C,b);this.chart=c;this.size=z(this.options.size,this.options.height);b.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var a=this.renderer,b=this.options,d=this.size,e;this.group=e=a.g("scrollbar").attr({zIndex:b.zIndex,translateY:-99999}).add();
-this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:d,width:d}).add(e);this.track.attr({fill:b.trackBackgroundColor,stroke:b.trackBorderColor,"stroke-width":b.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=
-a.path(c(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",3,2*d/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbar.attr({fill:b.barBackgroundColor,stroke:b.barBorderColor,"stroke-width":b.barBorderWidth});this.scrollbarRifles.attr({stroke:b.rifleColor,"stroke-width":1});this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);
-this.drawScrollbarButton(1)},position:function(a,b,c,d){var e=this.options.vertical,h=0,k=this.rendered?"animate":"attr";this.x=a;this.y=b+this.trackBorderWidth;this.width=c;this.xOffset=this.height=d;this.yOffset=h;e?(this.width=this.yOffset=c=h=this.size,this.xOffset=b=0,this.barWidth=d-2*c,this.x=a+=this.options.margin):(this.height=this.xOffset=d=b=this.size,this.barWidth=c-2*d,this.y+=this.options.margin);this.group[k]({translateX:a,translateY:this.y});this.track[k]({width:c,height:d});this.scrollbarButtons[1][k]({translateX:e?
-0:c-b,translateY:e?d-h:0})},drawScrollbarButton:function(a){var b=this.renderer,d=this.scrollbarButtons,e=this.options,f=this.size,k;k=b.g().add(this.group);d.push(k);k=b.rect().addClass("highcharts-scrollbar-button").add(k);k.attr({stroke:e.buttonBorderColor,"stroke-width":e.buttonBorderWidth,fill:e.buttonBackgroundColor});k.attr(k.crisp({x:-.5,y:-.5,width:f+1,height:f+1,r:e.buttonBorderRadius},k.strokeWidth()));k=b.path(c(["M",f/2+(a?-1:1),f/2-3,"L",f/2+(a?-1:1),f/2+3,"L",f/2+(a?2:-2),f/2],e.vertical)).addClass("highcharts-scrollbar-arrow").add(d[a]);
-k.attr({fill:e.buttonArrowColor})},setRange:function(a,b){var c=this.options,d=c.vertical,e=c.minWidth,l=this.barWidth,n,m,q=this.rendered&&!this.hasDragged?"animate":"attr";k(l)&&(a=Math.max(a,0),n=l*a,this.calculatedWidth=m=H(l*Math.min(b,1)-n),m<e&&(n=(l-e+m)*a,m=e),e=Math.floor(n+this.xOffset+this.yOffset),l=m/2-.5,this.from=a,this.to=b,d?(this.scrollbarGroup[q]({translateY:e}),this.scrollbar[q]({height:m}),this.scrollbarRifles[q]({translateY:l}),this.scrollbarTop=e,this.scrollbarLeft=0):(this.scrollbarGroup[q]({translateX:e}),
-this.scrollbar[q]({width:m}),this.scrollbarRifles[q]({translateX:l}),this.scrollbarLeft=e,this.scrollbarTop=0),12>=m?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===c.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=this;a.mouseMoveHandler=function(b){var c=a.chart.pointer.normalize(b),d=a.options.vertical?"chartY":"chartX",e=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][d]||(c=a.cursorToScrollbarPosition(c)[d],
-d=a[d],d=c-d,a.hasDragged=!0,a.updatePosition(e[0]+d,e[1]+d),a.hasDragged&&m(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&m(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=
-!0};a.buttonToMinClick=function(b){var c=H(a.to-a.from)*a.options.step;a.updatePosition(H(a.from-c),H(a.to-c));m(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var c=(a.to-a.from)*a.options.step;a.updatePosition(a.from+c,a.to+c);m(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var c=a.chart.pointer.normalize(b),d=a.to-a.from,e=a.y+a.scrollbarTop,k=a.x+a.scrollbarLeft;a.options.vertical&&c.chartY>e||!a.options.vertical&&
-c.chartX>k?a.updatePosition(a.from+d,a.to+d):a.updatePosition(a.from-d,a.to-d);m(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1<b&&(a=H(1-H(b-a)),b=1);0>a&&(b=H(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();
-this.init(this.chart.renderer,l(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,c=this.scrollbarGroup.element,d=this.mouseDownHandler,f=this.mouseMoveHandler,k=this.mouseUpHandler,a=[[b[a[0]].element,"click",this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[c,"mousedown",d],[x,"mousemove",f],[x,"mouseup",k]];e&&a.push([c,"touchstart",d],[x,"touchmove",f],[x,"touchend",
-k]);p(a,function(a){A.apply(null,a)});this._events=a},removeEvents:function(){p(this._events,function(a){b.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();p(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,t(a.scrollbarButtons))}};u(G.prototype,"init",function(a){var b=this;a.apply(b,[].slice.call(arguments,1));b.options.scrollbar&&
-b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new D(b.chart.renderer,b.options.scrollbar,b.chart),A(b.scrollbar,"changed",function(a){var c=Math.min(z(b.options.min,b.min),b.min,b.dataMin),d=Math.max(z(b.options.max,b.max),b.max,b.dataMax)-c,e;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(e=c+d*this.to,c+=d*this.from):(e=c+d*(1-this.from),c+=d*(1-this.to));b.setExtremes(c,e,!0,!1,a)}))});u(G.prototype,"render",function(a){var b=
-Math.min(z(this.options.min,this.min),this.min,this.dataMin),c=Math.max(z(this.options.max,this.max),this.max,this.dataMax),d=this.scrollbar,e;a.apply(this,[].slice.call(arguments,1));d&&(this.horiz?d.position(this.left,this.top+this.height+this.offset+2+(this.opposite?0:this.axisTitleMargin),this.width,this.height):d.position(this.left+this.width+2+this.offset+(this.opposite?this.axisTitleMargin:0),this.top,this.width,this.height),isNaN(b)||isNaN(c)||!k(this.min)||!k(this.max)?d.setRange(0,0):(e=
-(this.min-b)/(c-b),b=(this.max-b)/(c-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?d.setRange(e,b):d.setRange(1-b,1-e)))});u(G.prototype,"getOffset",function(a){var b=this.horiz?2:1,c=this.scrollbar;a.apply(this,[].slice.call(arguments,1));c&&(this.chart.axisOffset[b]+=c.size+c.options.margin)});u(G.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,[].slice.call(arguments,1))});a.Scrollbar=D})(K);(function(a){function D(a){this.init(a)}
-var A=a.addEvent,G=a.Axis,H=a.Chart,w=a.color,k=a.defaultOptions,t=a.defined,x=a.destroyObjectProperties,p=a.doc,m=a.each,e=a.erase,d=a.error,l=a.extend,z=a.grep,b=a.hasTouch,u=a.isNumber,c=a.isObject,C=a.merge,q=a.pick,r=a.removeEvent,h=a.Scrollbar,E=a.Series,f=a.seriesTypes,v=a.wrap,n=a.swapXY,y=[].concat(a.defaultDataGroupingUnits),L=function(a){var b=z(arguments,u);if(b.length)return Math[a].apply(0,b)};y[4]=["day",[1,2,3,4]];y[5]=["week",[1,2,3]];f=void 0===f.areaspline?"line":"areaspline";l(k,
-{navigator:{height:40,margin:25,maskInside:!0,handles:{backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:w("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:f,color:"#335cad",fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:y},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,
-threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});D.prototype={drawHandle:function(a,b,c,d){this.handles[b][d](c?{translateX:Math.round(this.left+
-this.height/2-8),translateY:Math.round(this.top+parseInt(a,10)+.5)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},getHandlePath:function(a){return n(["M",-4.5,.5,"L",3.5,.5,"L",3.5,15.5,"L",-4.5,15.5,"L",-4.5,.5,"M",-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12],a)},drawOutline:function(a,b,c,d){var g=this.navigatorOptions.maskInside,e=this.outline.strokeWidth(),f=e/2,e=e%2/2,h=this.outlineHeight,k=this.scrollbarHeight,l=this.size,n=this.left-k,m=this.top;
-c?(n-=f,c=m+b+e,b=m+a+e,a=["M",n+h,m-k-e,"L",n+h,c,"L",n,c,"L",n,b,"L",n+h,b,"L",n+h,m+l+k].concat(g?["M",n+h,c-f,"L",n+h,b+f]:[])):(a+=n+k-e,b+=n+k-e,m+=f,a=["M",n,m,"L",a,m,"L",a,m+h,"L",b,m+h,"L",b,m,"L",n+l+2*k,m].concat(g?["M",a-f,m,"L",b+f,m]:[]));this.outline[d]({d:a})},drawMasks:function(a,b,c,d){var g=this.left,e=this.top,f=this.height,h,k,l,n;c?(l=[g,g,g],n=[e,e+a,e+b],k=[f,f,f],h=[a,b-a,this.size-b]):(l=[g,g+a,g+b],n=[e,e,e],k=[a,b-a,this.size-b],h=[f,f,f]);m(this.shades,function(a,b){a[d]({x:l[b],
-y:n[b],width:k[b],height:h[b]})})},renderElements:function(){var a=this,b=a.navigatorOptions,c=b.maskInside,d=a.chart,e=d.inverted,f=d.renderer,h;a.navigatorGroup=h=f.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();var k={cursor:e?"ns-resize":"ew-resize"};m([!c,c,!c],function(c,d){a.shades[d]=f.rect().addClass("highcharts-navigator-mask"+(1===d?"-inside":"-outside")).attr({fill:c?b.maskFill:"transparent"}).css(1===d&&k).add(h)});a.outline=f.path().addClass("highcharts-navigator-outline").attr({"stroke-width":b.outlineWidth,
-stroke:b.outlineColor}).add(h);m([0,1],function(c){a.handles[c]=f.path(a.getHandlePath(e)).attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(h);var d=b.handles;a.handles[c].attr({fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":1}).css(k)})},update:function(a){this.destroy();C(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,b,c,d){var g=this.chart,e,f,h=this.scrollbarHeight,k,l=this.xAxis;
-e=this.navigatorEnabled;var n,m=this.rendered;f=g.inverted;var p=g.xAxis[0].minRange;if(!this.hasDragged||t(c)){if(!u(a)||!u(b))if(m)c=0,d=l.width;else return;this.left=q(l.left,g.plotLeft+h+(f?g.plotWidth:0));this.size=n=k=q(l.len,(f?g.plotHeight:g.plotWidth)-2*h);g=f?h:k+2*h;c=q(c,l.toPixels(a,!0));d=q(d,l.toPixels(b,!0));u(c)&&Infinity!==Math.abs(c)||(c=0,d=g);a=l.toValue(c,!0);b=l.toValue(d,!0);if(Math.abs(b-a)<p)if(this.grabbedLeft)c=l.toPixels(b-p,!0);else if(this.grabbedRight)d=l.toPixels(a+
-p,!0);else return;this.zoomedMax=Math.min(Math.max(c,d,0),n);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,d),0),n);this.range=this.zoomedMax-this.zoomedMin;n=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);e&&(this.navigatorGroup.attr({visibility:"visible"}),m=m&&!this.hasDragged?"animate":"attr",this.drawMasks(c,n,f,m),this.drawOutline(c,n,f,m),this.drawHandle(c,0,f,m),this.drawHandle(n,1,f,m));this.scrollbar&&(f?(f=this.top-h,e=this.left-h+(e?
-0:this.height),h=k+2*h):(f=this.top+(e?this.height:-h),e=this.left-h),this.scrollbar.position(e,f,g,h),this.scrollbar.setRange(c/k,n/k));this.rendered=!0}},addMouseEvents:function(){var a=this,c=a.chart,d=c.container,e=[],f,h,k=b?["touchstart","touchmove","touchend"]:["mousedown","mousemove","mouseup"];a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=h=function(b){a.onMouseUp(b)};e=a.getPartsEvents(k[0]);e.push(A(d,k[1],f),A(p,k[2],h));a.eventsToUnbind=e;a.series&&a.series[0]&&
-e.push(A(a.series[0].xAxis,"foundExtremes",function(){c.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var b=this,c=[];m(["shades","handles"],function(d){m(b[d],function(e,g){c.push(A(e.element,a,function(a){b[d+"Mousedown"](a,g)}))})});return c},shadesMousedown:function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,h=this.size,k=this.range,l=a.chartX,n;c.inverted&&(l=a.chartY,f=this.top);1===b?(this.grabbedCenter=l,this.fixedWidth=
-k,this.dragOffset=l-e):(a=l-f-k/2,0===b?a=Math.max(0,a):2===b&&a+k>=h&&(a=h-k,n=this.getUnionExtremes().dataMax),a!==e&&(this.fixedWidth=k,b=d.toFixedRange(a,a+k,null,n),c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=a.inverted&&!c.reversed||!a.inverted&&c.reversed;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:
-c.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null},onMouseMove:function(a){var b=this,c=b.chart,d=b.left,e=b.navigatorSize,f=b.range,h=b.dragOffset,k=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,k&&(d=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-d,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-d)):b.grabbedCenter&&(b.hasDragged=!0,c<h?c=h:c>
-e+h-f&&(c=e+h-f),b.render(0,0,c-h,c-h+f)),b.hasDragged&&b.scrollbar&&b.scrollbar.options.liveRedraw&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))},onMouseUp:function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e,f,h=a.DOMEvent||a;(!this.hasDragged||d&&d.hasDragged)&&"scrollbar"!==a.trigger||(this.zoomedMin===this.otherHandlePos?e=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.getUnionExtremes().dataMax),c=c.toFixedRange(this.zoomedMin,
-this.zoomedMax,e,f),t(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:h}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(m(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},
-removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&!1!==this.navigatorOptions.adaptToUpdatedData&&(m(a,function(a){r(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&r(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,c=b.navigator,d=c.enabled,e=b.scrollbar,f=e.enabled,b=d?c.height:0,k=f?e.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=k;this.scrollbarEnabled=
-f;this.navigatorEnabled=d;this.navigatorOptions=c;this.scrollbarOptions=e;this.outlineHeight=b+k;this.opposite=q(c.opposite,!d&&a.inverted);var l=this,e=l.baseSeries,f=a.xAxis.length,n=a.yAxis.length,m=e&&e[0]&&e[0].xAxis||a.xAxis[0];a.extraMargin={type:l.opposite?"plotTop":"marginBottom",value:(d||!a.inverted?l.outlineHeight:0)+c.margin};a.inverted&&(a.extraMargin.type=l.opposite?"marginRight":"plotLeft");a.isDirtyBox=!0;l.navigatorEnabled?(l.xAxis=new G(a,C({breaks:m.options.breaks,ordinal:m.options.ordinal},
-c.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[k,0,-k,0],width:b}:{offsets:[0,-k,0,k],height:b})),l.yAxis=new G(a,C(c.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:n,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),e||c.series.data?l.addBaseSeries():0===a.series.length&&v(a,"redraw",function(b,c){0<a.series.length&&!l.series&&
-(l.setBaseSeries(),a.redraw=b);b.call(a,c)}),l.renderElements(),l.addMouseEvents()):l.xAxis={translate:function(b,c){var d=a.xAxis[0],e=d.getExtremes(),g=d.len-2*k,f=L("min",d.options.min,e.dataMin),d=L("max",d.options.max,e.dataMax)-f;return c?b*d/g+f:g*(b-f)/d},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:G.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=l.scrollbar=new h(a.renderer,C(a.options.scrollbar,{margin:l.navigatorEnabled?
-0:10,vertical:a.inverted}),a),A(l.scrollbar,"changed",function(b){var c=l.size,d=c*this.to,c=c*this.from;l.hasDragged=l.scrollbar.hasDragged;l.render(0,0,c,d);(a.options.scrollbar.liveRedraw||"mousemove"!==b.DOMType)&&setTimeout(function(){l.onMouseUp(b)})}));l.addBaseSeriesEvents();l.addChartEvents()},getUnionExtremes:function(a){var b=this.chart.xAxis[0],c=this.xAxis,d=c.options,e=b.options,f;a&&null===b.dataMin||(f={dataMin:q(d&&d.min,L("min",e.min,b.dataMin,c.dataMin,c.min)),dataMax:q(d&&d.max,
-L("max",e.max,b.dataMax,c.dataMax,c.max))});return f},setBaseSeries:function(a){var b=this.chart,c;a=a||b.options&&b.options.navigator.baseSeries||0;this.series&&(this.removeBaseSeriesEvents(),m(this.series,function(a){a.destroy()}));c=this.baseSeries=[];m(b.series||[],function(b,d){(b.options.showInNavigator||(d===a||b.options.id===a)&&!1!==b.options.showInNavigator)&&c.push(b)});this.xAxis&&!this.xAxis.fake&&this.addBaseSeries()},addBaseSeries:function(){var a=this,b=a.chart,c=a.series=[],d=a.baseSeries,
-e,f,h=a.navigatorOptions.series,k,l={enableMouseTracking:!1,index:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,visible:!0};d?m(d,function(d,g){l.name="Navigator "+(g+1);e=d.options||{};k=e.navigatorOptions||{};f=C(e,l,h,k);g=k.data||h.data;a.hasNavigatorData=a.hasNavigatorData||!!g;f.data=g||e.data&&e.data.slice(0);d.navigatorSeries=b.initSeries(f);c.push(d.navigatorSeries)}):(f=C(h,l),f.data=h.data,a.hasNavigatorData=!!f.data,
-c.push(b.initSeries(f)));this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,b=a.baseSeries||[];b[0]&&b[0].xAxis&&A(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);!1!==this.navigatorOptions.adaptToUpdatedData&&m(b,function(b){b.xAxis&&A(b,"updatedData",this.updatedDataHandler);A(b,"remove",function(){this.navigatorSeries&&(e(a.series,this.navigatorSeries),this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},modifyNavigatorAxisExtremes:function(){var a=
-this.xAxis,b;a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax,b=b.max-b.min,e=a.stickToMin,f=a.stickToMax,h,k,l=a.series&&a.series[0],n=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(e&&(k=c,h=k+b),f&&(h=d,e||(k=Math.max(h-b,l&&l.xData?l.xData[0]:-Number.MAX_VALUE))),n&&(e||f)&&u(k)&&
-(this.min=this.userMin=k,this.max=this.userMax=h));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,b=this.navigatorSeries;a.stickToMin=u(this.xAxis.min)&&this.xAxis.min<=this.xData[0];a.stickToMax=Math.round(a.zoomedMax)>=Math.round(a.size);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))},addChartEvents:function(){A(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&&a.baseSeries[0]&&
-a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);b&&a.render(b.min,b.max)})},destroy:function(){this.removeEvents();this.xAxis&&(e(this.chart.xAxis,this.xAxis),e(this.chart.axes,this.xAxis));this.yAxis&&(e(this.chart.yAxis,this.yAxis),e(this.chart.axes,this.yAxis));m(this.series||[],function(a){a.destroy&&a.destroy()});m("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&this[a].destroy&&this[a].destroy();
-this[a]=null},this);m([this.handles],function(a){x(a)},this)}};a.Navigator=D;v(G.prototype,"zoom",function(a,b,c){var d=this.chart,e=d.options,f=e.chart.zoomType,g=e.navigator,e=e.rangeSelector,h;this.isXAxis&&(g&&g.enabled||e&&e.enabled)&&("x"===f?d.resetZoomButton="blocked":"y"===f?h=!1:"xy"===f&&(d=this.previousZoom,t(b)?this.previousZoom=[this.min,this.max]:d&&(b=d[0],c=d[1],delete this.previousZoom)));return void 0!==h?h:a.call(this,b,c)});v(H.prototype,"init",function(a,b,c){A(this,"beforeRender",
-function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new D(this)});a.call(this,b,c)});v(H.prototype,"setChartSize",function(a){var b=this.legend,c=this.navigator,d,e,f,h;a.apply(this,[].slice.call(arguments,1));c&&(e=b.options,f=c.xAxis,h=c.yAxis,d=c.scrollbarHeight,this.inverted?(c.left=c.opposite?this.chartWidth-d-c.height:this.spacing[3]+d,c.top=this.plotTop+d):(c.left=this.plotLeft+d,c.top=c.navigatorOptions.top||this.chartHeight-c.height-d-this.spacing[2]-
-("bottom"===e.verticalAlign&&e.enabled&&!e.floating?b.legendHeight+q(e.margin,10):0)),f&&h&&(this.inverted?f.options.left=h.options.left=c.left:f.options.top=h.options.top=c.top,f.setAxisSize(),h.setAxisSize()))});v(E.prototype,"addPoint",function(a,b,e,f,h){var g=this.options.turboThreshold;g&&this.xData.length>g&&c(b,!0)&&this.chart.navigator&&d(20,!0);a.call(this,b,e,f,h)});v(H.prototype,"addSeries",function(a,b,c,d){a=a.call(this,b,!1,d);this.navigator&&this.navigator.setBaseSeries();q(c,!0)&&
-this.redraw();return a});v(E.prototype,"update",function(a,b,c){a.call(this,b,!1);this.chart.navigator&&this.chart.navigator.setBaseSeries();q(c,!0)&&this.chart.redraw()});H.prototype.callbacks.push(function(a){var b=a.navigator;b&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))})})(K);(function(a){function D(a){this.init(a)}var A=a.addEvent,G=a.Axis,H=a.Chart,w=a.css,k=a.createElement,t=a.dateFormat,x=a.defaultOptions,p=x.global.useUTC,m=a.defined,e=a.destroyObjectProperties,d=a.discardElement,
-l=a.each,z=a.extend,b=a.fireEvent,u=a.Date,c=a.isNumber,C=a.merge,q=a.pick,r=a.pInt,h=a.splat,E=a.wrap;z(x,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"},labelStyle:{color:"#666666"}}});x.lang=C(x.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});D.prototype={clickButton:function(a,b){var d=this,e=d.chart,f=d.buttonOptions[a],k=e.xAxis[0],m=e.scroller&&e.scroller.getUnionExtremes()||k||{},g=
-m.dataMin,r=m.dataMax,t,v=k&&Math.round(Math.min(k.max,q(r,k.max))),u=f.type,w,m=f._range,x,z,C,D=f.dataGrouping;if(null!==g&&null!==r){e.fixedRange=m;D&&(this.forcedDataGrouping=!0,G.prototype.setDataGrouping.call(k||{chart:this.chart},D,!1));if("month"===u||"year"===u)k?(u={range:f,max:v,dataMin:g,dataMax:r},t=k.minFromRange.call(u),c(u.newMax)&&(v=u.newMax)):m=f;else if(m)t=Math.max(v-m,g),v=Math.min(t+m,r);else if("ytd"===u)if(k)void 0===r&&(g=Number.MAX_VALUE,r=Number.MIN_VALUE,l(e.series,function(a){a=
-a.xData;g=Math.min(a[0],g);r=Math.max(a[a.length-1],r)}),b=!1),v=d.getYTDExtremes(r,g,p),t=x=v.min,v=v.max;else{A(e,"beforeRender",function(){d.clickButton(a)});return}else"all"===u&&k&&(t=g,v=r);d.setSelected(a);k?k.setExtremes(t,v,q(b,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:f}):(w=h(e.options.xAxis)[0],C=w.range,w.range=m,z=w.min,w.min=x,A(e,"load",function(){w.range=C;w.min=z}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,
-text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var c=this,d=a.options.rangeSelector,e=d.buttons||[].concat(c.defaultButtons),f=d.selected,h=function(){var a=c.minInput,d=c.maxInput;a&&a.blur&&b(a,"blur");d&&d.blur&&b(d,"blur")};c.chart=a;c.options=d;c.buttons=[];a.extraTopMargin=d.height;c.buttonOptions=e;this.unMouseDown=A(a.container,"mousedown",h);this.unResize=A(a,"resize",
-h);l(e,c.computeButtonRange);void 0!==f&&e[f]&&this.clickButton(f,!1);A(a,"load",function(){A(a.xAxis[0],"setExtremes",function(b){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==b.trigger&&"updatedData"!==b.trigger&&c.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,b=a.xAxis[0],d=Math.round(b.max-b.min),e=!b.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||b,h=a.dataMin,k=a.dataMax,a=this.getYTDExtremes(k,h,p),m=a.min,g=a.max,
-q=this.selected,r=c(q),t=this.options.allButtonsEnabled,u=this.buttons;l(this.buttonOptions,function(a,c){var f=a._range,l=a.type,n=a.count||1;a=u[c];var p=0;c=c===q;var v=f>k-h,y=f<b.minRange,w=!1,x=!1,f=f===d;("month"===l||"year"===l)&&d>=864E5*{month:28,year:365}[l]*n&&d<=864E5*{month:31,year:366}[l]*n?f=!0:"ytd"===l?(f=g-m===d,w=!c):"all"===l&&(f=b.max-b.min>=k-h,x=!c&&r&&f);l=!t&&(v||y||x||e);f=c&&f||f&&!r&&!w;l?p=3:f&&(r=!0,p=2);a.state!==p&&a.setState(p)})},computeButtonRange:function(a){var b=
-a.type,c=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[b])a._range=d[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this[a+"Input"];m(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=t(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:t(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var b=this.inputGroup,c=this[a+"DateBox"];
-w(this[a+"Input"],{left:b.translateX+c.x+"px",top:b.translateY+"px",width:c.width-2+"px",height:c.height-2+"px",border:"2px solid silver"})},hideInput:function(a){w(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function b(){var a=q.value,b=(l.inputDateParser||Date.parse)(a),f=e.xAxis[0],g=e.scroller&&e.scroller.xAxis?e.scroller.xAxis:f,h=g.dataMin,g=g.dataMax;b!==q.previousValue&&(q.previousValue=b,c(b)||(b=a.split("-"),b=Date.UTC(r(b[0]),r(b[1])-
-1,r(b[2]))),c(b)&&(p||(b+=6E4*(new Date).getTimezoneOffset()),m?b>d.maxInput.HCTime?b=void 0:b<h&&(b=h):b<d.minInput.HCTime?b=void 0:b>g&&(b=g),void 0!==b&&f.setExtremes(m?b:f.min,m?f.max:b,void 0,void 0,{trigger:"rangeSelectorInput"})))}var d=this,e=d.chart,f=e.renderer.style||{},h=e.renderer,l=e.options.rangeSelector,g=d.div,m="min"===a,q,t,u=this.inputGroup;this[a+"Label"]=t=h.label(x.lang[m?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(u);
-u.offset+=t.width+5;this[a+"DateBox"]=h=h.label("",u.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",function(){d.showInput(a);d[a+"Input"].focus()}).add(u);u.offset+=h.width+(m?10:0);this[a+"Input"]=q=k("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:e.plotTop+"px"},g);t.css(C(f,l.labelStyle));h.css(C({color:"#333333"},
-f,l.inputStyle));w(q,z({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:f.fontSize,fontFamily:f.fontFamily,left:"-9em"},l.inputStyle));q.onfocus=function(){d.showInput(a)};q.onblur=function(){d.hideInput(a)};q.onchange=b;q.onkeypress=function(a){13===a.keyCode&&b()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=q((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,
-b,c){var d=new u(a),e=d[u.hcGetFullYear]();c=c?u.UTC(e,0,1):+new u(e,0,1);b=Math.max(b||0,c);d=d.getTime();return{max:Math.min(a||d,d),min:b}},render:function(a,b){var c=this,d=c.chart,e=d.renderer,f=d.container,h=d.options,g=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,p=h.rangeSelector,r=c.buttons,h=x.lang,t=c.div,t=c.inputGroup,u=p.buttonTheme,v=p.buttonPosition||{},w=p.inputEnabled,A=u&&u.states,C=d.plotLeft,D,E=this.getPosition(),G=c.group,H=c.rendered;!1!==
-p.enabled&&(H||(c.group=G=e.g("range-selector-buttons").add(),c.zoomText=e.text(h.rangeSelectorZoom,q(v.x,C),15).css(p.labelStyle).add(G),D=q(v.x,C)+c.zoomText.getBBox().width+5,l(c.buttonOptions,function(a,b){r[b]=e.button(a.text,D,0,function(){c.clickButton(b);c.isActive=!0},u,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(G);D+=r[b].width+q(p.buttonSpacing,5)}),!1!==w&&(c.div=t=k("div",null,{position:"relative",height:0,zIndex:1}),f.parentNode.insertBefore(t,f),c.inputGroup=
-t=e.g("input-group").add(),t.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),G[H?"animate":"attr"]({translateY:E.buttonTop}),!1!==w&&(t.align(z({y:E.inputTop,width:t.offset,x:g&&E.inputTop<(g.y||0)+g.height-d.spacing[0]?-40:0},p.inputPosition),!0,d.spacingBox),m(w)||(d=G.getBBox(),t[t.alignAttr.translateX<d.x+d.width+10?"hide":"show"]()),c.setInputValue("min",a),c.setInputValue("max",b)),c.rendered=!0)},update:function(a){var b=this.chart;C(!0,b.options.rangeSelector,a);this.destroy();
-this.init(b)},destroy:function(){var a=this.minInput,b=this.maxInput,c;this.unMouseDown();this.unResize();e(this.buttons);a&&(a.onfocus=a.onblur=a.onchange=null);b&&(b.onfocus=b.onblur=b.onchange=null);for(c in this)this[c]&&"chart"!==c&&(this[c].destroy?this[c].destroy():this[c].nodeType&&d(this[c])),this[c]!==D.prototype[c]&&(this[c]=null)}};G.prototype.toFixedRange=function(a,b,d,e){var f=this.chart&&this.chart.fixedRange;a=q(d,this.translate(a,!0,!this.horiz));b=q(e,this.translate(b,!0,!this.horiz));
-d=f&&(b-a)/f;.7<d&&1.3>d&&(e?a=b-f:b=a+f);c(a)||(a=b=void 0);return{min:a,max:b}};G.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],d,e=this.max,h,k,l=function(a,c){var d=new Date(a);d["set"+b](d["get"+b]()+c);return d.getTime()-a};c(a)?(d=e-a,k=a):(d=e+l(e,-a.count),this.chart&&(this.chart.fixedRange=e-d));h=q(this.dataMin,Number.MIN_VALUE);c(d)||(d=h);d<=h&&(d=h,void 0===k&&(k=l(d,a.count)),this.newMax=Math.min(d+k,this.dataMax));c(e)||(d=void 0);return d};
-E(H.prototype,"init",function(a,b,c){A(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new D(this))});a.call(this,b,c)});H.prototype.callbacks.push(function(a){function b(){d=a.xAxis[0].getExtremes();c(d.min)&&e.render(d.min,d.max)}var d,e=a.rangeSelector,f,h;e&&(h=A(a.xAxis[0],"afterSetExtremes",function(a){e.render(a.min,a.max)}),f=A(a,"redraw",b),b());A(a,"destroy",function(){e&&(f(),h())})});a.RangeSelector=D})(K);(function(a){var D=a.arrayMax,A=a.arrayMin,G=a.Axis,
-H=a.Chart,w=a.defined,k=a.each,t=a.extend,x=a.format,p=a.inArray,m=a.isNumber,e=a.isString,d=a.map,l=a.merge,z=a.pick,b=a.Point,u=a.Renderer,c=a.Series,C=a.splat,q=a.SVGRenderer,r=a.VMLRenderer,h=a.wrap,E=c.prototype,f=E.init,v=E.processData,n=b.prototype.tooltipFormatter;a.StockChart=a.stockChart=function(b,c,f){var h=e(b)||b.nodeName,g=arguments[h?1:0],k=g.series,m=a.getOptions(),n,p=z(g.navigator&&g.navigator.enabled,m.navigator.enabled,!0),q=p?{startOnTick:!1,endOnTick:!1}:null,r={marker:{enabled:!1,
-radius:2}},t={shadow:!1,borderWidth:0};g.xAxis=d(C(g.xAxis||{}),function(a){return l({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},m.xAxis,a,{type:"datetime",categories:null},q)});g.yAxis=d(C(g.yAxis||{}),function(a){n=z(a.opposite,!0);return l({labels:{y:-2},opposite:n,showLastLabel:!1,title:{text:null}},m.yAxis,a)});g.series=null;g=l({chart:{panning:!0,pinchType:"x"},navigator:{enabled:p},scrollbar:{enabled:z(m.scrollbar.enabled,!0)},rangeSelector:{enabled:z(m.rangeSelector.enabled,
-!0)},title:{text:null},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:r,spline:r,area:r,areaspline:r,arearange:r,areasplinerange:r,column:t,columnrange:t,candlestick:t,ohlc:t}},g,{isStock:!0});g.series=k;return h?new H(b,g,f):new H(g,c)};h(G.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&
-(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.call(this,[].slice.call(arguments,1))});h(G.prototype,"destroy",function(a){var b=this.chart,c=this.options&&this.options.top+","+this.options.height;c&&b._labelPanes&&b._labelPanes[c]===this&&delete b._labelPanes[c];return a.call(this,Array.prototype.slice.call(arguments,1))});h(G.prototype,"getPlotLinePath",function(a,b,c,f,g,h){var l=this,n=this.isLinked&&!this.series?this.linkedParent.series:this.series,q=l.chart,r=q.renderer,t=
-l.left,u=l.top,v,x,y,A,F=[],D=[],C,E;if("colorAxis"===l.coll)return a.apply(this,[].slice.call(arguments,1));D=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=l.options[b];return m(a)?[q[b][a]]:e(a)?[q.get(a)]:d(n,function(a){return a[b]})}(l.coll);k(l.isXAxis?q.yAxis:q.xAxis,function(a){if(w(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=w(a.options[b])?q[b][a.options[b]]:q[b][0];l===b&&D.push(a)}});C=D.length?[]:[l.isXAxis?q.yAxis[0]:q.xAxis[0]];k(D,function(a){-1===
-p(a,C)&&C.push(a)});E=z(h,l.translate(b,null,null,f));m(E)&&(l.horiz?k(C,function(a){var b;x=a.pos;A=x+a.len;v=y=Math.round(E+l.transB);if(v<t||v>t+l.width)g?v=y=Math.min(Math.max(t,v),t+l.width):b=!0;b||F.push("M",v,x,"L",y,A)}):k(C,function(a){var b;v=a.pos;y=v+a.len;x=A=Math.round(u+l.height-E);if(x<u||x>u+l.height)g?x=A=Math.min(Math.max(u,x),l.top+l.height):b=!0;b||F.push("M",v,x,"L",y,A)}));return 0<F.length?r.crispPolyLine(F,c||1):null});G.prototype.getPlotBandPath=function(a,b){b=this.getPlotLinePath(b,
-null,null,!0);a=this.getPlotLinePath(a,null,null,!0);var c=[],d;if(a&&b)if(a.toString()===b.toString())c=a,c.flat=!0;else for(d=0;d<a.length;d+=6)c.push("M",a[d+1],a[d+2],"L",a[d+4],a[d+5],b[d+4],b[d+5],b[d+1],b[d+2],"z");else c=null;return c};q.prototype.crispPolyLine=function(a,b){var c;for(c=0;c<a.length;c+=6)a[c+1]===a[c+4]&&(a[c+1]=a[c+4]=Math.round(a[c+1])-b%2/2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};u===r&&(r.prototype.crispPolyLine=q.prototype.crispPolyLine);
-h(G.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});h(G.prototype,"drawCrosshair",function(a,b,c){var d,e;a.call(this,b,c);if(w(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){a=this.chart;var f=this.options.crosshair.label,h=this.horiz;d=this.opposite;e=this.left;var k=this.top,l=this.crossLabel,m,n=f.format,p="",q="inside"===this.options.tickPosition,r=!1!==this.crosshair.snap,u=0;b||(b=this.cross&&this.cross.e);
-m=h?"center":d?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";l||(l=this.crossLabel=a.renderer.label(null,null,null,f.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:f.align||m,padding:z(f.padding,8),r:z(f.borderRadius,3),zIndex:2}).add(this.labelGroup),l.attr({fill:f.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:f.borderColor||"","stroke-width":f.borderWidth||
-0}).css(t({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},f.style)));h?(m=r?c.plotX+e:b.chartX,k+=d?0:this.height):(m=d?this.width+e:0,k=r?c.plotY+k:b.chartY);n||f.formatter||(this.isDatetimeAxis&&(p="%b %d, %Y"),n="{value"+(p?":"+p:"")+"}");b=r?c[this.isXAxis?"x":"y"]:this.toValue(h?b.chartX:b.chartY);l.attr({text:n?x(n,{value:b}):f.formatter.call(this,b),x:m,y:k,visibility:"visible"});b=l.getBBox();if(h){if(q&&!d||!q&&d)k=l.y-b.height}else k=l.y-b.height/2;h?(d=e-b.x,e=
-e+this.width-b.x):(d="left"===this.labelAlign?e:0,e="right"===this.labelAlign?e+this.width:a.chartWidth);l.translateX<d&&(u=d-l.translateX);l.translateX+b.width>=e&&(u=-(l.translateX+b.width-e));l.attr({x:m+u,y:k,anchorX:h?m:this.opposite?0:a.chartWidth,anchorY:h?this.opposite?a.chartHeight:0:k+b.height/2})}});E.init=function(){f.apply(this,arguments);this.setCompare(this.options.compare)};E.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==
-b&&void 0!==d)return b="value"===a?b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};E.processData=function(){var a,b=-1,c,d,e,f;v.apply(this,arguments);if(this.xAxis&&this.processedYData)for(c=this.processedXData,d=this.processedYData,e=d.length,this.pointArrayMap&&(b=p("close",this.pointArrayMap),-1===b&&(b=p(this.pointValKey||"y",this.pointArrayMap))),a=0;a<e-1;a++)if(f=-1<b?d[a][b]:d[a],m(f)&&c[a+1]>=
-this.xAxis.min&&0!==f){this.compareValue=f;break}};h(E,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=A(b),this.dataMax=D(b))});G.prototype.setCompare=function(a,b){this.isXAxis||(k(this.series,function(b){b.setCompare(a)}),z(b,!0)&&this.chart.redraw())};b.prototype.tooltipFormatter=function(b){b=b.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,z(this.series.tooltipOptions.changeDecimals,
-2)));return n.apply(this,[b])};h(c.prototype,"render",function(a){this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(!this.clipBox&&this.animate?(this.clipBox=l(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:this.yAxis.len}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len));a.call(this)})})(K);
-return K});
\ No newline at end of file
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/jquery.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/jquery.js
deleted file mode 100644
index 06ac2631..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/jquery.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v2.2.0 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!k.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=R.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c}catch(e){}O.set(a,b,c);
-}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return this;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ca(b),i="border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Fa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Ba.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+Oa(b,c,e||(i?"border":"content"),f,h)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b];
-},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(void 0===a||"boolean"===c)&&(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){return n.trim(a.value)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var hb=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!hb.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,hb.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var ib=a.location,jb=n.now(),kb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return(!c||c.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+b),c};var lb=/#.*$/,mb=/([?&])_=[^&]*/,nb=/^(.*?):[ \t]*([^\r\n]*)$/gm,ob=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,pb=/^(?:GET|HEAD)$/,qb=/^\/\//,rb={},sb={},tb="*/".concat("*"),ub=d.createElement("a");ub.href=ib.href;function vb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function wb(a,b,c,d){var e={},f=a===sb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function xb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function yb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function zb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ib.href,type:"GET",isLocal:ob.test(ib.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":tb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?xb(xb(a,n.ajaxSettings),b):xb(n.ajaxSettings,a)},ajaxPrefilter:vb(rb),ajaxTransport:vb(sb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=nb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||ib.href)+"").replace(lb,"").replace(qb,ib.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=ub.protocol+"//"+ub.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),wb(rb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!pb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(kb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=mb.test(f)?f.replace(mb,"$1_="+jb++):f+(kb.test(f)?"&":"?")+"_="+jb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+tb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=wb(sb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=yb(m,x,d)),u=zb(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,(b||!y)&&(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Ab=/%20/g,Bb=/\[\]$/,Cb=/\r?\n/g,Db=/^(?:submit|button|image|reset|file)$/i,Eb=/^(?:input|select|textarea|keygen)/i;function Fb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Bb.test(a)?d(a,e):Fb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Fb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Fb(c,a[c],b,e);return d.join("&").replace(Ab,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Eb.test(this.nodeName)&&!Db.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Cb,"\r\n")}}):{name:b.name,value:c.replace(Cb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Gb={0:200,1223:204},Hb=n.ajaxSettings.xhr();l.cors=!!Hb&&"withCredentials"in Hb,l.ajax=Hb=!!Hb,n.ajaxTransport(function(b){var c,d;return l.cors||Hb&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Gb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Ib=[],Jb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Ib.pop()||n.expando+"_"+jb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Jb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Jb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Jb,"$1"+e):b.jsonp!==!1&&(b.url+=(kb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Ib.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),l.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||(l.createHTMLDocument?d.implementation.createHTMLDocument(""):d);var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Kb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Kb)return Kb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(g,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Lb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Lb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0)-a.scrollTop(),d.left+=n.css(a[0],"borderLeftWidth",!0)-a.scrollLeft()),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Lb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Mb=a.jQuery,Nb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Nb),b&&a.jQuery===n&&(a.jQuery=Mb),n},b||(a.jQuery=a.$=n),n});
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/map.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/map.js
deleted file mode 100644
index bf7a471a..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/map.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- Highmaps JS v4.2.6 (2016-08-02)
- Highmaps as a plugin for Highcharts 4.1.x or Highstock 2.1.x (x being the patch version of this file)
-
- (c) 2011-2016 Torstein Honsi
-
- License: www.highcharts.com/license
-*/
-(function(h){typeof module==="object"&&module.exports?module.exports=h:h(Highcharts)})(function(h){function H(a){if(a)a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0}function M(a,b){var c,d,e,f,g=!1,i=a.x,k=a.y;for(c=0,d=b.length-1;c<b.length;d=c++)e=b[c][1]>k,f=b[d][1]>k,e!==f&&i<(b[d][0]-b[c][0])*(k-b[c][1])/(b[d][1]-b[c][1])+b[c][0]&&(g=!g);return g}function N(a,b,c,d,e,f,g,i){return["M",a+e,b,"L",a+c-f,b,"C",a+c-f/2,b,a+c,b+f/2,a+c,b+f,"L",a+c,b+d-
-g,"C",a+c,b+d-g/2,a+c-g/2,b+d,a+c-g,b+d,"L",a+i,b+d,"C",a+i/2,b+d,a,b+d-i/2,a,b+d-i,"L",a,b+e,"C",a,b+e/2,a+e/2,b,a+e,b,"Z"]}var T=h.animObject,o=h.Axis,q=h.Chart,w=h.Color,s=h.Point,I=h.Pointer,D=h.Legend,J=h.LegendSymbolMixin,U=h.Renderer,y=h.Series,K=h.SVGRenderer,O=h.VMLRenderer,A=h.win,P=A.document,L=h.addEvent,l=h.each,E=h.error,n=h.extend,t=h.extendClass,Q=h.format,V=h.map,F=h.isNumber,p=h.merge,m=h.pick,B=h.getOptions(),j=h.seriesTypes,v=B.plotOptions,u=h.wrap,r=function(){};u(o.prototype,
-"getSeriesExtremes",function(a){var b=this.isXAxis,c,d,e=[],f;b&&l(this.series,function(a,b){if(a.useMapGeometry)e[b]=a.xData,a.xData=[]});a.call(this);if(b&&(c=m(this.dataMin,Number.MAX_VALUE),d=m(this.dataMax,-Number.MAX_VALUE),l(this.series,function(a,b){if(a.useMapGeometry)c=Math.min(c,m(a.minX,c)),d=Math.max(d,m(a.maxX,c)),a.xData=e[b],f=!0}),f))this.dataMin=c,this.dataMax=d});u(o.prototype,"setAxisTranslation",function(a){var b=this.chart,c=b.plotWidth/b.plotHeight,b=b.xAxis[0],d;a.call(this);
-this.coll==="yAxis"&&b.transA!==void 0&&l(this.series,function(a){a.preserveAspectRatio&&(d=!0)});if(d&&(this.transA=b.transA=Math.min(this.transA,b.transA),a=c/((b.max-b.min)/(this.max-this.min)),a=a<1?this:b,c=(a.max-a.min)*a.transA,a.pixelPadding=a.len-c,a.minPixelPadding=a.pixelPadding/2,c=a.fixTo)){c=c[1]-a.toValue(c[0],!0);c*=a.transA;if(Math.abs(c)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)c=0;a.minPixelPadding-=c}});u(o.prototype,"render",function(a){a.call(this);this.fixTo=
-null});var C=h.ColorAxis=function(){this.isColorAxis=!0;this.init.apply(this,arguments)};n(C.prototype,o.prototype);n(C.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},color:"gray",width:0.01},labels:{overflow:"justify"},minColor:"#EFEFFF",maxColor:"#003875",tickLength:5},init:function(a,b){var c=a.options.legend.layout!=="vertical",d;d=p(this.defaultColorAxisOptions,
-{side:c?2:1,reversed:!c},b,{opposite:!c,showEmpty:!1,title:null,isColor:!0});o.prototype.init.call(this,a,d);b.dataClasses&&this.initDataClasses(b);this.initStops(b);this.horiz=c;this.zoomEnabled=!1},tweenColors:function(a,b,c){var d;!b.rgba.length||!a.rgba.length?a=b.input||"none":(a=a.rgba,b=b.rgba,d=b[3]!==1||a[3]!==1,a=(d?"rgba(":"rgb(")+Math.round(b[0]+(a[0]-b[0])*(1-c))+","+Math.round(b[1]+(a[1]-b[1])*(1-c))+","+Math.round(b[2]+(a[2]-b[2])*(1-c))+(d?","+(b[3]+(a[3]-b[3])*(1-c)):"")+")");return a},
-initDataClasses:function(a){var b=this,c=this.chart,d,e=0,f=this.options,g=a.dataClasses.length;this.dataClasses=d=[];this.legendItems=[];l(a.dataClasses,function(a,k){var h,a=p(a);d.push(a);if(!a.color)f.dataClassColor==="category"?(h=c.options.colors,a.color=h[e++],e===h.length&&(e=0)):a.color=b.tweenColors(w(f.minColor),w(f.maxColor),g<2?0.5:k/(g-1))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];l(this.stops,function(a){a.color=w(a[1])})},setOptions:function(a){o.prototype.setOptions.call(this,
-a);this.options.crosshair=this.options.marker;this.coll="colorAxis"},setAxisSize:function(){var a=this.legendSymbol,b=this.chart,c,d,e;if(a)this.left=c=a.attr("x"),this.top=d=a.attr("y"),this.width=e=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-c-e,this.bottom=b.chartHeight-d-a,this.len=this.horiz?e:a,this.pos=this.horiz?c:d},toColor:function(a,b){var c,d=this.stops,e,f=this.dataClasses,g,i;if(f)for(i=f.length;i--;){if(g=f[i],e=g.from,d=g.to,(e===void 0||a>=e)&&(d===void 0||
-a<=d)){c=g.color;if(b)b.dataClass=i;break}}else{this.isLog&&(a=this.val2lin(a));c=1-(this.max-a)/(this.max-this.min||1);for(i=d.length;i--;)if(c>d[i][0])break;e=d[i]||d[i+1];d=d[i+1]||e;c=1-(d[0]-c)/(d[0]-e[0]||1);c=this.tweenColors(e.color,d.color,c)}return c},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];if(a){this.axisParent=a;o.prototype.getOffset.call(this);if(!this.added)this.added=!0,this.labelLeft=0,this.labelRight=this.width;this.chart.axisOffset[this.side]=
-b}},setLegendColor:function(){var a,b=this.options,c=this.reversed;a=c?1:0;c=c?0:1;a=this.horiz?[a,0,c,0]:[0,c,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:b.stops||[[0,b.minColor],[1,b.maxColor]]}},drawLegendSymbol:function(a,b){var c=a.padding,d=a.options,e=this.horiz,f=m(d.symbolWidth,e?200:12),g=m(d.symbolHeight,e?12:200),i=m(d.labelPadding,e?16:30),d=m(d.itemDistance,10);this.setLegendColor();b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(b.legendGroup);
-this.legendItemWidth=f+c+(e?d:i);this.legendItemHeight=g+c+(e?i:0)},setState:r,visible:!0,setVisible:r,getSeriesExtremes:function(){var a;if(this.series.length)a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax},drawCrosshair:function(a,b){var c=b&&b.plotX,d=b&&b.plotY,e,f=this.pos,g=this.len;if(b)e=this.toPixels(b[b.series.colorKey]),e<f?e=f-2:e>f+g&&(e=f+g+2),b.plotX=e,b.plotY=this.len-e,o.prototype.drawCrosshair.call(this,a,b),b.plotX=c,b.plotY=d,this.cross&&this.cross.attr({fill:this.crosshair.color}).add(this.legendGroup)},
-getPlotLinePath:function(a,b,c,d,e){return F(e)?this.horiz?["M",e-4,this.top-6,"L",e+4,this.top-6,e,this.top,"Z"]:["M",this.left,e,"L",this.left-6,e+6,this.left-6,e-6,"Z"]:o.prototype.getPlotLinePath.call(this,a,b,c,d)},update:function(a,b){var c=this.chart,d=c.legend;l(this.series,function(a){a.isDirtyData=!0});if(a.dataClasses&&d.allItems)l(d.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),c.isDirtyLegend=!0;c.options[this.coll]=p(this.userOptions,a);o.prototype.update.call(this,a,
-b);this.legendItem&&(this.setLegendColor(),d.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var a=this,b=this.chart,c=this.legendItems,d=b.options.legend,e=d.valueDecimals,f=d.valueSuffix||"",g;c.length||l(this.dataClasses,function(d,k){var x=!0,z=d.from,m=d.to;g="";z===void 0?g="< ":m===void 0&&(g="> ");z!==void 0&&(g+=h.numberFormat(z,e)+f);z!==void 0&&m!==void 0&&(g+=" - ");m!==void 0&&(g+=h.numberFormat(m,e)+f);c.push(n({chart:b,name:g,options:{},drawLegendSymbol:J.drawRectangle,
-visible:!0,setState:r,isDataClass:!0,setVisible:function(){x=this.visible=!x;l(a.series,function(a){l(a.points,function(a){a.dataClass===k&&a.setVisible(x)})});b.legend.colorizeItem(this,x)}},d))});return c},name:""});l(["fill","stroke"],function(a){h.Fx.prototype[a+"Setter"]=function(){this.elem.attr(a,C.prototype.tweenColors(w(this.start),w(this.end),this.pos))}});u(q.prototype,"getAxes",function(a){var b=this.options.colorAxis;a.call(this);this.colorAxis=[];b&&new C(this,b)});u(D.prototype,"getAllItems",
-function(a){var b=[],c=this.chart.colorAxis[0];c&&(c.options.dataClasses?b=b.concat(c.getDataClassLegendSymbols()):b.push(c),l(c.series,function(a){a.options.showInLegend=!1}));return b.concat(a.call(this))});var D={setVisible:function(a){var b=this,c=a?"show":"hide";l(["graphic","dataLabel"],function(a){if(b[a])b[a][c]()})}},R={pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",dashstyle:"dashStyle"},pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],
-optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:r,parallelArrays:["x","y","value"],colorKey:"value",translateColors:function(){var a=this,b=this.options.nullColor,c=this.colorAxis,d=this.colorKey;l(this.data,function(e){var f=e[d];if(f=e.options.color||(f===null?b:c&&f!==void 0?c.toColor(f,e):e.color||a.color))e.color=f})}};n(q.prototype,{renderMapNavigation:function(){var a=this,b=this.options.mapNavigation,c=b.buttons,d,e,f,g,i=function(b){this.handler.call(a,
-b);H(b)};if(m(b.enableButtons,b.enabled)&&!a.renderer.forExport)for(d in a.mapNavButtons=[],c)if(c.hasOwnProperty(d))f=p(b.buttonOptions,c[d]),e=f.theme,e.style=p(f.theme.style,f.style),g=e.states,e=a.renderer.button(f.text,0,0,i,e,g&&g.hover,g&&g.select,0,d==="zoomIn"?"topbutton":"bottombutton").attr({width:f.width,height:f.height,title:a.options.lang[d],zIndex:5}).add(),e.handler=f.onclick,e.align(n(f,{width:e.width,height:2*e.height}),null,f.alignTo),L(e.element,"dblclick",H),a.mapNavButtons.push(e)},
-fitToBox:function(a,b){l([["x","width"],["y","height"]],function(c){var d=c[0],c=c[1];a[d]+a[c]>b[d]+b[c]&&(a[c]>b[c]?(a[c]=b[c],a[d]=b[d]):a[d]=b[d]+b[c]-a[c]);a[c]>b[c]&&(a[c]=b[c]);a[d]<b[d]&&(a[d]=b[d])});return a},mapZoom:function(a,b,c,d,e){var f=this.xAxis[0],g=f.max-f.min,i=m(b,f.min+g/2),k=g*a,g=this.yAxis[0],h=g.max-g.min,z=m(c,g.min+h/2);h*=a;i=this.fitToBox({x:i-k*(d?(d-f.pos)/f.len:0.5),y:z-h*(e?(e-g.pos)/g.len:0.5),width:k,height:h},{x:f.dataMin,y:g.dataMin,width:f.dataMax-f.dataMin,
-height:g.dataMax-g.dataMin});if(d)f.fixTo=[d-f.pos,b];if(e)g.fixTo=[e-g.pos,c];a!==void 0?(f.setExtremes(i.x,i.x+i.width,!1),g.setExtremes(i.y,i.y+i.height,!1)):(f.setExtremes(void 0,void 0,!1),g.setExtremes(void 0,void 0,!1));this.redraw()}});u(q.prototype,"render",function(a){var b=this,c=b.options.mapNavigation;b.renderMapNavigation();a.call(b);(m(c.enableDoubleClickZoom,c.enabled)||c.enableDoubleClickZoomTo)&&L(b.container,"dblclick",function(a){b.pointer.onContainerDblClick(a)});m(c.enableMouseWheelZoom,
-c.enabled)&&L(b.container,P.onmousewheel===void 0?"DOMMouseScroll":"mousewheel",function(a){b.pointer.onContainerMouseWheel(a);H(a);return!1})});n(I.prototype,{onContainerDblClick:function(a){var b=this.chart,a=this.normalize(a);b.options.mapNavigation.enableDoubleClickZoomTo?b.pointer.inClass(a.target,"highcharts-tracker")&&b.hoverPoint&&b.hoverPoint.zoomTo():b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&b.mapZoom(0.5,b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)},
-onContainerMouseWheel:function(a){var b=this.chart,c,a=this.normalize(a);c=a.detail||-(a.wheelDelta/120);b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&b.mapZoom(Math.pow(b.options.mapNavigation.mouseWheelSensitivity,c),b.xAxis[0].toValue(a.chartX),b.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});u(I.prototype,"init",function(a,b,c){a.call(this,b,c);if(m(c.mapNavigation.enableTouchZoom,c.mapNavigation.enabled))this.pinchX=this.pinchHor=this.pinchY=this.pinchVert=this.hasZoom=!0});u(I.prototype,
-"pinchTranslate",function(a,b,c,d,e,f,g){a.call(this,b,c,d,e,f,g);this.chart.options.chart.type==="map"&&this.hasZoom&&(a=d.scaleX>d.scaleY,this.pinchTranslateDirection(!a,b,c,d,e,f,g,a?d.scaleX:d.scaleY))});var G=P.documentElement.style.vectorEffect!==void 0;v.map=p(v.scatter,{allAreas:!0,animation:!1,nullColor:"#F8F8F8",borderColor:"silver",borderWidth:1,marker:null,stickyTracking:!1,dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},
-turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},states:{normal:{animation:!0},hover:{brightness:0.2,halo:null}}});var S=t(s,n({applyOptions:function(a,b){var c=s.prototype.applyOptions.call(this,a,b),d=this.series,e=d.joinBy;if(d.mapData)if(e=c[e[1]]!==void 0&&d.mapMap[c[e[1]]]){if(d.xyFromShape)c.x=e._midX,c.y=e._midY;n(c,e)}else c.value=c.value||null;return c},onMouseOver:function(a){clearTimeout(this.colorInterval);if(this.value!==null)s.prototype.onMouseOver.call(this,
-a);else this.series.onMouseOut(a)},onMouseOut:function(){var a=this,b=+new Date,c=w(a.color),d=w(a.pointAttr.hover.fill),e=T(a.series.options.states.normal.animation).duration,f;if(e&&c.rgba.length===4&&d.rgba.length===4&&a.state!=="select")f=a.pointAttr[""].fill,delete a.pointAttr[""].fill,clearTimeout(a.colorInterval),a.colorInterval=setInterval(function(){var g=(new Date-b)/e,f=a.graphic;g>1&&(g=1);f&&f.attr("fill",C.prototype.tweenColors.call(0,d,c,g));g>=1&&clearTimeout(a.colorInterval)},13);
-s.prototype.onMouseOut.call(a);if(f)a.pointAttr[""].fill=f},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},D));j.map=t(j.scatter,p(R,{type:"map",pointClass:S,supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:r,directTouch:!0,preserveAspectRatio:!0,getBox:function(a){var b=Number.MAX_VALUE,c=-b,d=b,e=-b,f=b,g=b,i=this.xAxis,k=this.yAxis,x;l(a||[],function(a){if(a.path){if(typeof a.path===
-"string")a.path=h.splitPath(a.path);var i=a.path||[],k=i.length,l=!1,j=-b,p=b,n=-b,o=b,q=a.properties;if(!a._foundBox){for(;k--;)F(i[k])&&(l?(j=Math.max(j,i[k]),p=Math.min(p,i[k])):(n=Math.max(n,i[k]),o=Math.min(o,i[k])),l=!l);a._midX=p+(j-p)*(a.middleX||q&&q["hc-middle-x"]||0.5);a._midY=o+(n-o)*(a.middleY||q&&q["hc-middle-y"]||0.5);a._maxX=j;a._minX=p;a._maxY=n;a._minY=o;a.labelrank=m(a.labelrank,(j-p)*(n-o));a._foundBox=!0}c=Math.max(c,a._maxX);d=Math.min(d,a._minX);e=Math.max(e,a._maxY);f=Math.min(f,
-a._minY);g=Math.min(a._maxX-a._minX,a._maxY-a._minY,g);x=!0}});if(x){this.minY=Math.min(f,m(this.minY,b));this.maxY=Math.max(e,m(this.maxY,-b));this.minX=Math.min(d,m(this.minX,b));this.maxX=Math.max(c,m(this.maxX,-b));if(i&&i.options.minRange===void 0)i.minRange=Math.min(5*g,(this.maxX-this.minX)/5,i.minRange||b);if(k&&k.options.minRange===void 0)k.minRange=Math.min(5*g,(this.maxY-this.minY)/5,k.minRange||b)}},getExtremes:function(){y.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&
-this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e=c.min,f=c.transA,c=c.minPixelPadding,g=d.min,i=d.transA,d=d.minPixelPadding,k,h=[];if(a)for(k=a.length;k--;)F(a[k])?(h[k]=b?(a[k]-e)*f+c:(a[k]-g)*i+d,b=!b):h[k]=a[k];return h},setData:function(a,b,c,d){var e=this.options,f=e.mapData,g=e.joinBy,i=g===null,k=[],m={},j,n,o;i&&(g="_i");g=this.joinBy=
-h.splat(g);g[1]||(g[1]=g[0]);a&&l(a,function(b,c){F(b)&&(a[c]={value:b});if(i)a[c]._i=c});this.getBox(a);if(f){if(f.type==="FeatureCollection"){if(f["hc-transform"])for(j in this.chart.mapTransforms=n=f["hc-transform"],n)if(n.hasOwnProperty(j)&&j.rotation)j.cosAngle=Math.cos(j.rotation),j.sinAngle=Math.sin(j.rotation);f=h.geojson(f,this.type,this)}this.mapData=f;for(o=0;o<f.length;o++)j=f[o],n=j.properties,j._i=o,g[0]&&n&&n[g[0]]&&(j[g[0]]=n[g[0]]),m[j[g[0]]]=j;this.mapMap=m;a&&g[1]&&l(a,function(a){m[a[g[1]]]&&
-k.push(m[a[g[1]]])});e.allAreas?(this.getBox(f),a=a||[],k="|"+V(k,function(a){return a[g[0]]}).join("|")+"|",l(f,function(b){if(!g[0]||k.indexOf("|"+b[g[0]]+"|")===-1)a.push(p(b,{value:null})),d=!1})):this.getBox(k)}y.prototype.setData.call(this,a,b,c,d)},drawGraph:r,drawDataLabels:r,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.doFullTranslate();a.generatePoints();l(a.data,
-function(e){e.plotX=b.toPixels(e._midX,!0);e.plotY=c.toPixels(e._midY,!0);if(d)e.shapeType="path",e.shapeArgs={d:a.translatePath(e.path)},G&&(e.shapeArgs["vector-effect"]="non-scaling-stroke")});a.translateColors()},drawPoints:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.group,e=a.chart,f=e.renderer,g,i=this.baseTrans;if(!a.transformGroup)a.transformGroup=f.g().attr({scaleX:1,scaleY:1}).add(d),a.transformGroup.survive=!0;a.doFullTranslate()?(e.hasRendered&&a.pointAttrToOptions.fill==="color"&&l(a.points,
-function(a){if(a.shapeArgs)a.shapeArgs.fill=a.pointAttr[m(a.state,"")].fill}),G||l(a.points,function(b){b=b.pointAttr[""];b["stroke-width"]===a.pointAttr[""]["stroke-width"]&&(b["stroke-width"]="inherit")}),a.group=a.transformGroup,j.column.prototype.drawPoints.apply(a),a.group=d,l(a.points,function(a){a.graphic&&(a.name&&a.graphic.addClass("highcharts-name-"+a.name.replace(" ","-").toLowerCase()),a.properties&&a.properties["hc-key"]&&a.graphic.addClass("highcharts-key-"+a.properties["hc-key"].toLowerCase()),
-G||(a.graphic["stroke-widthSetter"]=r))}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1})):(g=b.transA/i.transAX,d=c.transA/i.transAY,b=b.toPixels(i.originX,!0),c=c.toPixels(i.originY,!0),g>0.99&&g<1.01&&d>0.99&&d<1.01&&(d=g=1,b=Math.round(b),c=Math.round(c)),this.transformGroup.animate({translateX:b,translateY:c,
-scaleX:g,scaleY:d}));G||a.group.element.setAttribute("stroke-width",a.options.borderWidth/(g||1));this.drawMapDataLabels()},drawMapDataLabels:function(){y.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=y.prototype.render;a.chart.renderer.isVML&&a.data.length>3E3?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,e=this.yAxis,f=d.pos,g=e.pos;
-if(this.chart.renderer.isSVG)b===!0&&(b={duration:1E3}),a?c.attr({translateX:f+d.len/2,translateY:g+e.len/2,scaleX:0.001,scaleY:0.001}):(c.animate({translateX:f,translateY:g,scaleX:1,scaleY:1},b),this.animate=null)},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;if(!a)a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},l(this.points,
-function(a){a.graphic&&a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null},drawLegendSymbol:J.drawRectangle,animateDrillupFrom:function(a){j.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){j.column.prototype.animateDrillupTo.call(this,a)}}));v.mapline=p(v.map,{lineWidth:1,fillColor:"none"});j.mapline=t(j.map,{type:"mapline",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth",fill:"fillColor",dashstyle:"dashStyle"},
-drawLegendSymbol:j.line.prototype.drawLegendSymbol});v.mappoint=p(v.scatter,{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}});j.mappoint=t(j.scatter,{type:"mappoint",forceDL:!0,pointClass:t(s,{applyOptions:function(a,b){var c=s.prototype.applyOptions.call(this,a,b);a.lat!==void 0&&a.lon!==void 0&&(c=n(c,this.series.chart.fromLatLonToPoint(c)));return c}})});if(j.bubble)v.mapbubble=p(v.bubble,{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}}),
-j.mapbubble=t(j.bubble,{pointClass:t(s,{applyOptions:function(a,b){var c;a&&a.lat!==void 0&&a.lon!==void 0?(c=s.prototype.applyOptions.call(this,a,b),c=n(c,this.series.chart.fromLatLonToPoint(c))):c=S.prototype.applyOptions.call(this,a,b);return c},ttBelow:!1}),xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:j.map.prototype.getMapData,getBox:j.map.prototype.getBox,setData:j.map.prototype.setData});B.plotOptions.heatmap=p(B.plotOptions.scatter,{animation:!1,borderWidth:0,nullColor:"#F8F8F8",
-dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{normal:{animation:!0},hover:{halo:!1,brightness:0.2}}});j.heatmap=t(j.scatter,p(R,{type:"heatmap",pointArrayMap:["y","value"],hasPointSpecificOptions:!0,pointClass:t(s,D),supportsDrilldown:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){var a;j.scatter.prototype.init.apply(this,
-arguments);a=this.options;a.pointRange=m(a.pointRange,a.colsize||1);this.yAxis.axisPointRange=a.rowsize||1},translate:function(){var a=this.options,b=this.xAxis,c=this.yAxis,d=function(a,b,c){return Math.min(Math.max(b,a),c)};this.generatePoints();l(this.points,function(e){var f=(a.colsize||1)/2,g=(a.rowsize||1)/2,i=d(Math.round(b.len-b.translate(e.x-f,0,1,0,1)),-b.len,2*b.len),f=d(Math.round(b.len-b.translate(e.x+f,0,1,0,1)),-b.len,2*b.len),h=d(Math.round(c.translate(e.y-g,0,1,0,1)),-c.len,2*c.len),
-g=d(Math.round(c.translate(e.y+g,0,1,0,1)),-c.len,2*c.len);e.plotX=e.clientX=(i+f)/2;e.plotY=(h+g)/2;e.shapeType="rect";e.shapeArgs={x:Math.min(i,f),y:Math.min(h,g),width:Math.abs(f-i),height:Math.abs(g-h)}});this.translateColors();this.chart.hasRendered&&l(this.points,function(a){a.shapeArgs.fill=a.options.color||a.color})},drawPoints:j.column.prototype.drawPoints,animate:r,getBox:r,drawLegendSymbol:J.drawRectangle,alignDataLabel:j.column.prototype.alignDataLabel,getExtremes:function(){y.prototype.getExtremes.call(this,
-this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;y.prototype.getExtremes.call(this)}}));q.prototype.transformFromLatLon=function(a,b){if(A.proj4===void 0)return E(21),{x:0,y:null};var c=A.proj4(b.crs,[a.lon,a.lat]),d=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation),c=b.rotation?[c[0]*d+c[1]*e,-c[0]*e+c[1]*d]:c;return{x:((c[0]-(b.xoffset||0))*(b.scale||1)+(b.xpan||0))*(b.jsonres||1)+(b.jsonmarginX||0),y:(((b.yoffset||0)-c[1])*(b.scale||
-1)+(b.ypan||0))*(b.jsonres||1)-(b.jsonmarginY||0)}};q.prototype.transformToLatLon=function(a,b){if(A.proj4===void 0)E(21);else{var c={x:((a.x-(b.jsonmarginX||0))/(b.jsonres||1)-(b.xpan||0))/(b.scale||1)+(b.xoffset||0),y:((-a.y-(b.jsonmarginY||0))/(b.jsonres||1)+(b.ypan||0))/(b.scale||1)+(b.yoffset||0)},d=b.cosAngle||b.rotation&&Math.cos(b.rotation),e=b.sinAngle||b.rotation&&Math.sin(b.rotation),c=A.proj4(b.crs,"WGS84",b.rotation?{x:c.x*d+c.y*-e,y:c.x*e+c.y*d}:c);return{lat:c.y,lon:c.x}}};q.prototype.fromPointToLatLon=
-function(a){var b=this.mapTransforms,c;if(b){for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&M({x:a.x,y:-a.y},b[c].hitZone.coordinates[0]))return this.transformToLatLon(a,b[c]);return this.transformToLatLon(a,b["default"])}else E(22)};q.prototype.fromLatLonToPoint=function(a){var b=this.mapTransforms,c,d;if(!b)return E(22),{x:0,y:null};for(c in b)if(b.hasOwnProperty(c)&&b[c].hitZone&&(d=this.transformFromLatLon(a,b[c]),M({x:d.x,y:-d.y},b[c].hitZone.coordinates[0])))return d;return this.transformFromLatLon(a,
-b["default"])};h.geojson=function(a,b,c){var d=[],e=[],f=function(a){var b,c=a.length;e.push("M");for(b=0;b<c;b++)b===1&&e.push("L"),e.push(a[b][0],-a[b][1])},b=b||"map";l(a.features,function(a){var c=a.geometry,h=c.type,c=c.coordinates,a=a.properties,j;e=[];b==="map"||b==="mapbubble"?(h==="Polygon"?(l(c,f),e.push("Z")):h==="MultiPolygon"&&(l(c,function(a){l(a,f)}),e.push("Z")),e.length&&(j={path:e})):b==="mapline"?(h==="LineString"?f(c):h==="MultiLineString"&&l(c,f),e.length&&(j={path:e})):b==="mappoint"&&
-h==="Point"&&(j={x:c[0],y:-c[1]});j&&d.push(n(j,{name:a.name||a.NAME,properties:a}))});if(c&&a.copyrightShort)c.chart.mapCredits=Q(c.chart.options.credits.mapText,{geojson:a}),c.chart.mapCreditsFull=Q(c.chart.options.credits.mapTextFull,{geojson:a});return d};u(q.prototype,"showCredits",function(a,b){if(this.mapCredits)b.href=null;a.call(this,h.merge(b,{text:b.text+(this.mapCredits||"")}));this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})});n(B.lang,{zoomIn:"Zoom in",
-zoomOut:"Zoom out"});B.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,style:{fontSize:"15px",fontWeight:"bold",textAlign:"center"},theme:{"stroke-width":1}},buttons:{zoomIn:{onclick:function(){this.mapZoom(0.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},text:"-",y:28}},mouseWheelSensitivity:1.1};h.splitPath=function(a){var b,a=a.replace(/([A-Za-z])/g," $1 "),a=a.replace(/^\s*/,"").replace(/\s*$/,""),a=a.split(/[ ,]+/);for(b=
-0;b<a.length;b++)/[a-zA-Z]/.test(a[b])||(a[b]=parseFloat(a[b]));return a};h.maps={};K.prototype.symbols.topbutton=function(a,b,c,d,e){return N(a-1,b-1,c,d,e.r,e.r,0,0)};K.prototype.symbols.bottombutton=function(a,b,c,d,e){return N(a-1,b-1,c,d,0,0,e.r,e.r)};U===O&&l(["topbutton","bottombutton"],function(a){O.prototype.symbols[a]=K.prototype.symbols[a]});h.Map=h.mapChart=function(a,b,c){var d=typeof a==="string"||a.nodeName,e=arguments[d?1:0],f={endOnTick:!1,gridLineWidth:0,lineWidth:0,minPadding:0,
-maxPadding:0,startOnTick:!1,title:null,tickPositions:[]},g,i=h.getOptions().credits;g=e.series;e.series=null;e=p({chart:{panning:"xy",type:"map"},credits:{mapText:m(i.mapText,' \u00a9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:m(i.mapTextFull,"{geojson.copyright}")},xAxis:f,yAxis:p(f,{reversed:!0})},e,{chart:{inverted:!1,alignTicks:!1}});e.series=g;return d?new q(a,e,c):new q(e,b)}});
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/no-data-to-display.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/no-data-to-display.js
deleted file mode 100644
index 64c039cf..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/no-data-to-display.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- Highstock JS v4.2.6 (2016-08-02)
- Plugin for displaying a message when there is no data visible in chart.
-
- (c) 2010-2016 Highsoft AS
- Author: Oystein Moseng
-
- License: www.highcharts.com/license
-*/
-(function(a){typeof module==="object"&&module.exports?module.exports=a:a(Highcharts)})(function(a){function h(){return!!this.points.length}function d(){this.hasData()?this.hideNoData():this.showNoData()}var e=a.seriesTypes,c=a.Chart.prototype,f=a.getOptions(),g=a.extend,i=a.each;g(f.lang,{noData:"No data to display"});f.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};i(["pie","gauge","waterfall","bubble","treemap"],
-function(b){if(e[b])e[b].prototype.hasData=h});a.Series.prototype.hasData=function(){return this.visible&&this.dataMax!==void 0&&this.dataMin!==void 0};c.showNoData=function(b){var a=this.options,b=b||a.lang.noData,a=a.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(b,0,0,null,null,null,a.useHTML,null,"no-data").attr(a.attr).css(a.style).add(),this.noDataLabel.align(g(this.noDataLabel.getBBox(),a.position),!1,"plotBox")};c.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=
-this.noDataLabel.destroy()};c.hasData=function(){for(var a=this.series,c=a.length;c--;)if(a[c].hasData()&&!a[c].options.isInternal)return!0;return!1};c.callbacks.push(function(b){a.addEvent(b,"load",d);a.addEvent(b,"redraw",d)})});
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-selection.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-selection.js
deleted file mode 100644
index 2bbe0792..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-selection.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Our selection-handling functionality.
- */
-
-Highcharts.Chart.prototype.deselectPointsIfNot = function(accumulate) {
-    // If no Shift or Ctrl modifier, clear the existing selection
-    if (!accumulate) {
-        var points = this.getSelectedPoints();
-        for (var i = 0; i < points.length; ++i) {
-            points[i].select(false, true);
-        }
-    }
-};
-
-Highcharts.Chart.prototype.getSelectedPointsForExport = function() {
-    /**
-     * The original getSelectedPoints object is too complex for QWebView
-     * bridge. Let's just take what we need.
-     */
-    var points = [],
-        selected = this.getSelectedPoints();
-    for (var i = 0; i < this.series.length; ++i)
-        points.push([]);
-    for (var i = 0; i < selected.length; ++i) {
-        var p = selected[i];
-        points[p.series.index].push(p.index);
-    }
-    return points;
-};
-
-Highcharts.wrap(Highcharts.Point.prototype, 'select', function (proceed) {
-    // Super call with the original arguments
-    proceed.apply(this, Array.prototype.slice.call(arguments, 1));
-
-    // Raise selected point to front
-    if (this.selected) {
-        this.graphic.element.parentNode.appendChild(this.graphic.element);
-    } else {
-        // or lower deselected point to back
-        this.graphic.element.parentNode.insertBefore(
-            this.graphic.element,
-            this.graphic.element.parentNode.firstChild);
-    }
-});
-
-function unselectAllPoints(e) {
-    // Only handle left click on the canvas area, if no modifier pressed
-    if (e.ctrlKey  ||
-        e.shiftKey ||
-        !(e.which == 1 &&
-          e.target.parentElement &&
-          e.target.parentElement.tagName.toLowerCase() == 'svg'))
-        return true;
-    this.deselectPointsIfNot(false);
-    pybridge._highcharts_on_selected_points([]);
-}
-
-function clickedPointSelect(e) {
-    var chart = this.series.chart;
-    chart.deselectPointsIfNot(e.shiftKey || e.ctrlKey);
-    var points = chart.getSelectedPointsForExport();
-    if (this.selected) { // Already selected, this click should deselect
-        var selected = points[this.series.index];
-        selected.splice(selected.indexOf(this.index), 1);
-    } else
-        points[this.series.index].push(this.index);
-    pybridge._highcharts_on_selected_points(points);
-    return true;
-}
-
-function rectSelectPoints(e) {
-    if (!(e.originalEvent && e.originalEvent.which == 1))
-        return true;
-    e.preventDefault();  // Don't zoom
-
-    var no_xAxis = !e.xAxis || !e.xAxis.length,
-        no_yAxis = !e.yAxis || !e.yAxis.length,
-        xMin = no_xAxis || e.xAxis[0].min,
-        xMax = no_xAxis || e.xAxis[0].max,
-        yMin = no_yAxis || e.yAxis[0].min,
-        yMax = no_yAxis || e.yAxis[0].max,
-        series = this.series,
-        accumulate = e.originalEvent.shiftKey || e.originalEvent.ctrlKey,
-        newstate = e.originalEvent.ctrlKey ? undefined /* =toggle */ : true;
-
-    this.deselectPointsIfNot(accumulate);
-
-    // Select the points
-    for (var i=0; i < series.length; ++i) {
-        var points = series[i].points;
-        for (var j=0; j < points.length; ++j) {
-            var point = points[j], x = point.x, y = point.y;
-            if ((no_xAxis || (x >= xMin && x <= xMax)) &&
-                (no_yAxis || (y >= yMin && y <= yMax)) &&
-                point.series.visible) {
-                point.select(newstate, true);
-            }
-        }
-    }
-
-    pybridge._highcharts_on_selected_points(this.getSelectedPointsForExport());
-    return false;  // Don't zoom
-}
diff --git a/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-theme.js b/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-theme.js
deleted file mode 100644
index e40da052..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/_highcharts/orange-theme.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * Orange theme for Highcharts JS
- */
-
-Highcharts.theme = {
-    colors: [
-        // A set of optimally distinct colors. "Best" palette, generated with
-        // http://tools.medialab.sciences-po.fr/iwanthue/experiment.php
-        // See also:
-        // http://graphicdesign.stackexchange.com/questions/3682/where-can-i-find-a-large-palette-set-of-contrasting-colors-for-coloring-many-d
-        "#1F7ECA", "#D32525", "#28D825", "#D5861F", "#98257E", "#2227D5",
-        "#D5D623", "#D31BD6", "#6A7CDB", "#78D5D4", "#59D17E", "#7C5A27",
-        "#248221", "#DC8E96", "#DFD672", "#572B8E", "#817D8C", "#17D07C",
-        "#24D4D5", "#9FD17E", "#7A25D8", "#82DF26", "#DE2482", "#76192B",
-        "#C69CDD", "#CC5AD2", "#2B7970", "#CC685C", "#799E2D", "#1C2675"],
-    credits: {
-        href: '#',
-        text: 'Orange – Data Mining Fruitful & Fun; Highcharts.com',
-        style: {
-            color: 'rgba(0, 0, 0, .01)',
-        }
-    },
-    chart: {
-        renderTo: 'container',
-        animation: false,
-        // As of Highcharts 4.2.3, panning sometimes only seems to work
-        // in the X axis. There an add-on:
-        // http://www.highcharts.com/plugin-registry/single/27/Y-Axis%20Panning
-        panning: true,  // FIXME: https://github.com/highcharts/highcharts/issues/5240
-        panKey: 'alt'
-    },
-    drilldown: {
-        animation: true
-    },
-    exporting: {
-        buttons: {
-            contextButton: {
-                enabled: false
-            }
-        }
-    },
-    plotOptions: {
-        series: {
-            animation: false,
-            // Turbo threshold default (1000) results in many bugs and loss of
-            // feature when the series' data excedes it in length.
-            // So we disable it. See:
-            // https://github.com/highcharts/highcharts/search?q=turboThreshold&state=open&type=Issues
-            turboThreshold: 0,
-            marker: {
-                symbol: 'circle',
-                // NOTE: Should probably match plotOptions.column.marker.states
-                states: {
-                    select: {
-                        fillColor: null,  // = default marker color
-                        lineColor: '#f80',
-                        lineWidth: 3
-                    }
-                }
-            }
-        },
-        scatter: {
-            tooltip: {
-                followPointer: false
-            }
-        },
-        column: {
-            borderWidth: 5,
-            // NOTE: Should probably match plotOptions.series.marker.states
-            states: {
-                select: {
-                    color: null,  // = default marker color
-                    borderColor: '#f80'
-                }
-            }
-        }
-    },
-    title: {
-        text: null
-    },
-    tooltip: {
-        shared: true,
-        useHTML: true,
-        animation: false,
-        followPointer: false,
-        pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.y:.2f}</b><br/>'
-    },
-    xAxis: {
-        lineWidth: 1,
-        showLastLabel: true
-    },
-    yAxis: {
-        lineWidth: 1,
-        showLastLabel: true
-    }
-};
-
-// Apply the theme
-var highchartsOptions = Highcharts.setOptions(Highcharts.theme);
diff --git a/orangecontrib/timeseries/widgets/highcharts/highcharts.py b/orangecontrib/timeseries/widgets/highcharts/highcharts.py
deleted file mode 100644
index faf34857..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/highcharts.py
+++ /dev/null
@@ -1,275 +0,0 @@
-"""
-This module provides Highcharts class, which is a thin wrapper around
-Highcharts JS library.
-"""
-from json import dumps as json
-from collections import defaultdict
-from collections.abc import MutableMapping
-from os.path import join, dirname
-
-import numpy as np
-
-from AnyQt.QtCore import QObject, pyqtSlot
-from AnyQt.QtWidgets import QApplication
-
-from Orange.widgets.utils.webview import WebviewWidget
-
-
-def _Autotree():
-    return defaultdict(_Autotree)
-
-
-def _merge_dicts(master, update):
-    """Merge dicts recursively in place (``master`` is modified)"""
-    for k, v in master.items():
-        if k in update:
-            if isinstance(v, MutableMapping) and isinstance(update[k], MutableMapping):
-                update[k] = _merge_dicts(v, update[k])
-    master.update(update)
-    return master
-
-
-def _kwargs_options(kwargs):
-    """Transforma a dict into a hierarchical dict.
-
-    Example
-    -------
-    >>> (_kwargs_options(dict(a_b_c=1, a_d_e=2, x=3)) ==
-    ...  dict(a=dict(b=dict(c=1), d=dict(e=2)), x=3))
-    True
-    """
-    kwoptions = _Autotree()
-    for kws, val in kwargs.items():
-        cur = kwoptions
-        kws = kws.split('_')
-        for kw in kws[:-1]:
-            cur = cur[kw]
-        cur[kws[-1]] = val
-    return kwoptions
-
-
-class Highchart(WebviewWidget):
-    """Create a Highcharts webview widget.
-
-    Parameters
-    ----------
-    parent: QObject
-        Qt parent object, if any.
-    bridge: QObject
-        Exposed as ``window.pybridge`` in JavaScript.
-    options: dict
-        Default options for this chart. If any option's value is a string
-        that starts with an empty block comment ('/**/'), the expression
-        following is evaluated in JS. See Highcharts docs. Some options are
-        already set in the default theme.
-    highchart: str
-        One of `Chart`, `StockChart`, or `Map` Highcharts JS types.
-    enable_zoom: bool
-        Enables scroll wheel zooming and right-click zoom reset.
-    enable_select: str
-        If '+', allow series' points to be selected by clicking
-        on the markers, bars or pie slices. Can also be one of
-        'x', 'y', or 'xy' (all of which can also end with '+' for the
-        above), in which case it indicates the axes on which
-        to enable rectangle selection. The list of selected points
-        for each input series (i.e. a list of arrays) is
-        passed to the ``selection_callback``.
-        Each selected point is represented as its index in the series.
-        If the selection is empty, the callback parameter is a single
-        empty list.
-    javascript: str
-        Additional JavaScript code to evaluate beforehand. If you
-        need something exposed in the global namespace,
-        assign it as an attribute to the ``window`` object.
-    debug: bool
-        Enables right-click context menu and inspector tools.
-    **kwargs:
-        The additional options. The underscores in argument names imply
-        hierarchy, e.g., keyword argument such as ``chart_type='area'``
-        results in the following object, in JavaScript::
-
-            {
-                chart: {
-                    type: 'area'
-                }
-            }
-
-        The original `options` argument is updated with options from
-        these kwargs-derived objects.
-    """
-
-    _HIGHCHARTS_HTML = join(dirname(__file__), '_highcharts', 'chart.html')
-
-    def __init__(self,
-                 parent=None,
-                 bridge=None,
-                 options=None,
-                 *,
-                 highchart='Chart',
-                 enable_zoom=False,
-                 enable_select=False,
-                 selection_callback=None,
-                 enable_scrollbar = False,
-                 javascript='',
-                 debug=False,
-                 **kwargs):
-        options = (options or {}).copy()
-        enable_select = enable_select or ''
-
-        if not isinstance(options, dict):
-            raise ValueError('options must be dict')
-        if enable_select not in ('', '+', 'x', 'y', 'xy', 'x+', 'y+', 'xy+'):
-            raise ValueError("enable_select must be '+', 'x', 'y', or 'xy'")
-        if enable_select and not selection_callback:
-            raise ValueError('enable_select requires selection_callback')
-
-        if enable_select:
-            # We need to make sure the _Bridge object below with the selection
-            # callback is exposed in JS via QWebChannel.registerObject() and
-            # not through WebviewWidget.exposeObject() as the latter mechanism
-            # doesn't transmit QObjects correctly.
-            class _Bridge(QObject):
-                @pyqtSlot('QVariantList')
-                def _highcharts_on_selected_points(self, points):
-                    selection_callback([np.sort(selected).astype(int)
-                                        for selected in points])
-            if bridge is None:
-                bridge = _Bridge()
-            else:
-                # Thus, we patch existing user-passed bridge with our
-                # selection callback method
-                attrs = bridge.__dict__.copy()
-                attrs['_highcharts_on_selected_points'] = _Bridge._highcharts_on_selected_points
-                assert isinstance(bridge, QObject), 'bridge needs to be a QObject'
-                _Bridge = type(bridge.__class__.__name__,
-                               bridge.__class__.__mro__,
-                               attrs)
-                bridge = _Bridge()
-
-        super().__init__(parent, bridge, js_timeout=10000, debug=debug)
-
-        self.highchart = highchart
-        self.enable_zoom = enable_zoom
-        enable_point_select = '+' in enable_select
-        enable_rect_select = enable_select.replace('+', '')
-
-        self._update_options_dict(options, enable_zoom, enable_select,
-                                  enable_point_select, enable_rect_select,
-                                  enable_scrollbar, kwargs)
-
-        with open(self._HIGHCHARTS_HTML) as html:
-            self.setHtml(html.read() % dict(javascript=javascript,
-                                            options=json(options)),
-                         self.toFileURL(dirname(self._HIGHCHARTS_HTML)) + '/')
-
-        # tests regularly fails with Timeout error while executing JS
-        # temporarily increase since we are planing to replace Highchart
-        if hasattr(self, "js_timeout"):
-            self.js_timeout = 10000
-
-    def _update_options_dict(self, options, enable_zoom, enable_select,
-                             enable_point_select, enable_rect_select,
-                             enable_scrollbar, kwargs):
-        if enable_zoom:
-            _merge_dicts(options, _kwargs_options(dict(
-                mapNavigation_enableMouseWheelZoom=True,
-                mapNavigation_enableButtons=False)))
-        if enable_select:
-            _merge_dicts(options, _kwargs_options(dict(
-                chart_events_click='/**/unselectAllPoints/**/')))
-        if enable_point_select:
-            _merge_dicts(options, _kwargs_options(dict(
-                plotOptions_series_allowPointSelect=True,
-                plotOptions_series_point_events_click='/**/clickedPointSelect/**/')))
-        if enable_rect_select:
-            _merge_dicts(options, _kwargs_options(dict(
-                chart_zoomType=enable_rect_select,
-                chart_events_selection='/**/rectSelectPoints/**/')))
-        if kwargs:
-            _merge_dicts(options, _kwargs_options(kwargs))
-
-        if not enable_scrollbar:
-            _merge_dicts(options, {'scrollbar':
-                                       {'enabled': enable_scrollbar}})
-
-    def contextMenuEvent(self, event):
-        """ Zoom out on right click. Also disable context menu."""
-        if self.enable_zoom:
-            self.evalJS('chart.zoomOut(); 0;')
-        super().contextMenuEvent(event)
-
-    def exposeObject(self, name, obj):
-        if isinstance(obj, np.ndarray):
-            # Highcharts chokes on NaN values. Instead it prefers 'null' for
-            # points it is not intended to show.
-            obj = obj.astype(object)
-            obj[np.isnan(obj)] = None
-        super().exposeObject(name, obj)
-
-    def chart(self, options=None, *,
-              highchart=None, javascript='', javascript_after='', **kwargs):
-        """ Populate the webview with a new Highcharts JS chart.
-
-        Parameters
-        ----------
-        options, highchart, javascript, **kwargs:
-            The parameters are the same as for the object constructor.
-        javascript_after: str
-            Same as `javascript`, except that the code is evaluated
-            after the chart, available as ``window.chart``, is created.
-
-        Notes
-        -----
-        Passing ``{ series: [{ data: some_data }] }``, if ``some_data`` is
-        a numpy array, it is **more efficient** to leave it as numpy array
-        instead of converting it ``some_data.tolist()``, which is done
-        implicitly.
-        """
-        options = (options or {}).copy()
-        if not isinstance(options, MutableMapping):
-            raise ValueError('options must be dict')
-
-        if kwargs:
-            _merge_dicts(options, _kwargs_options(kwargs))
-        self.exposeObject('pydata', options)
-        highchart = highchart or self.highchart or 'Chart'
-        self.evalJS('''
-            {javascript};
-            window.chart = new Highcharts.{highchart}(pydata); 0;
-            {javascript_after};
-        '''.format(javascript=javascript,
-                   javascript_after=javascript_after,
-                   highchart=highchart,))
-
-    def clear(self):
-        """Remove all series from the chart"""
-        self.evalJS('''
-            if (window.chart) {
-                while(chart.series.length > 0) {
-                    chart.series[0].remove(false);
-                }
-                chart.redraw();
-            }; 0;
-        ''')
-
-
-def main():
-    """ A simple test. """
-    app = QApplication([])
-
-    def _on_selected_points(points):
-        print(len(points), points)
-
-    w = Highchart(enable_zoom=True, enable_select='xy+',
-                  selection_callback=_on_selected_points,
-                  debug=True)
-    w.chart(dict(series=[dict(data=np.random.random((100, 2)))]),
-            credits_text='BTYB Yours Truly',
-            title_text='Foo plot',
-            chart_type='scatter')
-    w.show()
-    app.exec()
-
-
-if __name__ == '__main__':
-    main()
diff --git a/setup.py b/setup.py
index cbb3802a..b5d49df2 100644
--- a/setup.py
+++ b/setup.py
@@ -44,7 +44,7 @@
         author='Bioinformatics Laboratory, FRI UL',
         author_email='info@biolab.si',
         url='https://github.com/biolab/orange3-timeseries',
-        license='CC-BY-NC-3.0',
+        license='GPL3+',
         keywords=(
             'time series',
             'sequence analysis',
@@ -55,12 +55,7 @@
         ),
         packages=find_packages(),
         package_data={
-            "orangecontrib.timeseries.widgets": ["icons/*",
-                                                 "*.js"],
-            "orangecontrib.timeseries.widgets.highcharts": ["_highcharts/*.js",
-                                                            "_highcharts/*.html",
-                                                            "_highcharts/*.css",
-                                                            "_highcharts/LICENSE"],
+            "orangecontrib.timeseries.widgets": ["icons/*"],
             "orangecontrib.timeseries.widgets.tests": ["datasets/*"],
 
             "orangecontrib.timeseries": ["datasets/*.tab",
@@ -92,7 +87,7 @@
             'Environment :: X11 Applications :: Qt',
             'Environment :: Plugins',
             'Programming Language :: Python',
-            'License :: Other/Proprietary License',
+            'License :: GPL3+',
             'Operating System :: OS Independent',
             'Topic :: Scientific/Engineering :: Artificial Intelligence',
             'Topic :: Scientific/Engineering :: Visualization',


Test patch:
diff --git a/orangecontrib/timeseries/widgets/highcharts/tests/test_highcharts.py b/orangecontrib/timeseries/widgets/highcharts/tests/test_highcharts.py
deleted file mode 100644
index 00be1248..00000000
--- a/orangecontrib/timeseries/widgets/highcharts/tests/test_highcharts.py
+++ /dev/null
@@ -1,81 +0,0 @@
-import time
-
-import numpy as np
-
-from AnyQt.QtCore import QObject
-
-from Orange.widgets.tests.base import WidgetTest
-
-from .. import Highchart
-
-
-class Scatter(Highchart):
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args,
-                         options=dict(chart=dict(type='scatter')),
-                         **kwargs)
-
-
-class SelectionScatter(Scatter):
-    def __init__(self, bridge, selected_indices_callback, **kwargs):
-        super().__init__(bridge=bridge,
-                         enable_select='xy+',
-                         selection_callback=selected_indices_callback,
-                         **kwargs)
-
-
-class HighchartTest(WidgetTest):
-    def test_svg_is_svg(self):
-        scatter = Scatter()
-        scatter.chart(dict(series=dict(data=[[0, 1],
-                                             [1, 2]])))
-        svg = self.process_events(lambda: scatter.svg())
-
-        self.assertEqual(svg[:5], '<svg ')
-        self.assertEqual(svg[-6:], '</svg>')
-
-    def test_selection(self):
-
-        class NoopBridge(QObject):
-            pass
-
-        for bridge in (NoopBridge(), None):
-            with self.subTest(bridge=bridge):
-                self._selection_test(bridge)
-
-    def _ensure_shown(self, widget):
-        self.process_events(
-            lambda: not widget.isHidden() and widget.geometry().isValid())
-        time.sleep(2)  # add some time for WM to place window or whatever
-
-    def _selection_test(self, bridge):
-        data = np.random.random(size=(100, 2))
-        selected_indices = []
-
-        def selection_callback(indices):
-            nonlocal selected_indices
-            selected_indices = indices
-
-        scatter = SelectionScatter(bridge, selection_callback)
-        scatter.chart(options=dict(series=[dict(data=data)]))
-        scatter.show()
-        self._ensure_shown(scatter)
-
-        # Simulate selection
-        # Using QTest didn't work on Travis, even with metacity WM. See also:
-        # https://github.com/travis-ci/travis-ci/issues/2387
-        scatter.evalJS('''
-            var ev;
-            ev = new MouseEvent('mousedown', {clientX: 200, clientY: 200});
-            chart.container.dispatchEvent(ev);
-
-            ev = new MouseEvent('mousemove', {clientX: 500, clientY: 500});
-            chart.container.dispatchEvent(ev);
-
-            ev = new MouseEvent('click', {clientX: 500, clientY: 500});
-            chart.pointer.onDocumentMouseUp(ev);
-        ''')
-
-        self.process_events(lambda: len(selected_indices))
-        self.assertEqual(len(selected_indices), 1)
-        self.assertGreater(len(selected_indices[0]), 0)