From 8f50858dc7751416962dcdfed1baa300492f7ed3 Mon Sep 17 00:00:00 2001 From: SeanChangX Date: Tue, 17 Jun 2025 13:11:45 +0800 Subject: [PATCH] Remove deprecated and unused legacy files --- .../Battery_watchdog/Battery_watchdog.ino | 277 ------------------ .../Battery_watchdog.spiffs.bin | Bin 1441792 -> 0 bytes .arduino/Battery_watchdog/Serial.sh | 8 - .arduino/Battery_watchdog/data/favicon.png | Bin 37431 -> 0 bytes .arduino/Battery_watchdog/data/highcharts.js | 8 - .arduino/Battery_watchdog/data/index.html | 30 -- .arduino/Battery_watchdog/data/script.js | 111 ------- .arduino/Battery_watchdog/data/style.css | 43 --- .arduino/Battery_watchdog/favicon.png | Bin 46224 -> 0 bytes .arduino/Battery_watchdog/favicon_white.png | Bin 16406 -> 0 bytes .arduino/Ladybug/Ladybug.ino | 175 ----------- .arduino/tools/ESP32FS/tool/esp32fs.jar | Bin 7619 -> 0 bytes 12 files changed, 652 deletions(-) delete mode 100644 .arduino/Battery_watchdog/Battery_watchdog.ino delete mode 100644 .arduino/Battery_watchdog/Battery_watchdog.spiffs.bin delete mode 100755 .arduino/Battery_watchdog/Serial.sh delete mode 100644 .arduino/Battery_watchdog/data/favicon.png delete mode 100644 .arduino/Battery_watchdog/data/highcharts.js delete mode 100644 .arduino/Battery_watchdog/data/index.html delete mode 100644 .arduino/Battery_watchdog/data/script.js delete mode 100644 .arduino/Battery_watchdog/data/style.css delete mode 100644 .arduino/Battery_watchdog/favicon.png delete mode 100644 .arduino/Battery_watchdog/favicon_white.png delete mode 100644 .arduino/Ladybug/Ladybug.ino delete mode 100644 .arduino/tools/ESP32FS/tool/esp32fs.jar diff --git a/.arduino/Battery_watchdog/Battery_watchdog.ino b/.arduino/Battery_watchdog/Battery_watchdog.ino deleted file mode 100644 index 3b5390e..0000000 --- a/.arduino/Battery_watchdog/Battery_watchdog.ino +++ /dev/null @@ -1,277 +0,0 @@ -/****************************** - Requirements: - Adafruit_NeoPixel - Arduino_JSON - AsyncElegantOTA-2.2.8 - AsyncTCP - ESP_Async_WebServer - WiFiManager - [ esp32 v2.0.17 ] -******************************/ - -#include -#include -#include -#include //https://github.com/tzapu/WiFiManager WiFi Configuration Magic -#include -#include -#include -#include "SPIFFS.h" -#include -#include - -#define LED_PIN D1 -#define LED_COUNT 29 -Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); -int mode = 0; - -WiFiManager wifiManager; - -TaskHandle_t Task1; -TaskHandle_t Task2; - -volatile int interruptCounter; -hw_timer_t *timer = NULL; -portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED; - -// Create AsyncWebServer object on port 80 -AsyncWebServer server(80); - -// Create an Event Source on /events -AsyncEventSource events("/events"); - -// Json Variable to Hold Sensor Readings -JSONVar readings; - -uint32_t Vbatt = 0; -float Vbattf = 0.0; -float offset = 0.65; - -// Get Sensor Readings and return JSON object -String getSensorReadings() { - readings["sensor"] = String(Vbattf); - readings["GND"] = 0; - - // 17.5V-[LOW] 20.5V-[FULL] - if (Vbattf < 3) { - readings["batteryStatus"] = "battery_disconnect"; - mode = 2; - } else if (Vbattf < 17.5) { - readings["batteryStatus"] = "low_battery"; - mode = 1; - } else { - readings["batteryStatus"] = "normal"; - mode = 0; - } - - String jsonString = JSON.stringify(readings); - return jsonString; -} - -// Initialize SPIFFS -void initSPIFFS() { - if (!SPIFFS.begin()) { - Serial.println("An error has occurred while mounting SPIFFS"); - } else { - Serial.println("SPIFFS mounted successfully"); - } -} - -// Initialize WiFi -void initWiFi() { - wifiManager.autoConnect("DIT-2024-12-ESP"); - if (!MDNS.begin("dit-2024-12-esp")) { - Serial.println("Error starting mDNS"); - return; - } - Serial.println(WiFi.localIP()); -} - -void voltmeter() { - Vbatt = 0; - for (int i = 0; i < 64; i++) { - Vbatt = Vbatt + analogReadMilliVolts(A0); // ADC with correction - } - Vbattf = 7.81 * Vbatt / 64 / 1000.0 + offset; // R1 = 1.5M ohm, R2 = 220k ohm - if (Vbattf < 3) Vbattf = 0.00; - Serial.print("batteryVoltage:"); - Serial.println(Vbattf, 1); -} - -void IRAM_ATTR onTimer() { - portENTER_CRITICAL_ISR(&timerMux); - interruptCounter++; - portEXIT_CRITICAL_ISR(&timerMux); -} - -void setup() { - //create a task that will be executed in the Task1code() function, with priority 1 and executed on core 0 - xTaskCreatePinnedToCore( - Task1code, /* Task function. */ - "Task1", /* name of task. */ - 10000, /* Stack size of task */ - NULL, /* parameter of the task */ - 1, /* priority of the task */ - &Task1, /* Task handle to keep track of created task */ - 0); /* pin task to core 0 */ - delay(500); - - //create a task that will be executed in the Task2code() function, with priority 1 and executed on core 1 - xTaskCreatePinnedToCore( - Task2code, /* Task function. */ - "Task2", /* name of task. */ - 10000, /* Stack size of task */ - NULL, /* parameter of the task */ - 1, /* priority of the task */ - &Task2, /* Task handle to keep track of created task */ - 1); /* pin task to core 1 */ - delay(500); - - strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) - strip.show(); // Turn OFF all pixels ASAP - strip.setBrightness(128); // Set BRIGHTNESS - - timer = timerBegin(0, 80, true); - timerAttachInterrupt(timer, &onTimer, true); - timerAlarmWrite(timer, 1000000, true); - timerAlarmEnable(timer); - - pinMode(A0, INPUT); // ADC - - // Serial port for debugging purposes - Serial.begin(115200); - initWiFi(); - initSPIFFS(); - - // Web Server Root URL - server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) { - request->send(SPIFFS, "/index.html", "text/html"); - }); - - server.serveStatic("/", SPIFFS, "/"); - - // Request for the latest sensor readings - server.on("/readings", HTTP_GET, [](AsyncWebServerRequest *request) { - String json = getSensorReadings(); - request->send(200, "application/json", json); - json = String(); - }); - - events.onConnect([](AsyncEventSourceClient *client) { - if (client->lastId()) { - Serial.printf("Client reconnected! Last message ID that it got is: %u\n", client->lastId()); - } - // send event with message "hello!", id current millis - // and set reconnect delay to 1 second - client->send("Test", NULL, millis(), 10000); - }); - server.addHandler(&events); - - // Start server - AsyncElegantOTA.begin(&server); // Start ElegantOTA - server.begin(); -} - -void Task1code(void *pvParameters) { - Serial.print("Task1 running on core "); - Serial.println(xPortGetCoreID()); - - for (;;) { - voltmeter(); - if (interruptCounter > 0) { - - portENTER_CRITICAL(&timerMux); - interruptCounter--; - portEXIT_CRITICAL(&timerMux); - - events.send(getSensorReadings().c_str(), "new_readings", millis()); - } - } -} - -void Task2code(void *pvParameters) { - Serial.print("Task2 running on core "); - Serial.println(xPortGetCoreID()); - - for (;;) { - switch (mode) - { - case 2: - colorWipe(strip.Color(0, 0, 255), 50); - colorWipe(strip.Color(0, 0, 0), 50); - break; - case 1: - colorWipe(strip.Color(255, 0, 0), 50); - colorWipe(strip.Color(0, 0, 0), 50); - break; - default: - rainbow(1); - } - // theaterChase(strip.Color(255, 0, 0), 50); - // theaterChaseRainbow(50); - } -} - -void loop() {} - -void colorWipe(uint32_t color, int wait) { - for (int i = 0; i < strip.numPixels(); i++) { // For each pixel in strip... - strip.setPixelColor(i, color); // Set pixel's color (in RAM) - strip.show(); // Update strip to match - delay(wait); // Pause for a moment - } -} - -void theaterChase(uint32_t color, int wait) { - for (int a = 0; a < 10; a++) { // Repeat 10 times... - for (int b = 0; b < 3; b++) { // 'b' counts from 0 to 2... - strip.clear(); // Set all pixels in RAM to 0 (off) - // 'c' counts up from 'b' to end of strip in steps of 3... - for (int c = b; c < strip.numPixels(); c += 3) { - strip.setPixelColor(c, color); // Set pixel 'c' to value 'color' - } - strip.show(); // Update strip with new contents - delay(wait); // Pause for a moment - } - } -} - -void rainbow(int wait) { - // Hue of first pixel runs 5 complete loops through the color wheel. - // Color wheel has a range of 65536 but it's OK if we roll over, so - // just count from 0 to 5*65536. Adding 256 to firstPixelHue each time - // means we'll make 5*65536/256 = 1280 passes through this loop: - for (long firstPixelHue = 0; firstPixelHue < 5 * 65536; firstPixelHue += 256) { - // strip.rainbow() can take a single argument (first pixel hue) or - // optionally a few extras: number of rainbow repetitions (default 1), - // saturation and value (brightness) (both 0-255, similar to the - // ColorHSV() function, default 255), and a true/false flag for whether - // to apply gamma correction to provide 'truer' colors (default true). - strip.rainbow(firstPixelHue); - // Above line is equivalent to: - // strip.rainbow(firstPixelHue, 1, 255, 255, true); - strip.show(); // Update strip with new contents - delay(wait); // Pause for a moment - } -} - -void theaterChaseRainbow(int wait) { - int firstPixelHue = 0; // First pixel starts at red (hue 0) - for (int a = 0; a < 30; a++) { // Repeat 30 times... - for (int b = 0; b < 3; b++) { // 'b' counts from 0 to 2... - strip.clear(); // Set all pixels in RAM to 0 (off) - // 'c' counts up from 'b' to end of strip in increments of 3... - for (int c = b; c < strip.numPixels(); c += 3) { - // hue of pixel 'c' is offset by an amount to make one full - // revolution of the color wheel (range 65536) along the length - // of the strip (strip.numPixels() steps): - int hue = firstPixelHue + c * 65536L / strip.numPixels(); - uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB - strip.setPixelColor(c, color); // Set pixel 'c' to value 'color' - } - strip.show(); // Update strip with new contents - delay(wait); // Pause for a moment - firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames - } - } -} diff --git a/.arduino/Battery_watchdog/Battery_watchdog.spiffs.bin b/.arduino/Battery_watchdog/Battery_watchdog.spiffs.bin deleted file mode 100644 index 62a1aeb57f0909e089decbd0835020e210798370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1441792 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

%f3P8`>?b-aL2iCgnG;^Yge% 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�y3HN;-#cOV7vk>vG!1*VThno$k)|x&(h?(W zEe7A~rNi)vHbKUAm=8s(#cS9>J9&EP;_~wOuf~tx7&WZ@yLT8rLQUM;{b5_pGvUYT z7Julu5MRs|)N3a%K9j$k-?Gl%eGq#!C`}5z_71`?C_Xc>MRUTYg3WGshb{J?wcXuo zC+BmEut~kBZG35JKVJPH)%-Y4_fjp=VxQI8>Q9@A=Hj&Z*TWY!ljSX20WSOX`g!q} z9aqSSlZLf_Ct5VHrAhyELr1@0?;!lQY!8<8-*|hYTVH-*shR(`@M1iL$60e)MN@xF zvgJ#8KR*6|P^|LoE|M6w-ixzB>L(1MMUhX>zp(U`ET3X0ZYgB;BOQE zyU1q}i2wo!AbZ{`Xw~NIe1wAbwZu0tg_000IagfB*srAb@}ifj>d~?;@W`BmxK^ zfB*srAb;6D-nyU1q}i2wo!AbwZu0tg_000IagfB*srAb@}ifqzH*?;@W`BmxK^fB*srAbF~K9fiU5I_I{1Q0*~0R#|000G|u|C{*VcL5;v z2q1s}0tg_000IagfB*t61pWu{zl(e(kq97w00IagfB*srAbe&#e;4^oA`w6U0R#|0009ILKmY**d<*;fB*srAba9svXpKmY**5I_I{ z1Q0;Lg}~n<{&$hjBoYAx5I_I{1Q0*~0R#|0z_-BPC;sJdNy0R#|0009ILKmY**TnPL# z;(r(UOd=6L009ILKmY**5I_I{1bhqpbK-yB1%T8efB*srAbBA-bl0tg_000IagfB*srAb@~x zfmewCeHQ>yj{pJ)Ab2GbNBr-*0FZhF5I_I{1Q0*~0R#|0 z009>QQ{sOY`Ai}aKmY**5I_I{1Q0*~0R(&t>=Xa{E&!w+0R#|0009ILKmY**5J13% zz?k^oMLv^A1Q0*~0R#|0009ILKmY;X0u$nY-vxlwBY*$`2q1s}0tg_000IcO5ZELB zcahH|5&;AdKmY**5I_I{1Q0;Lx4^r^|GoGL?VCy z0tg_000IagfB*sr_!fAN_}_N{AoU0!fB*srAbQTg3k^@|i>;fB*srAbT>wZu0tg_000IagfB*srAb@}ifgbU{i+m=L2q1s}0tg_000Iag zfB*u%1ybUF-vxlwBY*$`2q1s}0tg_000IcO5ZEC8cahH|5&;AdKmY**5I_I{1Q0;L zx4JdNy0R#|0009ILKmY**TnPLz;(r(UOd=6L009ILKmY**5I_I{1bhp0 ziT`~U08)JdNy z0R#|0009ILKmY**TnOwC|GUU%5{Uo;2q1s}0tg_000Iag;9HwZu0tg_000Iag zfB*srAb@}ifuAJ)cahH|5&;AdKmY**5I_I{1Q0;Lx4=`x|Go2HG3F3d>1%T8efB*srAbJdNy0R#|0009ILKmY** zTnK!L_}@i7lSl**KmY**5I_I{1Q0*~0p9{=i2r>T08)GL?VCy0tg_000IagfB*sr_!jti;(y--fYc*^00IagfB*srAb2HGEb+hZ0zm2!KmY**5I_I{1Q0*~0R&tKe46;*MLv^A1Q0*~ z0R#|0009ILKmY;X0-quN_gw%;Jpu?IfB*srAbQUm*T>ky zj{pJ)AbQP2ztS`Ai}aKmY** z5I_I{1Q0*~0R(&tw21$G7XVU^00IagfB*srAb;5p)d7x_#g5kLR|1Q0*~ z0R#|0009Ji3(OP$`z`>a9svXpKmY**5I_I{1Q0;Lg+QJ7-$g!?NCXf-009ILKmY** M5I_KdKm5c03)&Z;`Tzg` diff --git a/.arduino/Battery_watchdog/Serial.sh b/.arduino/Battery_watchdog/Serial.sh deleted file mode 100755 index 5c6c775..0000000 --- a/.arduino/Battery_watchdog/Serial.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -PORT="/dev/ttyACM0" -BAUD=115200 -stty -F $PORT $BAUD - -cat < $PORT - diff --git a/.arduino/Battery_watchdog/data/favicon.png b/.arduino/Battery_watchdog/data/favicon.png deleted file mode 100644 index d367db18b7922577b37a1e85baa61033366c7749..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37431 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 diff --git a/.arduino/Battery_watchdog/data/highcharts.js b/.arduino/Battery_watchdog/data/highcharts.js deleted file mode 100644 index f8b027f..0000000 --- a/.arduino/Battery_watchdog/data/highcharts.js +++ /dev/null @@ -1,8 +0,0 @@ -!/** - * Highcharts JS v11.4.1 (2024-04-04) - * - * (c) 2009-2024 Torstein Honsi - * - * License: www.highcharts.com/license - */function(t,e){"object"==typeof module&&module.exports?(e.default=e,module.exports=t&&t.document?e(t):e):"function"==typeof define&&define.amd?define("highcharts/highcharts",function(){return e(t)}):(t.Highcharts&&t.Highcharts.error(16,!0),t.Highcharts=e(t))}("undefined"!=typeof window?window:this,function(t){"use strict";var e={};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.1",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=-1!==i.userAgent.indexOf("Chrome"),i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e}),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(t){let e;let{charts:i,doc:s,win:r}=t;function o(e,i,s,a){let n=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${n}: Deprecated member`);let h=p(e),l=h?`${n} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==a){let t="";h&&(l+="?"),k(a,function(e,i){t+=` - - ${i}: ${e}`,h&&(l+=encodeURI(i)+"="+encodeURI(e))}),l+=t}M(t,"displayError",{chart:s,code:e,message:l,params:a},function(){if(i)throw Error(l);r.console&&-1===o.messages.indexOf(l)&&console.warn(l)}),o.messages.push(l)}function a(t,e){return parseInt(t,e||10)}function n(t){return"string"==typeof t}function h(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function l(t,e){return!!t&&"object"==typeof t&&(!e||!h(t))}function d(t){return l(t)&&"number"==typeof t.nodeType}function c(t){let e=t&&t.constructor;return!!(l(t,!0)&&!d(t)&&e&&e.name&&"Object"!==e.name)}function p(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function u(t){return null!=t}function g(t,e,i){let s;let r=n(e)&&!u(i),o=(e,i)=>{u(e)?t.setAttribute(i,e):r?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return n(e)?o(i,e):k(e,o),s}function f(t){return h(t)?t:[t]}function m(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function x(){let t=arguments,e=t.length;for(let i=0;i1e14?t:parseFloat(t.toPrecision(e||14))}(o||(o={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let S=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i;let s=t.length;for(i=0;it.order-e.order),t.forEach(t=>{!1===t.fn.call(e,r)&&r.preventDefault()})}o&&!r.defaultPrevented&&o.call(e,r)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){t[i]=function(t){return o(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});let w=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return r.jQuery&&(r.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new t[n(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):i[g(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,r={}){let o="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let a=o.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let n=e.addEventListener;n&&n.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),a[i]||(a[i]=[]);let h={fn:s,order:"number"==typeof r.order?r.order:1/0};return a[i].push(h),a[i].sort((t,e)=>t.order-e.order),function(){C(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]e?t-1&&r[d]){i=f(i),o[d]=[];for(let e=0;e{if(t.length>1)for(o=s=t.length-1;o>0;o--)(r=t[o]-t[o-1])<0&&!a?(e?.(),e=void 0):r&&(void 0===i||r=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let n=r.getComputedStyle(e,void 0);return n&&(o=n.getPropertyValue(i),x(s,"opacity"!==i)&&(o=a(o))),o},inArray:function(t,e,i){return o(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i;let s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(n<=(e[o]+(e[o+1]||e[o]))/2)));o++);return v(a*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(t){let e=s.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(r.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(r.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:x,pInt:a,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:f,stableSort:function(t,e){let i,s;let r=t.length;for(s=0;s0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:w,useSerialIds:function(t){return e=x(t,e)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}}),i(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),i(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{win:i}=t,{defined:s,error:r,extend:o,isNumber:a,isObject:n,merge:h,objectEach:l,pad:d,pick:c,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,f=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let r=e["getUTC"+t]();return e.setTime(i),r}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),r=e.getTime()-s;e.setTime(r),e["setUTC"+t](i);let o=this.getTimezoneOffset(e);return r=e.getTime()+o,e.setTime(r)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=c(t.useUTC,!0);this.options=t=h(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)}makeTime(t,e,i,s,r,o){let a,n,h;return this.useUTC?(a=this.Date.UTC.apply(0,arguments),n=this.getTimezoneOffset(a),a+=n,n!==(h=this.getTimezoneOffset(a))?a+=h-n:n-36e5!==this.getTimezoneOffset(a-36e5)||f||(a-=36e5)):a=new this.Date(t,e,c(i,1),c(s,0),c(r,0),c(o,0)).getTime(),a}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i=`shortOffset,${e.timezone||""}`,[s,r,o,n,h=0]=(m.formatCache[i]=m.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),l=-(36e5*(o+h/60));if(a(l))return l}catch(t){r(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,r){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");let a=this,n=new this.Date(i),h=this.get("Hours",n),p=this.get("Day",n),u=this.get("Date",n),g=this.get("Month",n),f=this.get("FullYear",n),m=t.defaultOptions.lang,x=m&&m.weekdays,y=m&&m.shortWeekdays;return l(o({a:y?y[p]:x[p].substr(0,3),A:x[p],d:d(u),e:d(u,2," "),w:p,b:m.shortMonths[g],B:m.months[g],m:d(g+1),o:g+1,y:f.toString().substr(2,2),Y:f,H:d(h),k:h,I:d(h%12||12),l:h%12||12,M:d(this.get("Minutes",n)),p:h<12?"AM":"PM",P:h<12?"am":"pm",S:d(this.get("Seconds",n)),L:d(Math.floor(i%1e3),3)},t.dateFormats),function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(a,i):t)}),r?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return n(t,!0)?t:{main:(t=p(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,r){let a,n,h,l;let d=this,p=d.Date,g=[],f={},m=new p(e),x=t.unitRange,y=t.count||1;if(r=c(r,1),s(e)){d.set("Milliseconds",m,x>=u.second?0:y*Math.floor(d.get("Milliseconds",m)/y)),x>=u.second&&d.set("Seconds",m,x>=u.minute?0:y*Math.floor(d.get("Seconds",m)/y)),x>=u.minute&&d.set("Minutes",m,x>=u.hour?0:y*Math.floor(d.get("Minutes",m)/y)),x>=u.hour&&d.set("Hours",m,x>=u.day?0:y*Math.floor(d.get("Hours",m)/y)),x>=u.day&&d.set("Date",m,x>=u.month?1:Math.max(1,y*Math.floor(d.get("Date",m)/y))),x>=u.month&&(d.set("Month",m,x>=u.year?0:y*Math.floor(d.get("Month",m)/y)),n=d.get("FullYear",m)),x>=u.year&&(n-=n%y,d.set("FullYear",m,n)),x===u.week&&(l=d.get("Day",m),d.set("Date",m,d.get("Date",m)-l+r+(l4*u.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));let p=m.getTime();for(a=1;p1?p=d.makeTime(n,t,o,c+a*y):p+=x*y,a++;g.push(p),x<=u.hour&&g.length<1e4&&g.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(f[t]="day")})}return g.info=o(t,{higherRanks:f,totalRange:x*y}),g}getDateFormat(t,e,i,s){let r=this.dateFormat("%m-%d %H:%M:%S.%L",e),o="01-01 00:00:00.000",a={millisecond:15,second:12,minute:9,hour:6,day:3},n="millisecond",h=n;for(n in u){if(t===u.week&&+this.dateFormat("%w",e)===i&&r.substr(6)===o.substr(6)){n="week";break}if(u[n]>t){n=h;break}if(a[n]&&r.substr(a[n])!==o.substr(a[n]))break;"week"!==n&&(h=n)}return this.resolveDTLFormat(s[n]).main}}return m.formatCache={},m}),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,e,i,s,r){let{isTouchDevice:o,svg:a}=e,{merge:n}=r,h={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:o?25:10,headerFormat:'{point.key}
',pointFormat:' {series.name}: {point.y}
',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};h.chart.styledMode=!1;let l=new s(h.time);return{defaultOptions:h,defaultTime:l,getOptions:function(){return h},setOptions:function(t){return n(!0,h,t),(t.time||t.global)&&(e.time?e.time.update(n(h.global,h.time,t.global,t.time)):e.time=l),h}}}),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isNumber:i,merge:s,pInt:r}=e;class o{static parse(t){return t?new o(t):o.None}constructor(e){let i,s,r,a;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let n=t.Color;if(n&&n!==o)return new n(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>new o(t[1]));else if("string"==typeof e){if(this.input=e=o.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(16711680&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(r=o.parsers.length;r--&&!s;)(i=(a=o.parsers[r]).regex.exec(e))&&(s=a.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,r=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return r&&i(r[0])?"rgb"!==t&&(t||1!==r[3])?"a"===t?`${r[3]}`:"rgba("+r.join(",")+")":"rgb("+r[0]+","+r[1]+","+r[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=r(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,r=t.rgba;if(!i(s[0])||!i(r[0]))return t.input||"none";let o=1!==r[3]||1!==s[3];return(o?"rgba(":"rgb(")+Math.round(r[0]+(s[0]-r[0])*(1-e))+","+Math.round(r[1]+(s[1]-r[1])*(1-e))+","+Math.round(r[2]+(s[2]-r[2])*(1-e))+(o?","+(r[3]+(s[3]-r[3])*(1-e)):"")+")"}}return o.names={white:"#ffffff",black:"#000000"},o.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(t){return[r(t[1]),r(t[2]),r(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(t){return[r(t[1]),r(t[2]),r(t[3]),1]}}],o.None=new o(""),o}),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{win:r}=e,{isNumber:o,objectEach:a}=i;class n{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,r=[];if(1!==s&&e&&i){if(e.length===i.length&&s<1)for(let t=0;t=h+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,a(l,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(o),e=!1):(this.pos=r.easing((s-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,r=t.endX,a=i.slice(),n=t.isArea,h=n?2:1,l,d,c,p,u=e&&e.slice();if(!u)return[a,a];function g(t,e){for(;t.length{let s=d(t.options.animation);n=a(e)&&i(e.defer)?r.defer:Math.max(n,s.duration+s.defer),h=Math.min(r.duration,s.duration)}),t.renderer.forExport&&(n=0),{defer:Math.max(0,n-h),duration:Math.min(n,h)}},setAnimation:function(t,e){e.renderer.globalAnimation=l(t,e.options.chart.animation,!0)},stop:c}}),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{SVG_NS:i,win:s}=t,{attr:r,createElement:o,css:a,error:n,isFunction:h,isString:l,objectEach:d,splat:c}=e,{trustedTypes:p}=s,u=p&&h(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",f=function(){try{return!!new DOMParser().parseFromString(g,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return d(t,(e,i)=>{let s=!0;-1===m.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=l(e)&&m.allowedReferences.some(t=>0===e.indexOf(t))),s||(n(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),l(e)&&t[i]&&(t[i]=e.replace(/{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,o){let h;return c(s).forEach(function(s){let l;let c=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=m.bypassHTMLFiltering;if(c){if("#text"===c)l=p;else if(-1!==m.allowedTags.indexOf(c)||u){let n="svg"===c?i:o.namespaceURI||i,h=t.doc.createElementNS(n,c),g=s.attributes||{};d(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)}),r(h,u?g:m.filterUserAttributes(g)),s.style&&a(h,s.style),p&&h.appendChild(p),e(s.children||[],h),l=h}else n(33,!1,void 0,{"Invalid tagName in config":c})}l&&o.appendChild(l),h=l}),h}(this.nodes,e)}parseMarkup(t){let e;let i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),f)e=new DOMParser().parseFromString(u?u.createHTML(t):t,"text/html");else{let i=o("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),r={tagName:i};"#text"===i&&(r.textContent=t.textContent||"");let o=t.attributes;if(o){let t={};[].forEach.call(o,e=>{"data-style"===e.name?r.style=m.parseStyle(e.value):t[e.name]=e.value}),r.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(r.children=e)}e.push(r)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","markerHeight","markerWidth","offset","opacity","orient","padding","paddingLeft","paddingRight","patternUnits","r","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feDropShadow","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=g,m.bypassHTMLFiltering=!1,m}),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:r,getNestedProperty:o,isArray:a,isNumber:n,isObject:h,pick:l,pInt:d}=e,c={add:(t,e)=>t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!a(t)&&t.map((i,s)=>p(e.body,r(h(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,r){let a=/\{([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= #\(\)]+)\}/g,n=/\(([a-zA-Z0-9\:\.\,;\-\/<>%_@"'= ]+)\)/g,h=[],d=/f$/,g=/\.([0-9])/,f=i.lang,m=r&&r.time||s,x=r&&r.numberFormatter||u,y=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:o(t,e))},b,v,S=0,k;for(;null!==(b=a.exec(t));){let i=n.exec(b[1]);i&&(b=i,k=!0),v&&v.isBlock||(v={ctx:e,expression:b[1],find:b[0],isBlock:"#"===b[1].charAt(0),start:b.index,startInner:b.index+b[0].length,length:b[0].length});let s=b[1].split(" ")[0].replace("#","");c[s]&&(v.isBlock&&s===v.fn&&S++,v.fn||(v.fn=s));let r="else"===b[1];if(v.isBlock&&v.fn&&(b[1]===`/${v.fn}`||r)){if(S)!r&&S--;else{let e=v.startInner,i=t.substr(e,b.index-e);void 0===v.body?(v.body=i,v.startInner=b.index+b[0].length):v.elseBody=i,v.find+=i+b[0],r||(h.push(v),v=void 0)}}else v.isBlock||h.push(v);if(i&&!v?.isBlock)break}return h.forEach(i=>{let s,r;let{body:o,elseBody:a,expression:n,fn:h}=i;if(h){let t=[i],l=n.split(" ");for(r=c[h].length;r--;)t.unshift(y(l[r+1]));s=c[h].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?o:a,e))}else{let t=n.split(":");if(s=y(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(d.test(e)){let t=parseInt((e.match(g)||["","-1"])[1],10);null!==s&&(s=x(s,t,f.decimalPoint,e.indexOf(",")>-1?f.thousandsSep:""))}else s=m.dateFormat(e,s)}}t=t.replace(i.find,l(s,""))}),k?p(t,e,r):t}function u(t,e,s,r){let o,a;t=+t||0,e=+e;let h=i.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(c,20):n(e)?e&&p[1]&&p[1]<0&&((a=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(a).split("e")[0],e=a):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;let g=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,c)-1)).toFixed(e),f=String(d(g)),m=f.length>3?f.length%3:0;return s=l(s,h.decimalPoint),r=l(r,h.thousandsSep),o=(t<0?"-":"")+(m?f.substr(0,m)+r:""),0>+p[1]&&!u?o="0":o+=f.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+r),e&&(o+=s+g.slice(-e)),p[1]&&0!=+o&&(o+="e"+p[1]),o}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:c,numberFormat:u}}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,r,o){i.rendererTypes[e]=r,(!s||o)&&(s=e,t.Renderer=r)},e}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e;let{clamp:i,pick:s,pushUnique:r,stableSort:o}=t;return(e||(e={})).distribute=function t(e,a,n){let h=e,l=h.reducedLen||a,d=(t,e)=>t.target-e.target,c=[],p=e.length,u=[],g=c.push,f,m,x,y=!0,b,v,S=0,k;for(f=p;f--;)S+=e[f].size;if(S>l){for(o(e,(t,e)=>(e.rank||0)-(t.rank||0)),x=(k=e[0].rank===e[e.length-1].rank)?p/2:-1,m=k?x:p-1;x&&S>l;)b=e[f=Math.floor(m)],r(u,f)&&(S-=b.size),m+=x,k&&m>=e.length&&(x/=2,m=x);u.sort((t,e)=>e-t).forEach(t=>g.apply(c,e.splice(t,1)))}for(o(e,d),e=e.map(t=>({size:t.size,targets:[t.target],align:s(t.align,.5)}));y;){for(f=e.length;f--;)b=e[f],v=(Math.min.apply(0,b.targets)+Math.max.apply(0,b.targets))/2,b.pos=i(v-b.size*b.align,0,a-b.size);for(f=e.length,y=!1;f--;)f>0&&e[f-1].pos+e[f-1].size>e[f].pos&&(e[f-1].size+=e[f].size,e[f-1].targets=e[f-1].targets.concat(e[f].targets),e[f-1].align=.5,e[f-1].pos+e[f-1].size>a&&(e[f-1].pos=a-e[f-1].size),e.splice(f,1),y=!0)}return g.apply(h,c),f=0,e.some(e=>{let i=0;return(e.targets||[]).some(()=>(h[f].pos=e.pos+i,void 0!==n&&Math.abs(h[f].pos-h[f].target)>n)?(h.slice(0,f+1).forEach(t=>delete t.pos),h.reducedLen=(h.reducedLen||a)-.1*a,h.reducedLen>.1*a&&t(h,a,n),!0):(i+=h[f].size,f++,!1))}),o(h,d),h},e}),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{animate:r,animObject:o,stop:a}=t,{deg2rad:n,doc:h,svg:l,SVG_NS:d,win:c}=i,{addEvent:p,attr:u,createElement:g,css:f,defined:m,erase:x,extend:y,fireEvent:b,isArray:v,isFunction:S,isObject:k,isString:C,merge:M,objectEach:w,pick:T,pInt:A,replaceNested:P,syncTimeout:L,uniqueKey:O}=s;class D{_defaultGetter(t){let e=T(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^[\-0-9\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e;let i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let r,o,a,n,h;let l={},d=this.renderer,c=d.alignedObjects;t?(this.alignOptions=t,this.alignByTranslate=e,(!i||C(i))&&(this.alignTo=a=i||"renderer",x(c,this),c.push(this),i=void 0)):(t=this.alignOptions,e=this.alignByTranslate,a=this.alignTo),i=T(i,d[a],d);let p=t.align,u=t.verticalAlign;return r=(i.x||0)+(t.x||0),o=(i.y||0)+(t.y||0),"right"===p?n=1:"center"===p&&(n=2),n&&(r+=(i.width-(t.width||0))/n),l[e?"translateX":"x"]=Math.round(r),"bottom"===u?h=1:"middle"===u&&(h=2),h&&(o+=(i.height-(t.height||0))/h),l[e?"translateY":"y"]=Math.round(o),s&&(this[this.placed?"animate":"attr"](l),this.placed=!0),this.alignAttr=l,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=o(T(e,this.renderer.globalAnimation,!0)),a=s.defer;return h.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),L(()=>{this.element&&r(this,t,s)},a)):(this.attr(t,void 0,i||s.complete),w(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),r=s[s.length-1],o=s[0];if(o&&"none"!==o&&i.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=h.createElementNS(d,"tspan");u(t,{class:"highcharts-text-outline",fill:r,stroke:r,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let s=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});let a=h.createElementNS(d,"tspan");a.textContent="​",u(a,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(a),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let r=this.element,o=D.symbolCustomAttribs,n,h,l=this,d;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,r):(w(t,function(e,i){d=!1,s||a(this,i),this.symbolName&&-1!==o.indexOf(i)&&(h||(this.symbolAttr(t),h=!0),d=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),d||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,r)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);y(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){let i=Math.round(e=e||t.strokeWidth||0)%2/2;return t.x=Math.floor(t.x||this.x||0)+i,t.y=Math.floor(t.y||this.y||0)+i,t.width=Math.floor((t.width||this.width||0)-2*i),t.height=Math.floor((t.height||this.height||0)-2*i),m(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let r=this.renderer,o,a,n,h,l,d,c,p,u,g,f=[],x;b(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?a="radialGradient":t.linearGradient&&(a="linearGradient"),a){if(n=t[a],l=r.gradients,d=t.stops,u=s.radialReference,v(n)&&(t[a]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===a&&u&&!m(n.gradientUnits)&&(h=n,n=M(n,r.getRadialAttr(u,h),{gradientUnits:"userSpaceOnUse"})),w(n,function(t,e){"id"!==e&&f.push(e,t)}),w(d,function(t){f.push(t)}),l[f=f.join(",")])g=l[f].attr("id");else{n.id=g=O();let t=l[f]=r.createElement(a).attr(n).add(r.defs);t.radAttr=h,t.stops=[],d.forEach(function(i){0===i[1].indexOf("rgba")?(c=(o=e.parse(i[1])).get("rgb"),p=o.get("a")):(c=i[1],p=1);let s=r.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":p}).add(t);t.stops.push(s)})}x="url("+r.url+"#"+g+")",s.setAttribute(i,x),s.gradient=f,t.toString=function(){return x}}})}css(t){let e=this.styles,i={},s=this.element,r,o=!e;if(e&&w(t,function(t,s){e&&e[s]!==t&&(i[s]=t,o=!0)}),o){e&&(t=y(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(r=this.textWidth=A(t.width)),y(this.styles,t),r&&!l&&this.renderer.forExport&&delete t.width;let o=M(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>o&&delete o[t]),o.color&&(o.fill=o.color)),f(s,o)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.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(e=s.length;e--;)s[e]=""+A(s[e])*T(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,r="SPAN"===e.nodeName&&t.parentGroup||void 0,o,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,a(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(n=0;ne&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,r,o;let{alignValue:a,element:n,renderer:h,styles:l,textStr:d}=this,{cache:c,cacheKeys:p}=h,u=n.namespaceURI===this.SVG_NS,g=T(e,this.rotation,0),x=h.styledMode?n&&D.prototype.getStyle.call(n,"font-size"):l.fontSize;if(m(d)&&(-1===(o=d.toString()).indexOf("<")&&(o=o.replace(/[0-9]/g,"0")),o+=["",h.rootFontSize,x,g,this.textWidth,a,l.textOverflow,l.fontWeight].join(",")),o&&!t&&(i=c[o]),!i){if(u||h.forExport){try{r=this.fakeTS&&function(t){let e=n.querySelector(".highcharts-text-outline");e&&f(e,{display:t})},S(r)&&r("none"),i=n.getBBox?y({},n.getBBox()):{width:n.offsetWidth,height:n.offsetHeight,x:0,y:0},S(r)&&r("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${x||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g))}if(o&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[o]||p.push(o),c[o]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:r,height:o}=t,{alignValue:a,translateY:h,rotationOriginX:l=0,rotationOriginY:d=0}=this,c={right:1,center:.5}[a||0]||0,p=Number(this.element.getAttribute("y")||0)-(h?0:s),u=e*n,g=(e-90)*n,f=Math.cos(u),m=Math.sin(u),x=r*f,y=r*m,b=Math.cos(g),v=Math.sin(g),[[S,k],[C,M]]=[l,d].map(t=>[t-t*f,t*m]),w=i+c*(r-x)+S+M+p*b,T=w+x,A=T-o*b,P=A-x,L=s+p-c*y-k+C+p*v,O=L+y,D=O-o*v,E=D-y,I=Math.min(w,T,A,P),j=Math.min(L,O,D,E),B=Math.max(w,T,A,P)-I,R=Math.max(L,O,D,E)-j;return{x:I,y:j,width:B,height:R}}getStyle(t){return c.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=d,this.element="span"===e||"body"===e?g(e):h.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},b(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=p(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(C(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}setTextPath(t,e){e=M(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,s=this.text||this,r=s.textPath,{attributes:o,enabled:a}=e;if(t=t||r&&r.path,r&&r.undo(),t&&a){let e=p(s,"afterModifyTree",e=>{if(t&&a){let r=t.attr("id");r||t.attr("id",r=O());let a={x:0,y:0};m(o.dx)&&(a.dx=o.dx,delete o.dx),m(o.dy)&&(a.dy=o.dy,delete o.dy),s.attr(a),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let n=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:y(o,{"text-anchor":o.textAnchor,href:`${i}#${r}`}),children:n}}});s.textPath={path:t,undo:e}}else s.attr({dx:0,dy:0}),delete s.textPath;return this.added&&(s.textCache="",this.renderer.buildText(s)),this}shadow(t){let{renderer:e}=this,i=M(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},k(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=A(t):""!==t&&(u(i=h.createElementNS(d,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;D.symbolCustomAttribs.forEach(function(i){e[i]=T(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this))}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||h.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=P(T(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:r,rotationOriginY:o,scaleX:a,scaleY:n,translateX:h=0,translateY:l=0}=this,d=["translate("+h+","+l+")"];m(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+T(r,e.getAttribute("x"),0)+" "+T(o,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(m(a)||m(n))&&d.push("scale("+T(a,1)+" "+T(n,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,r=(s||i).element||i.box,o=this.element,a=r===i.box,n,h,l,d=!1,c,p=this.added,u;if(m(t)?(o.setAttribute("data-z-index",t),t=+t,this[e]===t&&(p=!1)):m(this[e])&&o.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(n=r.childNodes).length-1;u>=0&&!d;u--)c=!m(l=(h=n[u]).getAttribute("data-z-index")),h!==o&&(t<0&&c&&!a&&!u?(r.insertBefore(o,n[u]),d=!0):(A(l)<=t||c&&(!m(t)||t>=0))&&(r.insertBefore(o,n[u+1]),d=!0));d||(r.insertBefore(o,n[a?3:0]),d=!0)}return d}}return D.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],D.prototype.strokeSetter=D.prototype.fillSetter,D.prototype.yGetter=D.prototype.xGetter,D.prototype.matrixSetter=D.prototype.rotationOriginXSetter=D.prototype.rotationOriginYSetter=D.prototype.rotationSetter=D.prototype.scaleXSetter=D.prototype.scaleYSetter=D.prototype.translateXSetter=D.prototype.translateYSetter=D.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},D}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:r,merge:o,pick:a,removeEvent:n}=e;class h extends t{constructor(t,e,i,s,r,o,a,n,l,d){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.textStr=e,this.x=i,this.y=s,this.anchorX=o,this.anchorY=a,this.baseline=l,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,n).attr({zIndex:1}),"string"==typeof r&&((c=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=h.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&r(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=o(e),h.textProps.forEach(i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])}),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){n(this.element,"mouseenter"),n(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:r=0,translateY:o=0,width:n=0}=this,h=a(this.paddingLeft,i),l=e??(this.rotation||0),d={width:n,height:s,x:r+this.bBox.x-h,y:o+this.bBox.y-i+this.baselineOffset};return l&&(d=this.getRotatedBox(d,l)),d}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t}onAdd(){this.text.add(this),this.attr({text:a(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){r(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding()}updateBoxSize(){let t;let e=this.text,o={},a=this.padding,n=this.bBox=(!r(this.widthSetting)||!r(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):h.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||n.height||0)+2*a;let l=this.renderer.fontMetrics(e);if(this.baselineOffset=a+Math.min((this.text.firstLineMetrics||l).b,n.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-l.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}t=this.getCrispAdjust(),o.x=t,o.y=(this.baseline?-this.baselineOffset:0)+t,o.width=Math.round(this.width),o.height=Math.round(this.height),this.box.attr(s(o,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=a(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=r(t)?t:void 0}getPaddedWidth(){let t=this.padding,e=a(this.paddingLeft,t),i=a(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return h.emptyBBox={width:0,height:0,x:0,y:0},h.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],h}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t;function r(t,i,r,o,a){let n=[];if(a){let h=a.start||0,l=s(a.r,r),d=s(a.r,o||r),c=.001>Math.abs((a.end||0)-h-2*Math.PI),p=(a.end||0)-.001,u=a.innerR,g=s(a.open,c),f=Math.cos(h),m=Math.sin(h),x=Math.cos(p),y=Math.sin(p),b=s(a.longArc,p-h-Math.PI<.001?0:1),v=["A",l,d,0,b,s(a.clockwise,1),t+l*x,i+d*y];v.params={start:h,end:p,cx:t,cy:i},n.push(["M",t+l*f,i+d*m],v),e(u)&&((v=["A",u,u,0,b,e(a.clockwise)?1-a.clockwise:0,t+u*f,i+u*m]).params={start:p,end:h,cx:t,cy:i},n.push(g?["M",t+u*x,i+u*y]:["L",t+u*x,i+u*y],v)),g||n.push(["Z"])}return n}function o(t,e,i,s,r){return r&&r.r?a(t,e,i,s,r):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function a(t,e,i,s,r){let o=r?.r||0;return[["M",t+o,e],["L",t+i-o,e],["A",o,o,0,0,1,t+i,e+o],["L",t+i,e+s-o],["A",o,o,0,0,1,t+i-o,e+s],["L",t+o,e+s],["A",o,o,0,0,1,t,e+s-o],["L",t,e+o],["A",o,o,0,0,1,t+o,e],["Z"]]}return{arc:r,callout:function(t,e,s,r,o){let n=Math.min(o&&o.r||0,s,r),h=n+6,l=o&&o.anchorX,d=o&&o.anchorY||0,c=a(t,e,s,r,{r:n});if(!i(l)||l0&&d0)return c;if(t+l>s-h){if(d>e+h&&de+h&&d0){let i=dr&&lh&&c.splice(1,1,["L",l-6,e],["L",l,e-6],["L",l+6,e],["L",s-n,e]);return c},circle:function(t,e,i,s){return r(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:o,roundedRect:a,square:o,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s,SVG_NS:r,win:o}=e,{attr:a,extend:n,fireEvent:h,isString:l,objectEach:d,pick:c}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,r=e.renderer,o=c(e.textStr,"").toString(),a=-1!==o.indexOf("<"),n=i.childNodes,h=!e.added&&r.box,d=[o,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=n.length;t--;)i.removeChild(n[t]);if(a||this.ellipsis||this.width||e.textPath||-1!==o.indexOf(" ")&&(!this.noWrap||//g.test(o))){if(""!==o){h&&h.appendChild(i);let s=new t(o);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),h&&h.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(o)));l(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t;let e=this.svgElement,i=a(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),a(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let n=this.width||0;if(!n)return;let h=(t,o)=>{let h=t.textContent||"",l=h.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(l.length>1||e.element.childNodes.length>1),c=this.getLineHeight(o),p=0,u=e.actualWidth;if(this.ellipsis)h&&this.truncate(t,h,void 0,0,Math.max(0,n-.8*c),(t,e)=>t.substring(0,e)+"…");else if(d){let h=[],d=[];for(;o.firstChild&&o.firstChild!==t;)d.push(o.firstChild),o.removeChild(o.firstChild);for(;l.length;)l.length&&!this.noWrap&&p>0&&(h.push(t.textContent||""),t.textContent=l.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,l,0===p&&u||0,n,(t,e)=>l.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,p++;d.forEach(e=>{o.insertBefore(e,t)}),h.forEach(e=>{o.insertBefore(s.createTextNode(e),t);let n=s.createElementNS(r,"tspan");n.textContent="​",a(n,{dy:c,x:i}),o.insertBefore(n,t)})}},l=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===o.Node.TEXT_NODE?h(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),l(i))})};l(e.element)}getLineHeight(t){let e=t.nodeType===o.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:r={},children:o,style:a={},tagName:h}=i,l=this.renderer.styledMode;if("b"===h||"strong"===h?l?r.class="highcharts-strong":a.fontWeight="bold":("i"===h||"em"===h)&&(l?r.class="highcharts-emphasized":a.fontStyle="italic"),a&&a.color&&(a.fill=a.color),"br"===h){r.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===h&&o&&o.some(t=>"#text"===t.tagName)&&(i.children=[{children:o,tagName:"tspan"}]);"#text"!==h&&"a"!==h&&(i.tagName="tspan"),n(i,{attributes:r,style:a}),o&&o.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),h(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,r,o){let a,n;let h=this.svgElement,{rotation:l}=h,d=[],c=i?1:0,p=(e||i||"").length,u=p,g=function(e,r){let o=r||e,a=t.parentNode;if(a&&void 0===d[o]&&a.getSubStringLength)try{d[o]=s+a.getSubStringLength(0,i?o+1:o)}catch(t){}return d[o]};if(h.rotation=0,s+(n=g(t.textContent.length))>r){for(;c<=p;)u=Math.ceil((c+p)/2),i&&(a=o(i,u)),n=g(u,a&&a.length-1),c===p?c=p+1:n>r?p=u-1:c=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=a||o(e||i,u))}i&&i.splice(0,u),h.actualWidth=n,h.rotation=l}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let l;let{charts:d,deg2rad:c,doc:p,isFirefox:u,isMS:g,isWebKit:f,noop:m,SVG_NS:x,symbolSizes:y,win:b}=i,{addEvent:v,attr:S,createElement:k,css:C,defined:M,destroyObjectProperties:w,extend:T,isArray:A,isNumber:P,isObject:L,isString:O,merge:D,pick:E,pInt:I,replaceNested:j,uniqueKey:B}=h;class R{constructor(t,e,i,s,r,o,a){let n,h;let l=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=l.element;a||l.css(this.getStyle(s||{})),t.appendChild(d),S(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&S(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=l,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(p.createTextNode("Created with Highcharts 11.4.1")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,this.styledMode=a,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=l.getStyle("font-size"),this.setSize(e,i,!1),u&&t.getBoundingClientRect&&((n=function(){C(t,{left:0,top:0}),h=t.getBoundingClientRect(),C(t,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})})(),this.unSubPixelFix=v(b,"resize",n))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((u||f)&&p.getElementsByTagName("base").length){if(!M(l)){let e=B(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(p.body);C(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=p.elementFromPoint(6,6);l="hitme"===(s&&s.id),p.body.removeChild(i)}if(l)return j(b.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=T({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),w(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z0-9\-]/g,""),i=D({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:[{tagName:"feDropShadow",attributes:{dx:i.offsetX,dy:i.offsetY,"flood-color":i.color,"flood-opacity":Math.min(5*i.opacity,1),stdDeviation:i.width/2}}]}),e}buildText(t){new n(t).buildSVG()}getContrast(t){let i=e.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*i[0]+.7152*i[1]+.0722*i[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,r,o={},a,n,h,l,d){let c,p,u;let f=this.label(e,i,s,l,void 0,void 0,d,void 0,"button"),m=this.styledMode,x=o.states||{},y=0;o=D(o),delete o.states;let b=D({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},o.style);delete o.style;let S=t.filterUserAttributes(o);return f.attr(D({padding:8,r:2},S)),m||(S=D({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},S),c=(a=D(S,{fill:"#e6e6e6"},t.filterUserAttributes(a||x.hover||{}))).style,delete a.style,p=(n=D(S,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},t.filterUserAttributes(n||x.select||{}))).style,delete n.style,u=(h=D(S,{style:{color:"#cccccc"}},t.filterUserAttributes(h||x.disabled||{}))).style,delete h.style),v(f.element,g?"mouseover":"mouseenter",function(){3!==y&&f.setState(1)}),v(f.element,g?"mouseout":"mouseleave",function(){3!==y&&f.setState(y)}),f.setState=function(t){if(1!==t&&(f.state=y=t),f.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t||0]),!m){f.attr([S,a,n,h][t||0]);let e=[b,c,p,u][t||0];L(e)&&f.css(e)}},!m&&(f.attr(S).css(T({cursor:"default"},b)),d&&f.text.css({pointerEvents:"none"})),f.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==y&&r.call(f,t)})}crispLine(t,e,i="round"){let s=t[0],r=t[1];return M(s[1])&&s[1]===r[1]&&(s[1]=r[1]=Math[i](s[1])-e%2/2),M(s[2])&&s[2]===r[2]&&(s[2]=r[2]=Math[i](s[2])+e%2/2),t}path(t){let e=this.styledMode?{}:{fill:"none"};return A(t)?e.d=t:L(t)&&T(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=L(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let a;L(t)?(e=(a=t).y,i=a.r,s=a.innerR,r=a.start,o=a.end,t=a.x):a={innerR:s,start:r,end:o};let n=this.symbol("arc",t,e,i,i,a);return n.r=i,n}rect(t,e,i,s,r,o){let a=L(t)?t:void 0===t?{}:{x:t,y:e,r,width:Math.max(i||0,0),height:Math.max(s||0,0)},n=this.createElement("rect");return this.styledMode||(void 0!==o&&(a["stroke-width"]=o,T(a,n.crisp(a))),a.fill="none"),n.rSetter=function(t,e,i){n.r=t,S(i,{rx:t,ry:t})},n.rGetter=function(){return n.r||0},n.attr(a)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:E(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,r,o){let a={preserveAspectRatio:"none"};P(e)&&(a.x=e),P(i)&&(a.y=i),P(s)&&(a.width=s),P(r)&&(a.height=r);let n=this.createElement("image").attr(a),h=function(e){n.attr({href:t}),o.call(n,e)};if(o){n.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new b.Image;v(e,"load",h),e.src=t,e.complete&&h({})}else n.attr({href:t});return n}symbol(t,e,i,s,r,o){let a,n,h,l;let c=this,u=/^url\((.*?)\)$/,g=u.test(t),f=!g&&(this.symbols[t]?t:"circle"),m=f&&this.symbols[f];if(m)"number"==typeof e&&(n=m.call(this.symbols,Math.round(e||0),Math.round(i||0),s||0,r||0,o)),a=this.path(n),c.styledMode||a.attr("fill","none"),T(a,{symbolName:f||void 0,x:e,y:i,width:s,height:r}),o&&T(a,o);else if(g){h=t.match(u)[1];let s=a=this.image(h);s.imgwidth=E(o&&o.width,y[h]&&y[h].width),s.imgheight=E(o&&o.height,y[h]&&y[h].height),l=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:r,height:a,imgwidth:n,imgheight:h}=this,l="width"===e?n:h,d=1;o&&"within"===o.backgroundSize&&r&&a&&n&&h?(d=Math.min(r/n,a/h),S(s,{width:Math.round(n*d),height:Math.round(h*d)})):s&&l&&s.setAttribute(e,l),!i&&n&&h&&this.translate(((r||0)-n*d)/2,((a||0)-h*d)/2)}}),M(e)&&s.attr({x:e,y:i}),s.isImg=!0,M(s.imgwidth)&&M(s.imgheight)?l(s):(s.attr({width:0,height:0}),k("img",{onload:function(){let t=d[c.chartIndex];0===this.width&&(C(this,{position:"absolute",top:"-999em"}),p.body.appendChild(this)),y[h]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&l(s),this.parentNode&&this.parentNode.removeChild(this),c.imgCount--,c.imgCount||!t||t.hasLoaded||t.onload()},src:h}),this.imgCount++)}return a}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),M(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),r=i.getAttribute(e);for(let i=0,o;it.align())}}return T(R.prototype,{Element:r,SVG_NS:x,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:a,draw:m}),s.registerRendererType("svg",R,!0),R}),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:r}=e,{attr:o,css:a,createElement:n,defined:h,extend:l,pInt:d,pushUnique:c}=s;function p(t,e,s){let r=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),r&&(r[e]=t)}let u=(t,e)=>{if(!t.div){let s=o(t.element,"class"),r=t.css,a=n("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),a.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,a.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=p,t.css=e=>(r.call(t,e),e.cursor&&(a.style.cursor=e.cursor),e.pointerEvents&&(a.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:a,onEvents:t.onEvents},arguments),t},t.div=a}return t.div};class g extends i{static compose(t){c(r,this.compose)&&(t.prototype.html=function(t,e,i){return new g(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e;let{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,r=s&&t.width;return s&&(delete t.width,this.textWidth=d(r)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.whiteSpace="nowrap",t.overflow="hidden"),l(this.styles,t),a(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:r,styles:o,textAlign:n="left",textWidth:l,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,g=o.whiteSpace;if(a(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let o=[i,n,t.innerHTML,l,this.textAlign].join(","),d=-(this.parentGroup?.padding*1)||0,c,f=!1;if(l!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(a(t,{width:"",whiteSpace:g||"nowrap"}),t.offsetWidth),s=l||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(a(t,{width:e>s||i?l+"px":"auto",display:"block",whiteSpace:g||"normal"}),this.oldTextWidth=l,f=!0)}this.hasBoxWidthChanged=f,o!==this.cTT&&(c=e.fontMetrics(t).b,h(i)&&(i!==(this.oldRotation||0)||n!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!h(i)&&this.textPxLength||t.offsetWidth,c,{left:0,center:.5,right:1}[n]));let{xCorr:m=0,yCorr:x=0}=this,y=(s??p)-m-p-d,b=(r??u)-x-u-d;a(t,{left:`${p+m}px`,top:`${u+x}px`,transformOrigin:`${y}px ${b}px`}),this.cTT=o,this.oldRotation=i,this.oldAlign=n}}setSpanRotation(t,e,i){a(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e;let i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let r=t;for(;r;)s.push(r),r=r.parentGroup;for(let t of s.reverse())e=u(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,e??""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let f=g.prototype;return f.visibilitySetter=f.opacitySetter=p,f.ySetter=f.rotationSetter=f.rotationOriginXSetter=f.rotationOriginYSetter=f.xSetter,g}),i(e,"Core/Axis/AxisDefaults.js",[],function(){var t,e;return(e=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e %b"},week:{main:"%e %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,isFunction:s,objectEach:r,removeEvent:o}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},r(e.events,function(e,r){t.eventOptions[r]!==e&&(t.eventOptions[r]&&(o(t,r,t.eventOptions[r]),delete t.eventOptions[r]),s(e)&&(t.eventOptions[r]=e,i(t,r,e,{order:0})))})},e}),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{deg2rad:s}=e,{clamp:r,correctFloat:o,defined:a,destroyObjectProperties:n,extend:h,fireEvent:l,isNumber:d,merge:c,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,l(this,"init"),i||s||this.addLabel()}addLabel(){let e=this,i=e.axis,s=i.options,r=i.chart,n=i.categories,c=i.logarithmic,p=i.names,g=e.pos,f=u(e.options&&e.options.labels,s.labels),m=i.tickPositions,x=g===m[0],y=g===m[m.length-1],b=(!f.step||1===f.step)&&1===i.tickInterval,v=m.info,S=e.label,k,C,M,w=this.parameters.category||(n?u(n[g],p[g],g):g);c&&d(w)&&(w=o(c.lin2log(w))),i.dateTime&&(v?k=(C=r.time.resolveDTLFormat(s.dateTimeLabelFormats[!s.grid&&v.higherRanks[g]||v.unitName])).main:d(w)&&(k=i.dateTime.getXDateFormat(w,s.dateTimeLabelFormats||{}))),e.isFirst=x,e.isLast=y;let T={axis:i,chart:r,dateTimeLabelFormat:k,isFirst:x,isLast:y,pos:g,tick:e,tickPositionInfo:v,value:w};l(this,"labelFormat",T);let A=e=>f.formatter?f.formatter.call(e,e):f.format?(e.text=i.defaultLabelFormatter.call(e),t.format(f.format,e,r)):i.defaultLabelFormatter.call(e),P=A.call(T,T),L=C&&C.list;L?e.shortenLabel=function(){for(M=0;M0&&r+c*p>h&&(v=Math.round((o-r)/Math.cos(d*s))):(y=r-c*p,b=r+(1-c)*p,yh&&(m=h-t.x+m*c,x=-1),(m=Math.min(g,m))m||e.autoRotation&&(l.styles||{}).width)&&(v=m)),v&&(this.shortenLabel?this.shortenLabel():(f.width=Math.floor(v)+"px",(i.style||{}).textOverflow||(f.textOverflow="ellipsis"),l.css(f)))}moveLabel(t,e){let i=this,s=i.label,r=i.axis,o=!1,a;s&&s.textStr===t?(i.movedLabel=s,o=!0,delete i.label):p(r.ticks,function(e){o||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,o=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!o&&(i.labelPos||s)&&(a=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,a),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,r=s.horiz,a=this.pos,n=u(this.tickmarkOffset,s.tickmarkOffset),h=this.getPosition(r,a,n,e),d=h.x,c=h.y,p=s.pos,g=p+s.len,f=r&&d===g||!r&&c===p?-1:1,m=r?d:c;!s.chart.polar&&this.isNew&&(o(m)g)&&(i=0);let x=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i,f),this.renderMark(h,i,f),this.renderLabel(h,e,x,t),this.isNew=!1,l(this,"afterRender")}renderGridLine(t,e,i){let s=this.axis,r=s.options,o={},a=this.pos,n=this.type,h=u(this.tickmarkOffset,s.tickmarkOffset),l=s.chart.renderer,d=this.gridLine,c,p=r.gridLineWidth,g=r.gridLineColor,f=r.gridLineDashStyle;"minor"===this.type&&(p=r.minorGridLineWidth,g=r.minorGridLineColor,f=r.minorGridLineDashStyle),d||(s.chart.styledMode||(o.stroke=g,o["stroke-width"]=p||0,o.dashstyle=f),n||(o.zIndex=1),t&&(e=0),this.gridLine=d=l.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(s.gridGroup)),d&&(c=s.getPlotLinePath({value:a+h,lineWidth:d.strokeWidth()*i,force:"pass",old:t,acrossPanes:!1}))&&d[t||this.isNew?"attr":"animate"]({d:c,opacity:e})}renderMark(t,e,i){let s=this.axis,r=s.options,o=s.chart.renderer,a=this.type,n=s.tickSize(a?a+"Tick":"tick"),h=t.x,l=t.y,d=u(r["minor"!==a?"tickWidth":"minorTickWidth"],!a&&s.isXAxis?1:0),c=r["minor"!==a?"tickColor":"minorTickColor"],p=this.mark,g=!p;n&&(s.opposite&&(n[0]=-n[0]),p||(this.mark=p=o.path().addClass("highcharts-"+(a?a+"-":"")+"tick").add(s.axisGroup),s.chart.styledMode||p.attr({stroke:c,"stroke-width":d})),p[g?"attr":"animate"]({d:this.getMarkPath(h,l,n[0],p.strokeWidth()*i,s.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let r=this.axis,o=r.horiz,a=r.options,n=this.label,h=a.labels,l=h.step,c=u(this.tickmarkOffset,r.tickmarkOffset),p=t.x,g=t.y,f=!0;n&&d(p)&&(n.xy=t=this.getLabelPosition(p,g,n,o,h,c,s,l),(!this.isFirst||this.isLast||a.showFirstLabel)&&(!this.isLast||this.isFirst||a.showLastLabel)?!o||h.step||h.rotation||e||0===i||this.handleOverflow(t):f=!1,l&&s%l&&(f=!1),f&&d(t.y)?(t.opacity=i,n[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(n.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0},void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n){let{animObject:h}=t,{xAxis:l,yAxis:d}=e,{defaultOptions:c}=s,{registerEventOptions:p}=r,{deg2rad:u}=o,{arrayMax:g,arrayMin:f,clamp:m,correctFloat:x,defined:y,destroyObjectProperties:b,erase:v,error:S,extend:k,fireEvent:C,getClosestDistance:M,insertItem:w,isArray:T,isNumber:A,isString:P,merge:L,normalizeTickInterval:O,objectEach:D,pick:E,relativeLength:I,removeEvent:j,splat:B,syncTimeout:R}=n,z=(t,e)=>O(e,void 0,void 0,E(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);k(c,{xAxis:l,yAxis:L(l,d)});class N{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,C(this,"init",{userOptions:e}),this.opposite=E(e.opposite,this.opposite),this.side=E(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let o=this.options,a=o.labels,n=o.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=E(o.reversed,this.reversed),this.visible=o.visible,this.zoomEnabled=o.zoomEnabled,this.hasNames="category"===n||!0===o.categories,this.categories=T(o.categories)&&o.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=y(o.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=o.minRange||o.maxZoom,this.range=o.range,this.offset=o.offset||0,this.max=void 0,this.min=void 0;let h=E(o.crosshair,B(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===h?{}:h,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),w(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!y(this.reversed)&&(this.reversed=!0),this.labelRotation=A(a.rotation)?a.rotation:void 0,p(this,o),C(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45]},margin:15}:{title:{rotation:90*this.side}};this.options=L(e,c[this.coll],t),C(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=A(this.value)?this.value:NaN,s=t.chart.time,r=t.categories,o=this.dateTimeLabelFormat,a=c.lang,n=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,l=t.logarithmic?Math.abs(i):t.tickInterval,d=n&&n.length,p,u;if(r)u=`${this.value}`;else if(o)u=s.dateFormat(o,i);else if(d&&n&&l>=1e3)for(;d--&&void 0===u;)l>=(p=Math.pow(h,d+1))&&10*i%p==0&&null!==n[d]&&0!==i&&(u=e(i/p,-1)+n[d]);return void 0===u&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}getSeriesExtremes(){let t;let e=this;C(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,r,o=s.threshold,a,n;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(o||0)&&(o=void 0),e.isXAxis)(r=i.xData)&&r.length&&(r=e.logarithmic?r.filter(t=>t>0):r,a=(t=i.getXExtremes(r)).min,n=t.max,A(a)||a instanceof Date||(r=r.filter(A),a=(t=i.getXExtremes(r)).min,n=t.max),r.length&&(e.dataMin=Math.min(E(e.dataMin,a),a),e.dataMax=Math.max(E(e.dataMax,n),n)));else{let t=i.applyExtremes();A(t.dataMin)&&(a=t.dataMin,e.dataMin=Math.min(E(e.dataMin,a),a)),A(t.dataMax)&&(n=t.dataMax,e.dataMax=Math.max(E(e.dataMax,n),n)),y(o)&&(e.threshold=o),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),C(this,"afterGetSeriesExtremes")}translate(t,e,i,s,r,o){let a=this.linkedParent||this,n=s&&a.old?a.old.min:a.min;if(!A(n))return NaN;let h=a.minPixelPadding,l=(a.isOrdinal||a.brokenAxis?.hasBreaks||a.logarithmic&&r)&&a.lin2val,d=1,c=0,p=s&&a.old?a.old.transA:a.transA,u=0;if(p||(p=a.transA),i&&(d*=-1,c=a.len),a.reversed&&(d*=-1,c-=d*(a.sector||a.len)),e)u=(t=t*d+c-h)/p+n,l&&(u=a.lin2val(u));else{l&&(t=a.val2lin(t));let e=d*(t-n)*p;u=(a.isRadial?e:x(e))+c+d*h+(A(o)?p*o:0)}return u}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,r=e.top,o=t.old,a=t.value,n=t.lineWidth,h=o&&i.oldChartHeight||i.chartHeight,l=o&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,x,y;function b(t,e,i){return"pass"!==p&&(ti)&&(p?t=m(t,e,i):y=!0),t}let v={value:a,lineWidth:n,old:o,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return C(this,"getPlotLinePath",v,function(t){u=f=Math.round((c=m(c=E(c,e.translate(a,void 0,void 0,o)),-1e5,1e5))+d),g=x=Math.round(h-c-d),A(c)?e.horiz?(g=r,x=h-e.bottom+(i.scrollablePixelsY||0),u=f=b(u,s,s+e.width)):(u=s,f=l-e.right+(i.scrollablePixelsX||0),g=x=b(g,r,r+e.height)):(y=!0,p=!1),t.path=y&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,x]],n||1)}),v.path}getLinearTickPositions(t,e,i){let s,r,o;let a=x(Math.floor(e/t)*t),n=x(Math.ceil(i/t)*t),h=[];if(x(a+t)===a&&(o=20),this.single)return[e];for(s=a;s<=n&&(h.push(s),(s=x(s+t,o))!==r);)r=s;return h}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?E(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,r=(this.min||0)-s,o=(this.max||0)+s,a=o-r,n=[],h;if(a&&a/i(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),A(i)&&A(s)&&A(r)&&i-s=r,o=(r-i+s)/2,n=[s-o,E(t.min,s-o)],a&&(n[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(s=g(n))+r,E(t.max,s+r)],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=f(h))-st-e),t=M([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=T(this.options.categories),i=e?this.categories:this.names,s=t.options.x,r;return t.series.requireSorting=!1,y(s)||(s=this.options.uniqueNames&&i?e?i.indexOf(t.name):E(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(r=i.length):r=s,void 0!==r?(this.names[r]=t.name,this.names.keys[t.name]=r):t.x&&(r=t.x),r}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,s){let r;i?.options&&void 0!==i.name&&void 0!==(r=t.nameToX(i))&&r!==i.x&&(i.x=r,e.xData[s]=r)})}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,r=t.isXAxis,o=t.axisPointRange||0,a,n=0,h=0,l,d=t.transA;(r||s||o)&&(a=t.getClosest(),i?(n=i.minPointOffset,h=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:r?E(e.options.pointRange,a,0):t.axisPointRange||0,l=e.options.pointPlacement;if(o=Math.max(o,i),!t.single||s){let t=e.is("xrange")?!r:r;n=Math.max(n,t&&P(l)?0:i/2),h=Math.max(h,t&&"on"===l?0:i)}}),l=t.ordinal&&t.ordinal.slope&&a?t.ordinal.slope/a:1,t.minPointOffset=n*=l,t.pointRangePadding=h*=l,t.pointRange=Math.min(o,t.single&&s?1:e),r&&a&&(t.closestPointRange=a)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+h||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*n,C(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return A(t)&&A(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:r,dateTime:o,isXAxis:a,logarithmic:n,options:h,softThreshold:l}=this,d=A(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=h,b=A(g)&&i[this.coll]?.[g],v=h.tickPixelInterval,k=h.maxPadding,M=h.minPadding,w=0,T,P=A(h.tickInterval)&&h.tickInterval>=0?h.tickInterval:void 0,L,O,D,I;if(o||e||b||this.getTickAmount(),D=E(this.userMin,h.min),I=E(this.userMax,h.max),b?(this.linkedParent=b,T=b.getExtremes(),this.min=E(T.min,T.dataMin),this.max=E(T.max,T.dataMax),h.type!==b.options.type&&S(11,!0,i)):(l&&y(d)&&A(s)&&A(r)&&(r>=d?(L=d,M=0):s<=d&&(O=d,k=0)),this.min=E(D,L,r),this.max=E(I,O,s)),A(this.max)&&A(this.min)&&(n&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,E(r,this.min))&&S(10,!0,i),this.min=x(n.log2lin(this.min),16),this.max=x(n.log2lin(this.max),16)),this.range&&A(r)&&(this.userMin=this.min=D=Math.max(r,this.minFromRange()||0),this.userMax=I=this.max,this.range=void 0)),C(this,"foundExtremes"),this.adjustForMinRange(),A(this.min)&&A(this.max)){if(!A(this.userMin)&&A(m)&&mthis.max&&(this.max=I=f),e||this.axisPointRange||this.stacking?.usePercentage||b||!(w=this.max-this.min)||(!y(D)&&M&&(this.min-=w*M),y(I)||!k||(this.max+=w*k)),!A(this.userMin)&&A(u)&&(this.min=Math.max(this.min,u)),!A(this.userMax)&&A(p)&&(this.max=Math.min(this.max,p)),l&&A(r)&&A(s)){let t=d||0;!y(D)&&this.min=t?this.min=h.minRange?Math.min(t,this.max-c):t:!y(I)&&this.max>t&&s<=t&&(this.max=h.minRange?Math.max(t,this.min+c):t)}!i.polar&&this.min>this.max&&(y(h.min)?this.max=this.min:y(h.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&A(this.min)&&A(this.max)?b&&!P&&v===b.options.tickPixelInterval?this.tickInterval=P=b.tickInterval:this.tickInterval=E(P,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*v/Math.max(this.len,v)):this.tickInterval=1,a&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),C(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),C(this,"initialAxisTranslation"),this.pointRange&&!P&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let j=E(h.minTickInterval,o&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!P&&this.tickIntervalMath.max(2*this.len,200))n=[this.min,this.max],S(19,!1,this.chart);else if(this.dateTime)n=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)n=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(n=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&n.length>this.tickAmount)this.tickInterval=z(this,e*=1.1);else break}n.length>this.len&&(n=[n[0],n[n.length-1]])[0]===n[1]&&(n.length=1),i&&(this.tickPositions=n,(h=i.apply(this,[this.min,this.max]))&&(n=h))}this.tickPositions=n,this.paddedTicks=n.slice(0),this.trimTicks(n,o,a),!this.isLinked&&A(this.min)&&A(this.max)&&(this.single&&n.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||h||this.adjustTickAmount()),C(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(C(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},o=r(this);i[this.coll].forEach(function(i){let{series:a}=i;a.length&&a.some(t=>t.visible)&&i!==e&&r(i)===o&&(t=!0,s.push(i))})}if(t&&a){s.forEach(t=>{let i=t.getThresholdAlignment(e);A(i)&&n.push(i)});let t=n.length>1?n.reduce((t,e)=>t+=e,0)/n.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!A(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),A(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;y(t.tickInterval)||i||!(this.leno.push(x(o[o.length-1]+p)),f=()=>o.unshift(x(o[0]-p));if(A(n)&&(u=n<.5?Math.ceil(n*(a-1)):Math.floor(n*(a-1)),r.reversed&&(u=a-1-u)),t.hasData()&&A(s)&&A(i)){let n=()=>{t.transA*=(h-1)/(a-1),t.min=r.startOnTick?o[0]:Math.min(s,o[0]),t.max=r.endOnTick?o[o.length-1]:Math.max(i,o[o.length-1])};if(A(u)&&A(t.threshold)){for(;o[u]!==l||o.length!==a||o[0]>s||o[o.length-1]t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}n()}else if(h0&&c{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let r=this.len!==(this.old&&this.old.len);r||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,C(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach(t=>{delete t.kdTree}),C(this,"setExtremes",r=k(r,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,r=this.width=Math.round(I(E(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(I(E(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),a=this.top=Math.round(I(E(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),n=this.left=Math.round(I(E(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-a,this.right=t.chartWidth-r-n,this.len=Math.max(s?r:o,0),this.pos=s?n:a}getExtremes(){let t=this.logarithmic;return{min:t?x(t.lin2log(this.min)):this.min,max:t?x(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=E(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],r;i&&s&&("inside"===e[t+"Position"]&&(s=-s),r=[s,i]);let o={tickSize:r};return C(this,"afterTickSize",o),o.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=this.horiz,i=this.tickInterval,s=this.len/(((this.categories?1:0)+this.max-this.min)/i),r=t.rotation,o=this.labelMetrics().h,a=Math.max(this.max-this.min,0),n=function(t){let e=t/(s||1);return(e=e>1?Math.ceil(e):1)*i>a&&t!==1/0&&s!==1/0&&a&&(e=Math.ceil(a/i)),x(e*i)},h=i,l,d=Number.MAX_VALUE,c;if(e){if(!t.staggerLines&&(A(r)?c=[r]:s=-90&&i<=90)&&(e=(t=n(Math.abs(o/Math.sin(u*i))))+Math.abs(i/360))g&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>h&&g>d.h?l.rotation=this.labelRotation:this.labelRotation=0;else if(n&&(p=h,!c))for(u="clip",m=i.length;!a&&m--;)(f=s[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>n&&f.css({width:n+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));l.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=r.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(l.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,r=o.width,a={};i&&(i.attr(l),e.shortenLabel?e.shortenLabel():p&&!r&&"nowrap"!==o.whiteSpace&&(pr.g(e).attr({zIndex:a}).addClass(`highcharts-${i.toLowerCase()}${o} `+(this.isRadial?`highcharts-radial-axis${o} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=o("grid","-grid",s.gridZIndex),this.axisGroup=o("axis","",s.zIndex),this.labelGroup=o("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:r,ticks:o,tickPositions:a,coll:n}=t,h=e.inverted&&!t.isZAxis?[1,0,3,2][r]:r,l=t.hasData(),d=s.title,c=s.labels,p=A(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][r],m,x=0,b,v=0,S=0,k,M;if(t.showAxis=m=l||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),l||t.isLinked?(a.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===r||2===r||({1:"left",3:"right"})[r]===t.labelAlign,E(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&a.forEach(function(t){S=Math.max(o[t].getLabelSize(),S)}),t.staggerLines&&(S*=t.staggerLines),t.labelOffset=S*(t.opposite?-1:1)):D(o,function(t,e){t.destroy(),delete o[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],v=y(b=d.offset)?0:E(d.margin,i?5:10))),t.renderLine(),t.offset=f*E(s.offset,u[r]?u[r]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},M=0===r?-t.labelMetrics().h:2===r?t.tickRotCorr.y:0,k=Math.abs(S)+v,S&&(k-=M,k+=f*(i?E(c.y,t.tickRotCorr.y+f*c.distance):E(c.x,f*c.distance))),t.axisTitleMargin=E(b,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(o,a)),"colorAxis"!==n){let e=this.tickSize("tick");u[r]=Math.max(u[r],(t.axisTitleMargin||0)+x+f*t.offset,k,a&&a.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:2*Math.floor(t.axisLine.strokeWidth()/2);g[h]=Math.max(g[h],i)}C(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=this.left+(i?this.width:0)+s,a=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",r?this.left:o,r?a:this.top],["L",r?e.chartWidth-this.right:o,r?a:e.chartHeight-this.bottom]],t)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(t){let e=this.horiz,i=this.left,s=this.top,r=this.len,o=this.options.title,a=e?i:s,n=this.opposite,h=this.offset,l=o.x,d=o.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:a+(e?0:r),middle:a+r/2,high:a+(e?r:0)}[o.align],g=(e?s+this.height:i)+(e?1:-1)*(n?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+l:g+(n?this.width:0)+h+l,y:e?g+d-(n?this.height:0)+h:u+d};return C(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new a(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new a(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let t,e;let i=this,s=i.chart,r=i.logarithmic,n=s.renderer,l=i.options,d=i.isLinked,c=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,f=i.alternateBands,m=l.stackLabels,x=l.alternateGridColor,y=l.crossing,b=i.tickmarkOffset,v=i.axisLine,S=i.showAxis,k=h(n.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,f].forEach(function(t){D(t,function(t){t.isActive=!1})}),A(y)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(y,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||d){let n=i.chart.hasRendered&&i.old&&A(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,n)}),c.length&&(c.forEach(function(t,e){i.renderTick(t,e,n)}),b&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new a(i,-1,null,!0)),u[-1].render(-1))),x&&c.forEach(function(a,n){e=void 0!==c[n+1]?c[n+1]+b:i.max-b,n%2==0&&a=.5)t=Math.round(t),l=a.getLinearTickPositions(t,e,i);else if(t>=.08){let s,r,a,n,h,d,c;let p=Math.floor(e);for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;re&&(!o||d<=i)&&void 0!==d&&l.push(d),d>i&&(c=!0),d=h}else{let d=this.lin2log(e),c=this.lin2log(i),p=o?a.getMinorTickInterval():h.tickInterval,u=h.tickPixelInterval/(o?5:1),g=o?n/a.tickPositions.length:n;t=s(t=r("auto"===p?null:p,this.minorAutoInterval,(c-d)*u/(g||1))),l=a.getLinearTickPositions(t,d,c).map(this.log2lin),o||(this.minorAutoInterval=t/5)}return o||(a.tickInterval=t),l}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=a}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{erase:i,extend:s,isNumber:r}=t;return function(t){let e;function o(t){return this.addPlotBandOrLine(t,"plotBands")}function a(t,i){let s=this.userOptions,r=new e(this,t);if(this.visible&&(r=r.render()),r){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(r)}return r}function n(t){return this.addPlotBandOrLine(t,"plotLines")}function h(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],a=this.horiz,n=!r(this.min)||!r(this.max)||tthis.max&&e>this.max,h=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,d=1,c;if(h&&s)for(n&&(c=h.toString()===s.toString(),d=0),l=0;l{v?.on(e,t=>{a[e].apply(this,[t])})}),this.eventsAdded=!0),(w||!v.d)&&S?.length?v.attr({d:S}):v&&(S?(v.show(),v.animate({d:S})):v.d&&(v.hide(),b&&(this.label=b=b.destroy()))),y&&(r(y.text)||r(y.formatter))&&S?.length&&t.width>0&&t.height>0&&!S.isFlat?(y=h({align:i&&C?"center":void 0,x:i?!C&&4:10,verticalAlign:!i&&C?"middle":void 0,y:i?C?16:10:C?6:-4,rotation:i&&!C?90:0},y),this.renderLabel(y,S,C,c)):b&&b.hide(),this}renderLabel(t,e,r,o){let a=this.axis,n=a.chart.renderer,l=this.label;l||(this.label=l=n.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(r?"band":"line")+"-label "+(t.className||""),zIndex:o}),a.chart.styledMode||l.css(h({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),l.add());let d=e.xBounds||[e[0][1],e[1][1],r?e[2][1]:e[0][1]],c=e.yBounds||[e[0][2],e[1][2],r?e[2][2]:e[0][2]],p=s(d),u=s(c);if(l.align(t,!1,{x:p,y:u,width:i(d)-p,height:i(c)-u}),!l.alignValue||"left"===l.alignValue){let e=t.clip?a.width:a.chart.chartWidth;l.css({width:(90===l.rotation?a.height-(l.alignAttr.y-a.top):e-(l.alignAttr.x-a.left))+"px"})}l.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){a(this.axis.plotLinesAndBands,this),delete this.axis,o(this)}}return c}),i(e,"Core/Tooltip.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,r){var o;let{format:a}=t,{composed:n,doc:h,isSafari:l}=e,{distribute:d}=i,{addEvent:c,clamp:p,css:u,discardElement:g,extend:f,fireEvent:m,isArray:x,isNumber:y,isString:b,merge:v,pick:S,pushUnique:k,splat:C,syncTimeout:M}=r;class w{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.now={},this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e;let i=this.points||C(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),g(this.container)),r.clearTimeout(this.hideTimer),r.clearTimeout(this.tooltipTimeout)}getAnchor(t,e){let i;let{chart:s,pointer:r}=this,o=s.inverted,a=s.plotTop,n=s.plotLeft;if((t=C(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=r.normalize(e)),i=[e.chartX-n,e.chartY-a];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,r=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],r+=e[1])}),s/=t.length,r/=t.length,this.shared&&t.length>1&&e&&(o?s=e.chartX:r=e.chartY),i=[s-n,r-a]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,r=t.series,o=r.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+S(t.colorIndex,r.colorIndex),o&&o.className].filter(b).join(" ")}getLabel(){let t=this,i=this.chart.styledMode,r=this.options,o=this.split&&this.allowShared,a=this.container,n=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!o&&t||o&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,i=s.getRendererType();this.container=a=e.doc.createElement("div"),a.className="highcharts-tooltip-container",u(a,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=n=new i(a,0,0,t,void 0,void 0,n.styledMode)}if(o?this.label=n.g("tooltip"):(this.label=n.label("",0,0,r.shape,void 0,void 0,r.useHTML,void 0,"tooltip").attr({padding:r.padding,r:r.borderRadius}),i||this.label.attr({fill:r.backgroundColor,"stroke-width":r.borderWidth||0}).css(r.style).css({pointerEvents:r.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label,{xSetter:i,ySetter:s}=e;e.xSetter=function(s){i.call(e,t.distance),a&&(a.style.left=s+"px")},e.ySetter=function(i){s.call(e,t.distance),a&&(a.style.top=i+"px")}}this.label.attr({zIndex:8}).shadow(r.shadow).add()}return a&&!a.parentElement&&e.doc.body.appendChild(a),this.label}getPlayingField(){let{body:t,documentElement:e}=h,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:r,outside:o,pointer:a}=this,{inverted:n,plotLeft:h,plotTop:l,polar:d}=r,{plotX:c=0,plotY:p=0}=i,u={},g=n&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=a.getChartPosition(),y=t=>t*x.scaleX,b=t=>t*x.scaleY,v=i=>{let a="x"===i;return[i,a?m:f,a?t:e].concat(o?[a?y(t):b(e),a?x.left-s+y(c+h):x.top-s+b(p+l),0,a?m:f]:[a?t:e,a?c+h:p+l,a?h:l,a?h+r.plotWidth:l+r.plotHeight])},k=v("y"),C=v("x"),M,w=!!i.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(w=!w);let T=!this.followPointer&&S(i.ttBelow,!d&&!n===w),A=function(t,e,i,r,a,n,h){let l=o?"y"===t?b(s):y(s):s,d=(i-r)/2,c=re?m:m+g)}},P=function(t,e,i,r,o){if(oe-s)return!1;oe-r/2?u[t]=e-r-2:u[t]=o-i/2},L=function(t){[k,C]=[C,k],M=t},O=()=>{!1!==A.apply(0,k)?!1!==P.apply(0,C)||M||(L(!0),O()):M?u.x=u.y=0:(L(!0),O())};return(n&&!d||this.len>1)&&L(),O(),u}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=S(t,this.options.hideDelay),this.isHidden||(this.hideTimer=M(function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=S(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,a=o.now,n=!1!==o.options.animation&&!o.isHidden&&(Math.abs(t-a.x)>1||Math.abs(e-a.y)>1),h=o.followPointer||o.len>1;f(a,{x:n?(2*a.x+t)/3:t,y:n?(a.y+e)/2:e,anchorX:h?void 0:n?(2*a.anchorX+i)/3:i,anchorY:h?void 0:n?(a.anchorY+s)/2:s}),o.getLabel().attr(a),o.drawTracker(),n&&(r.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){o&&o.move(t,e,i,s)},32))}refresh(t,e){let{chart:i,options:s,pointer:o,shared:n}=this,h=C(t),l=h[0],d=[],c=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,g={};if(!s.enabled||!l.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!x(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&l.series.tooltipOptions.followPointer;let f=this.getAnchor(t,e),y=f[0],v=f[1];n&&this.allowShared?(o.applyInactiveState(h),h.forEach(function(t){t.setState("hover"),d.push(t.getLabelConfig())}),(g=l.getLabelConfig()).points=d):g=l.getLabelConfig(),this.len=d.length;let k=b(c)?a(c,g,i):p.call(g,this),M=l.series;if(this.distance=S(M.tooltipOptions.distance,16),!1===k)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(k,h);else{let t=y,r=v;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),i.polar||!1===M.options.clip||h.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))){let t=this.getLabel();(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({text:k&&k.join?k.join(""):k}),t.addClass(this.getClassName(l),!0),u||t.attr({stroke:s.borderColor||l.color||M.color||"#666666"}),this.updatePosition({plotX:y,plotY:v,negative:l.negative,ttBelow:l.ttBelow,h:f[2]||0})}else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}m(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:r,chartHeight:o,plotHeight:a,plotLeft:n,plotTop:c,scrollablePixelsY:u=0,scrollablePixelsX:g,styledMode:m},distance:x,options:y,options:{positioner:v},pointer:k}=i,{scrollLeft:C=0,scrollTop:M=0}=s.scrollablePlotArea?.scrollingContainer||{},w=i.outside&&"number"!=typeof g?h.documentElement.getBoundingClientRect():{left:C,right:C+r,top:M,bottom:M+o},T=i.getLabel(),A=this.renderer||s.renderer,P=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:L,top:O}=k.getChartPosition(),D=c+M,E=0,I=a-u;function j(t,e,s,r,o=!0){let a,n;return s?(a=P?0:I,n=p(t-r/2,w.left,w.right-r-(i.outside?L:0))):(a=e-D,n=p(n=o?t-r-x:t+x,o?n:w.left,w.right)),{x:n,y:a}}b(t)&&(t=[!1,t]);let B=t.slice(0,e.length+1).reduce(function(t,s,r){if(!1!==s&&""!==s){let o=e[r-1]||{isHeader:!0,plotX:e[0].plotX,plotY:a,series:{}},h=o.isHeader,l=h?i:o.series,d=l.tt=function(t,e,s){let r=t,{isHeader:o,series:a}=e;if(!r){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),r=A.label("",0,0,y[o?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(i.getClassName(e,!0,o)).attr(t).add(T)}return r.isActive=!0,r.attr({text:s}),m||r.css(y.style).attr({stroke:y.borderColor||e.color||a.color||"#333333"}),r}(l.tt,o,s.toString()),u=d.getBBox(),g=u.width+d.strokeWidth();h&&(E=u.height,I+=E,P&&(D-=E));let{anchorX:f,anchorY:b}=function(t){let e,i;let{isHeader:s,plotX:r=0,plotY:o=0,series:h}=t;if(s)e=Math.max(n+r,n),i=c+a/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+p(r,-x,t.len+x),h.shouldShowTooltip(0,s.pos-c+o,{ignoreX:!0})&&(i=s.pos+o)}return{anchorX:e=p(e,w.left-x,w.right+x),anchorY:i}}(o);if("number"==typeof b){let e=u.height+1,s=v?v.call(i,g,e,o):j(f,b,h,g);t.push({align:v?0:void 0,anchorX:f,anchorY:b,boxWidth:g,point:o,rank:S(s.rank,h?1:0),size:e,target:s.y,tt:d,x:s.x})}else d.isActive=!1}return t},[]);!v&&B.some(t=>{let{outside:e}=i,s=(e?L:0)+t.anchorX;return ss})&&(B=B.map(t=>{let{x:e,y:i}=j(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return f(t,{target:i,x:e})})),i.cleanSplit(),d(B,I);let R={left:L,right:L};B.forEach(function(t){let{x:e,boxWidth:s,isHeader:r}=t;!r&&(i.outside&&L+eR.right&&(R.right=L+e))}),B.forEach(function(t){let{x:e,anchorX:s,anchorY:r,pos:o,point:{isHeader:a}}=t,n={visibility:void 0===o?"hidden":"inherit",x:e,y:(o||0)+D,anchorX:s,anchorY:r};if(i.outside&&e0&&(a||(n.x=e+t,n.anchorX=s+t),a&&(n.x=(R.right-R.left)/2,n.anchorX=s+t))}t.tt.attr(n)});let{container:z,outside:N,renderer:W}=i;if(N&&z&&W){let{width:t,height:e,x:i,y:s}=T.getBBox();W.setSize(t+i,e+s,!1),z.style.left=R.left+"px",z.style.top=O+"px"}l&&T.attr({opacity:1===T.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},r=this.getAnchor(i),o=e.getBBox();r[0]+=t.plotLeft-(e.translateX||0),r[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,r[0]),s.y=Math.min(0,r[1]),s.width=r[0]<0?Math.max(Math.abs(r[0]),o.width-r[0]):Math.max(Math.abs(r[0]),o.width),s.height=r[1]<0?Math.max(Math.abs(r[1]),o.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),o.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,s=i.tooltipOptions,r=i.xAxis,o=r&&r.dateTime,n={isFooter:e,labelConfig:t},h=s.xDateFormat,l=s[e?"footerFormat":"headerFormat"];return m(this,"headerFormatter",n,function(e){o&&!h&&y(t.key)&&(h=o.getXDateFormat(t.key,s.dateTimeLabelFormats)),o&&h&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(t){l=l.replace("{point."+t+"}","{point."+t+":"+h+"}")}),i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=a(l,{point:t,series:i},this.chart)}),n.text}update(t){this.destroy(),this.init(this.chart,v(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:r,pointer:o,renderer:a}=this,{height:n=0,width:h=0}=this.getLabel(),{left:l,top:d,scaleX:c,scaleY:p}=o.getChartPosition(),g=(r.positioner||this.getPosition).call(this,h,n,t),f=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;a&&i&&(r.positioner&&(g.x+=l-s,g.y+=d-s),x=(r.borderWidth||0)+2*s+2,a.setSize(h+x,n+x,!1),(1!==c||1!==p)&&(u(i,{transform:`scale(${c}, ${p})`}),f*=c,m*=p),f+=l-g.x,m+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,m)}}return(o=w||(w={})).compose=function(t){k(n,"Core.Tooltip")&&c(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new o(t,t.options.tooltip,this))})},w}),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,r){let{animObject:o}=e,{defaultOptions:a}=i,{format:n}=s,{addEvent:h,erase:l,extend:d,fireEvent:c,getNestedProperty:p,isArray:u,isFunction:g,isNumber:f,isObject:m,merge:x,pick:y,syncTimeout:b,removeEvent:v,uniqueKey:S}=r;class k{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(d({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return d(this,t=k.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=k.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?void 0===e?this.x=i.autoIncrement():this.x=e:f(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,r=i.hoverPoints,a=o(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(v(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),r&&(t.setState(),l(r,t),r.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),b(n,a.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,r=this.series.options;s.manageEvent(t),"click"===t&&r.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),c(s,t,e,i)}getClassName(){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",""):"")}getGraphicalProps(t){let e,i;let s=this,r=[],o={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),t.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),i=r.length;i--;)s[e=r[i]]&&o.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&o.plural.push(i)}),o}getLabelConfig(){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}}getNestedProperty(t){return t?0===t.indexOf("custom.")?p(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,r=0;for(s=e[0];this[i]>=s.value;)s=e[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=S()),this.resolveColor(),t.chart.pointCount++,c(this,"afterInit")}isValid(){return(f(this.x)||this.x instanceof Date)&&f(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],r=s.length,o={},a,n=0,h=0;if(f(t)||null===t)o[s[0]]=t;else if(u(t))for(!i&&t.length>r&&("string"==(a=typeof t[0])?o.name=t[0]:"number"===a&&(o.x=t[0]),n++);h0?k.prototype.setNestedProperty(o,t[n],s[h]):o[s[h]]=t[n]),n++,h++;else"object"==typeof t&&(o=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return o}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:r,xAxis:o,yAxis:a}=s,n=0,h=0;if(f(i)&&f(e))return t&&(n=o?o.pos:r.plotLeft,h=a?a.pos:r.plotTop),r.inverted&&o&&a?[a.len-e+h,o.len-i+n]:[i+n,e+h]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,r,o=e.colorCount,a;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(r=t.options.colors||t.chart.options.colors)[t.colorCounter],o=r.length),a=t.colorCounter,t.colorCounter++,t.colorCounter===o&&(t.colorCounter=0)):(i||(s=t.color),a=t.colorIndex),this.colorIndex=y(this.options.colorIndex,a),this.color=y(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,r){let o=r.length-1===s;return t[i]=o?e:m(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=y(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach(function(e){e="{point."+e,(r||o)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+o)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")}),n(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let r;let o=this,a=o.series,n=o.graphic,h=a.chart,l=a.options;function d(){o.applyOptions(t);let s=n&&o.hasMockGraphic,d=null===o.y?!s:s;n&&d&&(o.graphic=n.destroy(),delete o.hasMockGraphic),m(t,!0)&&(n&&n.element&&t&&t.marker&&void 0!==t.marker.symbol&&(o.graphic=n.destroy()),t?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,a.updateParallelArrays(o,r),l.data[r]=m(l.data[r],!0)||m(t,!0)?o.options:y(t,l.data[r]),a.isDirty=a.isDirtyData=!0,!a.fixedBox&&a.hasCartesianSeries&&(h.isDirtyBox=!0),"point"===l.legendType&&(h.isDirtyLegend=!0),e&&h.redraw(i)}e=y(e,!0),!1===s?d():o.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,r=s.chart;t=y(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||r.getSelectedPoints().forEach(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(r.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=x(this.series.options.point,this.options),i=e.events?.[t];g(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(h(this,t,i),this.hasImportedEvents=!0):this.hasImportedEvents&&!i&&this.hcEvents?.[t]&&(v(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||(this.hasImportedEvents=!1))}setState(e,i){let s=this.series,r=this.state,o=s.options.states[e||"normal"]||{},n=a.plotOptions[s.type].marker&&s.options.marker,h=n&&!1===n.enabled,l=n&&n.states&&n.states[e||"normal"]||{},p=!1===l.enabled,u=this.marker||{},g=s.chart,m=n&&s.markerAttribs,x=s.halo,b,v,S,k=s.stateMarkerGraphic,C;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===o.enabled||e&&(p||h&&!1===l.enabled)||e&&u.states&&u.states[e]&&!1===u.states[e].enabled)return;if(this.state=e,m&&(b=s.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(r&&this.graphic.removeClass("highcharts-point-"+r),e&&this.graphic.addClass("highcharts-point-"+e),!g.styledMode){v=s.pointAttribs(this,e),S=y(g.options.chart.animation,o.animation);let t=v.opacity;s.options.inactiveOtherPoints&&f(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},S),e.connector&&e.connector.animate({opacity:t},S))}),this.graphic.animate(v,S)}b&&this.graphic.animate(b,y(g.options.chart.animation,l.animation,n.animation)),k&&k.hide()}else e&&l&&(C=u.symbol||s.symbol,k&&k.currentSymbol!==C&&(k=k.destroy()),b&&(k?k[i?"animate":"attr"]({x:b.x,y:b.y}):C&&(s.stateMarkerGraphic=k=g.renderer.symbol(C,b.x,b.y,b.width,b.height).add(s.markerGroup),k.currentSymbol=C)),!g.styledMode&&k&&"inactive"!==this.state&&k.attr(s.pointAttribs(this,e))),k&&(k[e&&this.isInside?"show":"hide"](),k.element.point=this,k.addClass(this.getClassName(),!0));let M=o.halo,w=this.graphic||k,T=w&&w.visibility||"inherit";M&&M.size&&w&&"hidden"!==T&&!this.isCluster?(x||(s.halo=x=g.renderer.path().add(w.parentGroup)),x.show()[i?"animate":"attr"]({d:this.haloPath(M.size)}),x.attr({class:"highcharts-halo highcharts-color-"+y(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:T,zIndex:-1}),x.point=this,g.styledMode||x.attr(d({fill:this.color||s.color,"fill-opacity":M.opacity},t.filterUserAttributes(M.attributes||{})))):x&&x.point&&x.point.haloPath&&x.animate({d:x.point.haloPath(0)},null,x.hide),c(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Math.floor(e[0])-t,e[1]-t,2*t,2*t):[]}}return k}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{parse:r}=t,{charts:o,composed:a,isTouchDevice:n}=e,{addEvent:h,attr:l,css:d,extend:c,find:p,fireEvent:u,isNumber:g,isObject:f,objectEach:m,offset:x,pick:y,pushUnique:b,splat:v}=i;class S{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!e.chartCount&&(S.unbindDocumentMouseUp&&(S.unbindDocumentMouseUp=S.unbindDocumentMouseUp()),S.unbindDocumentTouchEnd&&(S.unbindDocumentTouchEnd=S.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),m(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,i=>{let s;let{chart:r,zoomHor:o,zoomVert:a}=this,{mouseDownX:n=0,mouseDownY:h=0}=r,l=i.attrs;l.x=r.plotLeft,l.y=r.plotTop,l.width=o?1:r.plotWidth,l.height=a?1:r.plotHeight,o&&(s=t-n,l.width=Math.max(1,Math.abs(s)),l.x=(s>0?0:s)+n),a&&(s=e-h,l.height=Math.max(1,Math.abs(s)),l.y=(s>0?0:s)+h)}),i}drag(t){let{chart:e}=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:a,selectionMarkerFill:n}=e.options.chart,h=e.plotLeft,l=e.plotTop,d=e.plotWidth,c=e.plotHeight,p=f(o)?o.enabled:o,u=a&&t[`${a}Key`],g=t.chartX,m=t.chartY,x,y=this.selectionMarker;if((!y||!y.touch)&&(gh+d&&(g=h+d),ml+c&&(m=l+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-m,2)),this.hasDragged>10)){x=e.isInsidePlot(i-h,s-l,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(g,m);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&x&&!u&&!y&&(this.selectionMarker=y=e.renderer[a](),y.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||y.attr({fill:n||r("#334eff").setOpacity(.25).get()})),y&&y.attr(d),x&&!y&&p&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e;let{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}g(i.index)&&(this.selectionMarker=s.destroy())}i&&g(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){let r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),o=t.searchPoint(i,r);f(o,!0)&&o.series&&(!f(s,!0)||function(t,i){let s=t.distX-i.distX,r=t.dist-i.dist,o=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==r?r:0!==o?o:t.series.index>i.series.index?-1:1}(s,o)>0)&&(s=o)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,r=t.shapeArgs;if(i&&s){let o=t.clientX??t.plotX??0,a=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(o=r.x,a=r.y),e?{chartX:s.len+s.pos-a,chartY:i.len+i.pos-o}:{chartX:o+i.pos,chartY:a+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=x(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,r,o){let a=[],n=function(t){return t.visible&&!(!r&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},h=e,l,d={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:r};u(this,"beforeGetHoverData",d),l=h&&!h.stickyTracking?[h]:i.filter(t=>t.stickyTracking&&(d.filter||n)(t));let c=s&&t||!o?t:this.findNearestKDPoint(l,r,o);return h=c&&c.series,c&&(r&&!h.noSharedTooltip?(l=i.filter(function(t){return d.filter?d.filter(t):n(t)&&!t.noSharedTooltip})).forEach(function(t){let e=p(t.points,function(t){return t.x===c.x&&!t.isNull});f(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))}):a.push(c)),u(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=l(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):y(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let r=s.pageX-e.left,o=s.pageY-e.top;return c(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=o[y(S.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&t.relatedTarget&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){o[y(S.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:r}=e,o=[].map.call(t.touches||[],t=>e.normalize(t)),a=o.length,n=1===a&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),h=i.tooltip,l=1===a&&y(h?.options.followTouchMove,!0);a>1?e.initiated=!0:l&&(e.initiated=!1),s&&e.initiated&&!n&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=o,e.res=!0):l?this.runPointActions(e.normalize(t)):r&&(u(i,"touchpan",{originalEvent:t,touches:o},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(o),from:e(r),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=o}reset(t,e){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,a=i.tooltip,n=a&&a.shared?o:r;t&&n&&v(n).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?a&&n&&v(n).length&&(a.refresh(n),a.shared&&o?o.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),o&&o.forEach(function(t){t.setState()}),s&&s.onMouseOut(),a&&a.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,r=s.series,a=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,n=!!a&&a.shared,l=e||s.hoverPoint,d=l&&l.series||s.hoverSeries,c=(!t||"touchmove"!==t.type)&&(!!e||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(l,d,r,c,n,t);l=u.hoverPoint,d=u.hoverSeries;let g=u.hoverPoints,f=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,m=n&&d&&!d.noSharedTooltip;if(l&&(i||l!==s.hoverPoint||a&&a.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!l.series)return;s.hoverPoints=g,s.hoverPoint=l,l.firePointEvent("mouseOver",void 0,()=>{a&&l&&a.refresh(m?g:l,t)})}else if(f&&a&&!a.isHidden){let e=a.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&a.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=h(s.container.ownerDocument,"mousemove",t=>o[S.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach(function(e){let i;let r=y((e.crosshair||{}).snap,!0);!r||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,t=>t.series&&t.series[e.coll]===e)),i||!r?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(h(t,"mouseenter",this.onContainerMouseEnter.bind(this)),h(t,"mouseleave",this.onContainerMouseLeave.bind(this))),S.unbindDocumentMouseUp||(S.unbindDocumentMouseUp=h(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(h(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(h(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),h(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),S.unbindDocumentTouchEnd||(S.unbindDocumentTouchEnd=h(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),h(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!n)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=y(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(h(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),h(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||d(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||d(i,{"touch-action":y(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let i=this.chart,s=e.charts[y(S.hoverChartIndex,-1)];s&&s!==i&&s.pointer?.onContainerMouseLeave(t||{relatedTarget:i.container}),s&&s.mouseIsDown||(S.hoverChartIndex=i.index)}touch(t,e){let i;let{chart:s,pinchDown:r=[]}=this;this.setHoverChartIndex(),1===t.touches.length?(t=this.normalize(t),s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!r[0]&&Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)>=16),y(i,!0)&&this.pinch(t)):e&&this.reset()):2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",r,o;/touch/.test(t.type)&&(s=y(e.zooming.pinchType,s)),this.zoomX=r=/x/.test(s),this.zoomY=o=/y/.test(s),this.zoomHor=r&&!i||o&&i,this.zoomVert=o&&!i||r&&i,this.hasZoom=r||o}}return(s=S||(S={})).compose=function(t){b(a,"Core.Pointer")&&h(t,"beforeRender",function(){this.pointer=new s(this,this.options)})},S}),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o){var a;let{animObject:n,setAnimation:h}=t,{format:l}=e,{composed:d,marginNames:c}=i,{distribute:p}=r,{addEvent:u,createElement:g,css:f,defined:m,discardElement:x,find:y,fireEvent:b,isNumber:v,merge:S,pick:k,pushUnique:C,relativeLength:M,stableSort:w,syncTimeout:T}=o;class A{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),u(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),u(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=k(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=k(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,k(e,!0)&&i.redraw(),b(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:r,line:o,symbol:a}=t.legendItem||{};if(s?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,n=s.color,{fillColor:h,fillOpacity:l,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=n),t.stroke&&(t.stroke=n)),t);r?.css(S(e?this.itemStyle:s)),o?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:h||t.color,"fill-opacity":h?1:l??.75}))}b(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},r=this.options,o=r.symbolPadding,a=!r.rtl,n=t.checkbox;if(e&&e.element){let r={translateX:a?i:this.legendWidth-i-2*o-4,translateY:s};e[m(e.translateY)?"animate":"attr"](r,void 0,()=>{b(this,"afterPositionItem",{item:t})})}n&&(n.x=i,n.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&x(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t;let e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(r){let o;let a=r.checkbox;a&&(o=t+s+a.y+(this.scrollOffset||0)+3,f(a,{left:e.translateX+r.checkboxOffset+a.x-20+"px",top:o+"px",display:this.proximate||o>t-6&&o1.5*C?v.height:C))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,a=this.itemMarginTop,n=s?k(e.itemDistance,20):0,h=this.maxLegendWidth,l=e.alignColumns&&this.totalItemWidth>h?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+l>h&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=a+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=a+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=l:(this.itemY+=a+r+o,this.lastLineHeight=r),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:n):l)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&k(i.showInLegend,!m(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))}),b(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(o,a){o.test(r)&&!m(t[a])&&(i[c[a]]=Math.max(i[c[a]],i.legend[(a+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][a]*s[a%2?"x":"y"]+k(s.margin,12)+e[a]+(i.titleOffset[a]||0)))})}proximatePositions(){let t;let e=this.chart,i=[],s="left"===this.options.align;for(let r of(this.allItems.forEach(function(t){let r,o,a=s,n,h;t.yAxis&&(t.xAxis.options.reversed&&(a=!a),t.points&&(r=y(a?t.points:t.points.slice(0).reverse(),function(t){return v(t.plotY)})),o=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,h=t.yAxis.top-e.plotTop,n=t.visible?(r?r.plotY:t.yAxis.height)+(h-.3*o):h+t.yAxis.height,i.push({target:n,size:o,item:t}))},this),p(i,e.plotHeight)))t=r.item.legendItem||{},v(r.pos)&&(t.y=e.plotTop-e.spacing[0]+r.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,r=this.getAllItems(),o,a,n,h=this.group,l,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=M(i.width,t.spacingBox.width-s),l=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(l/=2),this.maxLegendWidth=this.widthOption||l,h||(this.group=h=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(h),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),w(r,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&r.reverse(),this.allItems=r,this.display=o=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(this.widthOption||this.offsetWidth)+s,n=this.lastItemY+this.lastLineHeight+this.titleHeight,n=this.handleOverflow(n)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(h)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),a>0&&n>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:a,height:n},d.strokeWidth())),h[o?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=n=0),this.legendWidth=a,this.legendHeight=n,o&&this.align(),this.proximate||this.positionItems(),b(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,r=this.options,o=r.y,a="top"===r.verticalAlign,n=this.padding,h=r.maxHeight,l=r.navigation,d=k(l.animation,!0),c=l.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?S.attr({height:t}):S&&(e.clipRect=S.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+n+"px,9999px,"+(n+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(a?-o:o)-n,v=this.nav,S=this.clipRect;return"horizontal"!==r.layout||"middle"===r.verticalAlign||r.floating||(b/=2),h&&(b=Math.min(b,h)),p.length=0,t&&b>0&&t>b&&!1!==l.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-n,0),this.currentPage=k(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),r=p.length;(!r||i-p[r-1]>m&&(x||i)!==p[r-1])&&(p.push(x||i),r++),y.pageIx=r-1,x&&((u[e-1].legendItem||{}).pageIx=r-1),e===u.length-1&&i+s-p[r-1]>m&&i>p[r-1]&&(p.push(i),y.pageIx=r),i!==x&&(x=i)}),S||(S=e.clipRect=s.clipRect(0,n-2,9999,0),e.contentGroup.clip(S)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&l.style&&this.pager.css(l.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,a=this.options.navigation,l=this.pager,d=this.padding,c=this.currentPage+t;c>r&&(c=r),c>0&&(void 0!==e&&h(e,i),this.nav.attr({translateX:d,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),l.attr({text:c+"/"+r}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:c===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===c?a.inactiveColor:a.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===r?a.inactiveColor:a.activeColor}),this.downTracker.css({cursor:c===r?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),T(()=>{b(this,"afterScroll",{currentPage:c})},n(k(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let r=this,o=t.legendItem||{},a=r.chart.renderer.boxWrapper,n=t instanceof s,h="highcharts-legend-"+(n?"point":"series")+"-active",l=r.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{r.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&a.addClass(h),l||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(S(t.visible?r.itemStyle:r.itemHiddenStyle)),c(""),a.removeClass(h),t.setState()}).on("click",function(e){let i="legendItemClick",s=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};a.removeClass(h),e={browserEvent:e},t.firePointEvent?t.firePointEvent(i,e,s):b(t,i,e,s)})}createCheckboxForItem(t){t.checkbox=g("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),u(t.checkbox,"click",function(e){let i=e.target;b(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}return(a=A||(A={})).compose=function(t){C(d,"Core.Legend")&&u(t,"beforeMargins",function(){this.legend=new a(this,this.options.legend)})},A}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:r}=t;return function(t){function e(t,e,o){let a=this.legendItem=this.legendItem||{},{chart:n,options:h}=this,{baseline:l=0,symbolWidth:d,symbolHeight:c}=t,p=this.symbol||"circle",u=c/2,g=n.renderer,f=a.group,m=l-Math.round(c*(o?.4:.3)),x={},y,b=h.marker,v=0;if(n.styledMode||(x["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?x.dashstyle=h.dashStyle:"square"===h.linecap||(x["stroke-linecap"]="round")),a.line=g.path().addClass("highcharts-graph").attr(x).add(f),o&&(a.area=g.path().addClass("highcharts-area").add(f)),x["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,m],["L",d-v,m]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,l],["L",v,l]]})}if(b&&!1!==b.enabled&&d){let t=Math.min(r(b.radius,u),u);0===p.indexOf("url")&&(b=s(b,{width:c,height:c}),t=0),a.symbol=y=g.symbol(p,d/2-t,m-t,2*t,2*t,i({context:"legend"},b)).addClass("highcharts-point").add(f),y.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{},s=t.options,o=t.symbolHeight,a=s.squareSymbol,n=a?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(a?(t.symbolWidth-o)/2:0,t.baseline-o+1,n,o,r(t.options.symbolRadius,o/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e}),i(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i,s){var r;let{defaultOptions:o}=e,{extend:a,extendClass:n,merge:h}=s;return function(e){function s(t,s){let r=o.plotOptions||{},a=s.defaultOptions,n=s.prototype;return n.type=t,n.pointClass||(n.pointClass=i),!e.seriesTypes[t]&&(a&&(r[t]=a),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,r,l,d,c){let p=o.plotOptions||{};if(r=r||"",p[t]=h(p[r],l),delete e.seriesTypes[t],s(t,n(e.seriesTypes[r]||function(){},d)),e.seriesTypes[t].prototype.type=t,c){class s extends i{}a(s.prototype,c),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(r||(r={})),r}),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h,l){let{animObject:d,setAnimation:c}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:f}=s,{seriesTypes:m}=n,{arrayMax:x,arrayMin:y,clamp:b,correctFloat:v,defined:S,destroyObjectProperties:k,diffObjects:C,erase:M,error:w,extend:T,find:A,fireEvent:P,getClosestDistance:L,getNestedProperty:O,insertItem:D,isArray:E,isNumber:I,isString:j,merge:B,objectEach:R,pick:z,removeEvent:N,splat:W,syncTimeout:G}=l;class H{constructor(){this.zoneAxis="y"}init(t,e){let i;P(this,"init",{options:e});let s=this,r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let o=s.options,a=!1!==o.visible;s.linkedSeries=[],s.bindAxes(),T(s,{name:o.name,state:"",visible:a,selected:!0===o.selected}),u(this,o);let n=o.events;(n&&n.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=z(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",D(this,r)),o.dataSorting&&o.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(o.data,!1),P(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t;let e=this,i=e.options,s=e.chart;P(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(r){(s[r]||[]).forEach(function(s){t=s.options,(z(i[r],0)===s.index||void 0!==i[r]&&i[r]===t.id)&&(D(e,s.series),e[r]=s,s.isDirty=!0)}),e[r]||e.optionalAxis===r||w(18,!0,s)})}),P(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,r=I(e)?function(i){let r="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=r}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(r)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,r=this.chart.time,o=this.xIncrement,a,n;return(o=z(o,e.pointStart,0),this.pointInterval=n=z(this.pointInterval,e.pointInterval,1),s&&I(t)&&(n*=t),i&&(a=new r.Date(o),"day"===i?r.set("Date",a,r.get("Date",a)+n):"month"===i?r.set("Month",a,r.get("Month",a)+n):"year"===i&&r.set("FullYear",a,r.get("FullYear",a)+n),n=a.getTime()-o),s&&I(t))?o+n:(this.xIncrement=o+n,o)}setDataSortingOptions(){let t=this.options;T(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),S(t.pointRange)||(t.pointRange=1)}setOptions(t){let e;let i=this.chart,s=i.options.plotOptions,r=i.userOptions||{},o=B(t),a=i.styledMode,n={plotOptions:s,userOptions:o};P(this,"setOptions",n);let h=n.plotOptions[this.type],l=r.plotOptions||{},d=l.series||{},c=p.plotOptions[this.type]||{},u=l[this.type]||{};this.userOptions=n.userOptions;let g=B(h,s.series,u,o);this.tooltipOptions=B(p.tooltip,p.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,l.series?.tooltip,u.tooltip,o.tooltip),this.stickyTracking=z(o.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===h.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let f=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},a||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),f.push(e)),f.length&&S(f[f.length-1].value)&&f.push(a?{}:{color:this.color,fillColor:this.fillColor}),P(this,"afterSetOptions",{options:g}),g}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r;let o=this.chart,a=`${t}Index`,n=`${t}Counter`,h=i?.length||o.options.chart.colorCount;!e&&(S(r=z("color"===t?this.options.colorIndex:void 0,this[a]))?s=r:(o.series.length||(o[n]=0),s=o[n]%h,o[n]+=1),i&&(e=i[s])),void 0!==s&&(this[a]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,r;let a=t.id,n=t.x,h=this.points,l=this.options.dataSorting;if(a){let t=this.chart.get(a);t instanceof o&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l&&l.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=A(h,e)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),void 0===r&&I(n)&&(r=this.xData.indexOf(n,e)),-1!==r&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),!s&&I(r)&&h[r]&&h[r].touched&&(r=void 0),r}updateData(t,e){let i=this.options,s=i.dataSorting,r=this.points,o=[],a=this.requireSorting,n=t.length===r.length,h,l,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let l;let d=S(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||I(p)?(-1===(l=this.findPointIndex(d,c))||void 0===l?o.push(t):r[l]&&t!==i.data[l]?(r[l].update(t,!1,null,!1),r[l].touched=!0,a&&(c=l+1)):r[l]&&(r[l].touched=!0),(!n||e!==l||s&&s.enabled||this.hasDerivedData)&&(h=!0)):o.push(t)},this),h)for(l=r.length;l--;)(d=r[l])&&!d.touched&&d.remove&&d.remove(!1,e);else!n||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===r[e].y||r[e].destroyed||r[e].update(t,!1,null,!1)}),o.length=0);return r.forEach(function(t){t&&(t.touched=!1)}),!!p&&(o.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=x(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let r=this,o=r.points,a=o&&o.length||0,n=r.options,h=r.chart,l=n.dataSorting,d=r.xAxis,c=n.turboThreshold,p=this.xData,u=this.yData,g=r.pointArrayMap,f=g&&g.length,m=n.keys,x,y,b,v=0,S=1,k=null,C;h.options.chart.allowMutatingData||(n.data&&delete r.options.data,r.userOptions.data&&delete r.userOptions.data,C=B(!0,t));let M=(t=C||t||[]).length;if(l&&l.enabled&&(t=this.sortData(t)),h.options.chart.allowMutatingData&&!1!==s&&M&&a&&!r.cropped&&!r.hasGroupedData&&r.visible&&!r.boosted&&(b=this.updateData(t,i)),!b){if(r.xIncrement=null,r.colorCounter=0,this.parallelArrays.forEach(function(t){r[t+"Data"].length=0}),c&&M>c){if(I(k=r.getFirstValidPoint(t)))for(x=0;x=0?v:0,S=S>=0?S:1),1===k.length&&(S=0),v===S)for(x=0;x{let s=O(i,t),r=O(i,e);return rs?1:0}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach(function(i,o){r[o]=s(e,i),t[o]&&(r[o].x=t[o].x,r[o].index=o)}),e.setData(r,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options,r=s.cropThreshold,o=t||e.getExtremesFromAll||s.getExtremesFromAll,a=i?.logarithmic,n=e.isCartesian,h,l,d=0,c,p,u,g=e.xData,f=e.yData,m=!1,x=g.length;i&&(p=(c=i.getExtremes()).min,u=c.max,m=!!(i.categories&&!i.names.length)),n&&e.sorted&&!o&&(!r||x>r||e.forceCrop)&&(g[x-1]u?(g=[],f=[]):e.yData&&(g[0]u)&&(g=(h=this.cropData(e.xData,e.yData,p,u)).xData,f=h.yData,d=h.start,l=!0));let y=L([a?g.map(a.log2lin):g],()=>e.requireSorting&&!m&&w(15,!1,e.chart));return{xData:g,yData:f,cropped:l,cropStart:d,closestPointRange:y}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,P(this,"afterProcessData")}cropData(t,e,i,s){let r=t.length,o,a,n=0,h=r;for(o=0;o=i){n=Math.max(0,o-1);break}for(a=o;as){h=a+1;break}return{xData:t.slice(n,h),yData:e.slice(n,h),start:n,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,r=this.pointClass,o=i.length,a=this.cropStart||0,n=this.hasGroupedData,h=t.keys,l=[],d=t.dataGrouping&&t.dataGrouping.groupAll?a:0,c,p,u,g,f=this.data;if(!f&&!n){let t=[];t.length=e.length,f=this.data=t}for(h&&n&&(this.options.keys=!1),g=0;g0:p.length)||!n),d=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(r[u+a]||c)>=f&&(r[u-a]||c)<=m,l&&d){if(g=p.length)for(;g--;)I(p[g])&&(o[b++]=p[g]);else o[b++]=p}let S={activeYData:o,dataMin:y(o),dataMax:x(o)};return P(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t){let e=t.length,i=0,s=null;for(;null===s&&i1)&&(o.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&h?.element&&h.attr(r?"height":"width",t+99)}),n.addClass("highcharts-animating").animate(t,o)}}afterAnimate(){this.setClip(),R(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,P(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,a,n;let h=this.chart,l=h.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=z(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=h.renderer.symbol(t,n.x,n.y,n.width,n.height,a?o:p).add(u),this.enabledDataSorting&&h.hasRendered&&(s.attr({x:i.startXPos}),r="animate")),s&&"animate"===r&&s[e?"show":"hide"](e).animate(n),s){let t=this.pointAttribs(i,l||!i.selected?void 0:"select");l?d&&s.css({fill:t.fill}):s[r](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,r=t.marker||{},o=r.symbol||s.symbol,a={},n,h,l=z(r.radius,s&&s.radius);e&&(n=s.states[e],l=z((h=r.states&&r.states[e])&&h.radius,n&&n.radius,l&&l+(n&&n.radiusPlus||0))),t.hasImage=o&&0===o.indexOf("url"),t.hasImage&&(l=0);let d=t.pos();return I(l)&&d&&(a.x=d[0]-l,a.y=d[1]-l,i.crisp&&(a.x=Math.floor(a.x))),l&&(a.width=a.height=2*l),a}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,r=s&&s.marker||{},o=s&&s.color,a=t&&t.color,n=t&&t.zone&&t.zone.color,h,l,d=this.color,c,p,u=z(r.lineWidth,i.lineWidth),g=1;return d=o||n||a||d,c=r.fillColor||i.fillColor||d,p=r.lineColor||i.lineColor||d,e=e||"normal",h=i.states[e]||{},u=z((l=r.states&&r.states[e]||{}).lineWidth,h.lineWidth,u+z(l.lineWidthPlus,h.lineWidthPlus,0)),c=l.fillColor||h.fillColor||c,{stroke:p=l.lineColor||h.lineColor||p,"stroke-width":u,fill:c,opacity:g=z(l.opacity,h.opacity,g)}}destroy(t){let e,i,s;let r=this,o=r.chart,a=/AppleWebKit\/533/.test(f.navigator.userAgent),n=r.data||[];for(P(r,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(r.axisTypes||[]).forEach(function(t){(s=r[t])&&s.series&&(M(s.series,r),s.isDirty=s.forceRedraw=!0)}),r.legendItem&&r.chart.legend.destroyItem(r),e=n.length;e--;)(i=n[e])&&i.destroy&&i.destroy();for(let t of r.zones)k(t,void 0,!0);l.clearTimeout(r.animationTimeout),R(r,function(t,e){t instanceof h&&!t.survive&&t[a&&"group"===e?"hide":"destroy"]()}),o.hoverSeries===r&&(o.hoverSeries=void 0),M(o.series,r),o.orderItems("series"),R(r,function(e,i){t&&"hcEvents"===i||delete r[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:r,xAxis:o,yAxis:a,zoneAxis:n}=this,{inverted:h,renderer:l}=e,d=this[`${n}Axis`],{isXAxis:c,len:p=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{h&&(i=p-i);let{translated:s=0,lineClip:r}=t,o=i-s;r?.push(["L",e,Math.abs(o){t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=b(d.toPixels(z(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===n&&r.length{let s=e.lineClip||[],r=Math.round(e.translated||0);o.reversed&&s.reverse();let{clip:n,simpleClip:d}=e,p=0,g=0,x=o.len,y=a.len;c?(p=r,x=m):(g=r,y=m);let b=[["M",p,g],["L",x,g],["L",x,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),m=r,h&&(u(v),t&&u(b)),n?(n.animate({d:v}),d?.animate({d:b})):(n=e.clip=l.path(v),t&&(d=e.simpleClip=l.path(b))),i&&e.graph?.clip(n),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,r){let o=this[t],a=!o,n={visibility:i,zIndex:s||.1};return S(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(n.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(S(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(n)[a?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||N(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=d(i.animation),o=t.visible?"inherit":"hidden",a=i.zIndex,n=e.seriesGroup,h=t.finishedAnimating?0:r.duration;P(this,"render"),t.plotGroup("group","series",o,a,n),t.markerGroup=t.plotGroup("markerGroup","markers",o,a,n),!1!==i.clip&&t.setClip(),h&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),h&&t.animate?.(),s||(h&&r.defer&&(h+=r.defer),t.animationTimeout=G(()=>{t.afterAnimate()},h||0)),t.isDirty=!1,t.hasRendered=!0,P(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,G(function(){e.kdTree=function t(i,s,r){let o,a;let n=i?.length;if(n)return o=e.kdAxisArray[s%r],i.sort((t,e)=>(t[o]||0)-(e[o]||0)),{point:i[a=Math.floor(n/2)],left:t(i.slice(0,a),s+1,r),right:t(i.slice(a+1),s+1,r)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[r,o]=this.kdAxisArray,a=e?"distX":"dist",n=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,h=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,n,l){let d=i.point,c=s.kdAxisArray[n%l],p,u,g=d;!function(t,e){let i=t[r],s=e[r],a=S(i)&&S(s)?i-s:null,n=t[o],l=e[o],d=S(n)&&S(l)?n-l:0,c=h&&e.marker?.radius||0;e.dist=Math.sqrt((a&&a*a||0)+d*d)-c,e.distX=S(a)?Math.abs(a)-c:Number.MAX_VALUE}(e,d);let f=(e[c]||0)-(d[c]||0)+(h&&d.marker?.radius||0),m=f<0?"left":"right",x=f<0?"right":"left";return i[m]&&(g=(p=t(e,i[m],n+1,l))[a]=0&&o<=(s?s.len:e.plotHeight)&&r>=0&&r<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),r=t.chart,o=r.pointer,a=r.renderer,n=r.options.tooltip?.snap||0,h=()=>{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},l="rgba(192,192,192,"+(g?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=a.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:l,fill:i?l:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*n)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",h).on("mouseout",t=>{o?.onTrackerMouseOut(t)}),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",h))})),P(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,a;let n=this.options,h=this.data,l=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=n.data,u=this.xData;e=z(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let f=g.x;if(a=u.length,this.requireSorting&&ff;)a--;this.updateParallelArrays(g,"splice",[a,0,0]),this.updateParallelArrays(g,a),c&&g.name&&(c[f]=g.name),p.splice(a,0,t),(o||this.processedData)&&(this.data.splice(a,0,null),this.processData()),"point"===n.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==r&&P(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,r=s.data,o=r[t],a=s.points,n=s.chart,h=function(){a&&a.length===r.length&&a.splice(t,1),r.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(o||{series:s},"splice",[t,1]),o&&o.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&n.redraw()};c(i,n),e=z(e,!0),o?o.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let r=this,o=r.chart;function a(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),z(t,!0)&&o.redraw(e)}!1!==i?P(r,"remove",null,a):a()}update(t,e){P(this,"update",{options:t=C(t,this.userOptions)});let i=this,s=i.chart,r=i.userOptions,o=i.initialType||i.type,a=s.options.plotOptions,n=m[o].prototype,h=i.finishedAnimating&&{animation:!1},l={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||r.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||o,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&T(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=B(r,{index:void 0===r.index?i.index:r.index,pointStart:a?.series?.pointStart??r.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,h),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(m[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f){if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,m[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in n)i[c]=void 0;T(i,m[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}}else w(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(l.graphic=1,l.dataLabel=1):(this.hasMarkerChanged(d,r)&&(l.graphic=1),i.hasDataLabels?.()||(l.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(l).length&&t.destroyElements(l),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=o,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),P(this,"afterUpdate"),z(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,r=this.userOptions[t],o=z(s?.[this.type]?.[t],s?.series?.[t]);return r&&!S(o)?i!==r:i!==z(o,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&P(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&P(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,r=i.graph,o=s.inactiveOtherPoints,a=s.states,n=z(a[t||"normal"]&&a[t||"normal"].animation,i.chart.options.chart.animation),h=s.lineWidth,l=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(a[t]&&!1===a[t].enabled)return;if(t&&(h=a[t].lineWidth||h+(a[t].lineWidthPlus||0),l=z(a[t].opacity,l)),r&&!r.dashstyle&&I(h))for(let t of[r,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":h},n);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:l},n)})}e&&o&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,r=s.options.chart.ignoreHiddenSeries,o=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!o:t;let a=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[a]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),r&&(s.isDirtyBox=!0),P(i,a),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),P(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return H.defaultOptions=a,H.types=n.seriesTypes,H.registerType=n.registerSeriesType,T(H.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:o,requireSorting:!0,sorted:!0}),n.series=H,H}),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u){let{animate:g,animObject:f,setAnimation:m}=t,{defaultOptions:x,defaultTime:y}=i,{numberFormat:b}=s,{registerEventOptions:v}=r,{charts:S,doc:k,marginNames:C,svg:M,win:w}=o,{seriesTypes:T}=h,{addEvent:A,attr:P,createElement:L,css:O,defined:D,diffObjects:E,discardElement:I,erase:j,error:B,extend:R,find:z,fireEvent:N,getStyle:W,isArray:G,isNumber:H,isObject:X,isString:F,merge:Y,objectEach:U,pick:V,pInt:$,relativeLength:Z,removeEvent:_,splat:q,syncTimeout:K,uniqueKey:J}=c;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(F(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:V(t.zoomType,e.type),key:V(t.zoomKey,e.key),pinchType:V(t.pinchType,e.pinchType),singleTouch:V(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Y(e.resetButton,t.resetZoomButton)}}init(t,e){N(this,"init",{args:arguments},function(){let i=Y(x,t),s=i.chart;this.userOptions=R({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new d(t.time):o.time,this.numberFormatter=s.numberFormatter||b,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=S.length,S.push(this),o.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),N(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=T[i];s||B(17,!0,this,{missingModuleFor:i});let r=new s;return"function"==typeof r.init&&r.init(this,t),r}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=q(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?q(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),r.splice(e)),i)for(let t=e,o=i.length;t=Math.max(h+o,t.pos)&&e<=Math.min(h+o+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:a,len:1/0},e=i.paneCoordinates?t.pos+u:a+u;e>=Math.max(l+a,t.pos)&&e<=Math.min(l+a+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return N(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){N(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,r=this.legend,o=this.userOptions.legend,a=this.renderer,n=a.isHidden(),h=[],l,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(a.rootFontSize=a.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),n&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){l=!0;break}if(l)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):o&&(o.labelFormatter||o.labelFormat)&&(u=!0)),t.isDirtyData&&N(t,"updatedData")}),u&&r&&r.options.enabled&&(r.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,h.push(function(){N(t,"afterSetExtremes",R(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),N(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),a.draw(),N(this,"redraw"),N(this,"render"),n&&this.temporaryDisplay(!0),h.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=z(this.axes,i)||z(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach(e=>{V(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=Y(this.options[t],e),r=this[t];r&&e&&(this[t]=r=r.destroy()),s&&!r&&((r=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||r.css(R("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=r)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let r=this[t],o=this.options[t],a=o.verticalAlign||"top",n="title"===t?"top"===a?-3:0:"top"===a?e[0]+2:0;if(r){r.css({width:(o.width||s.width+(o.widthAdjust||0))+"px"});let t=i.fontMetrics(r).b,h=Math.round(r.getBBox(o.useHTML).height);r.align(R({y:"bottom"===a?t:n+t,height:h},o),!1,"spacingBox"),o.floating||("top"===a?e[0]=Math.ceil(e[0]+h):"bottom"===a&&(e[2]=Math.ceil(e[2]+h)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,N(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:W(this.renderTo,"width",!0)||0,height:W(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,Z(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(O(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(k.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(k.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,k.body.appendChild(e)),("none"===W(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),O(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==k.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t=this.options,e=t.chart,i="data-highcharts-chart",s=J(),r,o=this.renderTo;o||(this.renderTo=o=e.renderTo),F(o)&&(this.renderTo=o=k.getElementById(o)),o||B(13,!0,this);let n=$(P(o,i));H(n)&&S[n]&&S[n].hasRendered&&S[n].destroy(),P(o,i,this.index),o.innerHTML=p.emptyHTML,e.skipClone||o.offsetWidth||this.temporaryDisplay(),this.getChartSize();let h=this.chartHeight,d=this.chartWidth;O(o,{overflow:"hidden"}),this.styledMode||(r=R({position:"relative",overflow:"hidden",width:d+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},e.style||{}));let c=L("div",{id:s},r,o);this.container=c,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||O(c,{width:V(e.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let u=e.renderer||!M?a.getRendererType(e.renderer):l;if(this.renderer=new u(c,d,h,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(e.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,N(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!D(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!D(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),N(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,r=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),C.forEach(function(i,r){D(s[r])||(t[i]+=e[r])}),t.setChartSize()}getOptions(){return E(this.userOptions,x)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(c.clearTimeout(e.reflowTimeout),e.reflowTimeout=K(function(){e.container&&e.setSize(void 0,void 0,!1)},t?100:0)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=A(w,"resize",e);A(this,"destroy",t)}}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,m(i,s);let o=r.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:a,chartHeight:n,scrollablePixelsX:h=0,scrollablePixelsY:l=0}=s;(s.isDirtyBox||a!==s.oldChartWidth||n!==s.oldChartHeight)&&(s.styledMode||(o?g:O)(s.container,{width:`${a+h}px`,height:`${n+l}px`},o),s.setChartSize(!0),r.setSize(a,n,o),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(o),s.oldChartHeight=void 0,N(s,"resize"),setTimeout(()=>{s&&N(s,"endResize")},f(o).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,r;let o=this.inverted,a=this.renderer,n=this.chartWidth,h=this.chartHeight,l=this.options.chart,d=this.spacing,c=this.clipOffset;this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-this.marginRight)),this.plotHeight=r=Math.max(0,Math.round(h-i-this.marginBottom)),this.plotSizeX=o?r:s,this.plotSizeY=o?s:r,this.plotBorderWidth=l.plotBorderWidth||0,this.spacingBox=a.spacingBox={x:d[3],y:d[0],width:n-d[3]-d[1],height:h-d[0]-d[2]},this.plotBox=a.plotBox={x:e,y:i,width:s,height:r};let p=2*Math.floor(this.plotBorderWidth/2),u=Math.ceil(Math.max(p,c[3])/2),g=Math.ceil(Math.max(p,c[0])/2);this.clipBox={x:u,y:g,width:Math.floor(this.plotSizeX-Math.max(p,c[1])/2-u),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(p,c[2])/2-g))},t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),a.alignElements()),N(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){N(this,"resetMargins");let t=this,e=t.options.chart;["margin","spacing"].forEach(function(i){let s=e[i],r=X(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,o){t[i][o]=V(e[i+s],r[o])})}),C.forEach(function(e,i){t[e]=V(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[0,0,0,0]}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,r=this.styledMode,o=this.plotBGImage,a=t.backgroundColor,n=t.plotBackgroundColor,h=t.plotBackgroundImage,l=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,S,k="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),k="attr"),r?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+(t.shadow?8:0),S={fill:a||"none"},(b||m["stroke-width"])&&(S.stroke=t.borderColor,S["stroke-width"]=b),m.attr(S).shadow(t.shadow)),m[k]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),k="animate",x||(k="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[k](u),!r&&(x.attr({fill:n||"none"}).shadow(t.plotShadow),h&&(o?(h!==o.attr("href")&&o.attr("href",h),o.animate(u)):this.plotBGImage=e.image(h,l,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),k="animate",y||(k="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),r||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[k](y.crisp({x:l,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,N(this,"afterDrawChartBox")}propFromSeries(){let t,e,i;let s=this,r=s.options.chart,o=s.options.series;["inverted","angular","polar"].forEach(function(a){for(e=T[r.type],i=r[a]||e&&e.prototype[a],t=o&&o.length;!i&&t--;)(e=T[o[t].type])&&e.prototype[a]&&(i=!0);s[a]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(F(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=V(t.options.visible,s.options.visible,t.visible))}}),N(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach(t=>{t.visible&&t.render()})},o=0,a=!0,n,h=0;for(let e of(this.setTitle(),N(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){o=t.tickLength,e.createGroups();let s=new u(e,0,"",!0),r=s.createLabel("x",i);if(s.destroy(),r&&V(i.reserveSpace,!H(t.crossing))&&(o=r.getBBox().height+i.distance+Math.max(t.offset||0,0)),o){r?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-o,0);(a||n||s>1)&&h(h?1:1.1),n=i/this.plotHeight>(h?1:1.05),h++}this.drawChartBox(),this.hasCartesianSeries?r(t):e&&e.length&&r(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=Y(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(w.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t;let e=this,i=e.axes,s=e.series,r=e.container,a=r&&r.parentNode;for(N(e,"destroy"),e.renderer.forExport?j(S,e):S[e.index]=void 0,o.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),_(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),r&&(r.innerHTML=p.emptyHTML,_(r),a&&I(r)),U(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let i=G(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),N(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),N(this,"load"),N(this,"render"),D(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[r]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),a=i.options.chart;a?.panning&&(a.panning=s),N(this,"pan",{originalEvent:t},()=>{i.transform({axes:o,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),O(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:r,selection:o,to:a={},trigger:n}=t,{inverted:h}=this,l=!1,d;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:c,minPointOffset:p=0,options:u,reversed:g}=t,f=e?"width":"height",m=e?"x":"y",x=a[f]||t.len,y=s[f]||t.len,b=10>Math.abs(x)?1:x/y,v=(s[m]||0)+y/2-t.pos,S=v-((a[m]??t.pos)+x/2-t.pos)/b,k=g&&!h||!g&&h?-1:1;if(!r&&(v<0||v>t.len))continue;let C=t.toValue(S,!0)+(o?0:p*k),M=t.toValue(S+c/b,!0)-(o?0:p*k||0),w=t.allExtremes;if(C>M&&([C,M]=[M,C]),1===b&&!r&&"yAxis"===t.coll&&!w){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);w??(w={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),H(t.dataMin)&&H(t.dataMax)&&(w.dataMin=Math.min(t.dataMin,w.dataMin),w.dataMax=Math.max(t.dataMax,w.dataMax))}t.allExtremes=w}let{dataMin:T,dataMax:A,min:P,max:L}=R(t.getExtremes(),w||{}),O=T??u.min,E=A??u.max,I=M-C,j=t.categories?0:Math.min(I,E-O),B=O-j*(D(u.min)?0:u.minPadding),z=E+j*(D(u.max)?0:u.maxPadding),N=t.allowZoomOutside||1===b||"zoom"!==n&&b>1,W=Math.min(u.min??B,B,N?P:B),G=Math.max(u.max??z,z,N?L:z);(!t.isOrdinal||1!==b||r)&&(C=1&&(M=C+I)),M>G&&(M=G,b>=1&&(C=M-I)),(r||t.series.length&&(C!==P||M!==L)&&C>=W&&M<=G)&&(o?o[t.coll].push({axis:t,min:C,max:M}):(t.isPanning="zoom"!==n,t.setExtremes(r?void 0:C,r?void 0:M,!1,!1,{move:S,trigger:n,scale:b}),!r&&(C>W||M{delete t.selection,t.trigger="zoom",this.transform(t)}):(d&&!this.resetZoomButton?this.showResetZoom():!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()),this.redraw("zoom"===n&&(this.options.chart.animation??this.pointCount<100)))),l}}return R(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroundColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{stop:r}=t,{composed:o}=e,{addEvent:a,createElement:n,css:h,defined:l,merge:d,pushUnique:c}=s;function p(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new g(this)),t?.applyFixed()}function u(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class g{static compose(t,e,i){c(o,this.compose)&&(a(t,"afterInit",u),a(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),a(e,"render",p),a(i,"show",u))}static afterSetSize(t,e){let i,s,r;let{minWidth:o,minHeight:a}=t.options.chart.scrollablePlotArea||{},{clipBox:n,plotBox:h,inverted:c,renderer:p}=t;if(!p.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=d(t.plotBox),h.width=t.plotWidth+=i,n[c?"height":"width"]+=i,r=!0)):a&&(t.scrollablePixelsY=s=Math.max(0,a-t.chartHeight),l(s)&&(t.scrollablePlotBox=d(t.plotBox),h.height=t.plotHeight+=s,n[c?"width":"height"]+=s,r=!1)),l(r)&&!e.skipAxes))for(let e of t.axes)e.horiz===r&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e;let s=t.options.chart,r=i.getRendererType(),o=s.scrollablePlotArea||{},l=this.moveFixedElements.bind(this),d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(d.overflowX="auto"),t.scrollablePixelsY&&(d.overflowY="auto"),this.chart=t;let c=this.parentDiv=n("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=n("div",{className:"highcharts-scrolling"},d,c),u=this.innerContainer=n("div",{className:"highcharts-inner-container"},void 0,p),g=this.fixedDiv=n("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),f=this.fixedRenderer=new r(g,t.chartWidth,t.chartHeight,s.style);this.mask=f.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(g,p),h(t.renderTo,{overflow:"visible"}),a(t,"afterShowResetZoom",l),a(t,"afterApplyDrilldown",l),a(t,"afterLayOutTitles",l),a(p,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:a,chartHeight:n,container:d,plotHeight:c,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:f=0,scrollablePixelsY:m=0}=t,{scrollPositionX:x=0,scrollPositionY:y=0}=t.options.chart.scrollablePlotArea||{},b=a+f,v=n+m;e.setSize(a,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),r(t.container),h(d,{width:`${b}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:b,height:v,viewBox:[0,0,b,v].join(" ")}),t.chartBackground?.attr({width:b,height:v}),h(s,{width:`${a}px`,height:`${n}px`}),l(i)||(s.scrollLeft=f*x,s.scrollTop=m*y);let S=u-o[0]-1,k=p-o[3]-1,C=u+c+o[2]+1,M=p+g+o[1]+1,w=p+g-f,T=u+c-m,A=[["M",0,0]];f?A=[["M",0,S],["L",p-1,S],["L",p-1,C],["L",0,C],["Z"],["M",w,S],["L",a,S],["L",a,C],["L",w,C],["Z"]]:m&&(A=[["M",k,0],["L",k,u-1],["L",M,u-1],["L",M,0],["Z"],["M",k,T],["L",k,n],["L",M,n],["L",M,T],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:A})}moveFixedElements(){let t;let{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,a=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-reset-zoom",".highcharts-drillup-button",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];for(let n of(s&&!i?t=".highcharts-yaxis":s&&i?t=".highcharts-xaxis":r&&!i?t=".highcharts-xaxis":r&&i&&(t=".highcharts-yaxis"),t&&a.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),a))[].forEach.call(e.querySelectorAll(n),t=>{(t.namespaceURI===o.SVG_NS?o.box:o.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return g}),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{format:s}=t,{series:r}=e,{destroyObjectProperties:o,fireEvent:a,isNumber:n,pick:h}=i;return class{constructor(t,e,i,s,r){let o=t.chart.inverted,a=t.reversed;this.axis=t;let n=this.isNegative=!!i!=!!a;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?n?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":n?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?n?"right":"left":"center")}destroy(){o(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,r=i.format,o=r?s(r,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:h(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,a(this,"afterRender")}setOffset(t,e,i,s,o,l){let{alignOptions:d,axis:c,label:p,options:u,textAlign:g}=this,f=c.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:l}),{verticalAlign:x}=d;if(p&&m){let t=p.getBBox(void 0,0),e=p.padding,i="justify"===h(u.overflow,"justify"),s;d.x=u.x||0,d.y=u.y||0;let{x:o,y:a}=this.adjustStackPosition({labelBox:t,verticalAlign:x,textAlign:g});m.x-=o,m.y-=a,p.align(d,!1,m),(s=f.isInsidePlot(p.alignAttr.x+d.x+o,p.alignAttr.y+d.y+a))||(i=!1),i&&r.prototype.justifyDataLabel.call(c,p,d,p.alignAttr,t,m),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:t.width*({left:0,center:.5,right:1})[u.textAlign||"center"],rotationOriginY:t.height/2}),h(!i&&u.crop,!0)&&(s=n(p.x)&&n(p.y)&&f.isInsidePlot(p.x-e+(p.width||0),p.y)&&f.isInsidePlot(p.x+e,p.y)),p[s?"show":"hide"]()}a(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},r=s[e],o=s[i];return{x:t.width/2+t.width/2*o,y:t.height/2*r}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:a,boxBottom:l}=t,d=e.stacking.usePercentage?100:h(s,this.total,0),c=e.toPixels(d),p=t.xAxis||i.xAxis[0],u=h(r,p.translate(this.x))+o,g=Math.abs(c-e.toPixels(l||n(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),f=i.inverted,m=this.isNegative;return f?{x:(m?c:c-g)-i.plotLeft,y:p.height-u-a,width:g,height:a}:{x:u+p.transB-i.plotLeft,y:(m?c-g:c)-i.plotTop,width:a,height:g}}}}),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i,s,r){var o;let{getDeferredAnimation:a}=t,{series:{prototype:n}}=i,{addEvent:h,correctFloat:l,defined:d,destroyObjectProperties:c,fireEvent:p,isArray:u,isNumber:g,objectEach:f,pick:m}=r;function x(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function y(){let t=this.stacking;if(t){let e=t.stacks;f(e,(t,i)=>{c(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function b(){this.stacking||(this.stacking=new w(this))}function v(t,e,i,s){return!d(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function S(){let t;let e=this,i=e.yAxis,s=e.stackKey||"",r=i.stacking.stacks,o=e.processedXData,a=e.options.stacking,n=e[a+"Stacker"];n&&[s,"-"+s].forEach(i=>{let s=o.length,a,h,l;for(;s--;)a=o[s],t=e.getStackIndicator(t,a,e.index,i),h=r[i]?.[a],(l=h?.points[t.key||""])&&n.call(e,l,h,s)})}function k(t,e,i){let s=e.total?100/e.total:0;t[0]=l(t[0]*s),t[1]=l(t[1]*s),this.stackedYData[i]=t[1]}function C(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?n.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function M(t,e){let i,r,o,a,n,h,c,p,g;let f=e||this.options.stacking;if(!f||!this.reserveSpace()||(({group:"xAxis"})[f]||"yAxis")!==t.coll)return;let x=this.processedXData,y=this.processedYData,b=[],v=y.length,S=this.options,k=S.threshold||0,C=S.startFromThreshold?k:0,M=S.stack,w=e?`${this.type},${f}`:this.stackKey||"",T="-"+w,A=this.negStacks,P=t.stacking,L=P.stacks,O=P.oldStacks;for(P.stacksTouched+=1,c=0;c0&&!1===this.singleStacks&&(o.points[h][0]=o.points[this.index+","+p+",0"][0])):(delete o.points[h],delete o.points[this.index]);let e=o.total||0;"percent"===f?(a=r?w:T,e=A&&L[a]?.[p]?(a=L[a][p]).total=Math.max(a.total||0,e)+Math.abs(g)||0:l(e+(Math.abs(g)||0))):"group"===f?(u(g)&&(g=g[0]),null!==g&&e++):e=l(e+(g||0)),"group"===f?o.cumulative=(e||1)-1:o.cumulative=l(m(o.cumulative,C)+(g||0)),o.total=e,null!==g&&(o.points[h].push(o.cumulative),b[c]=o.cumulative,o.hasValidPoints=!0)}"percent"===f&&(P.usePercentage=!0),"group"!==f&&(this.stackedYData=b),P.oldStacks={}}class w{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e;let i=this.axis,s=i.series,r="xAxis"===i.coll,o=i.options.reversedStacks,a=s.length;for(this.resetStacks(),this.usePercentage=!1,e=a;e--;)t=s[o?e:a-e-1],r&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!r)for(e=0;e{f(t,t=>{t.cumulative=t.total})}))}resetStacks(){f(this.stacks,t=>{f(t,(e,i)=>{g(e.touched)&&e.touched{f(t,t=>{t.render(o)})}),o.animate({opacity:1},r)}}return(o||(o={})).compose=function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(h(t,"init",b),h(t,"destroy",y),s.getStacks=x,r.getStackIndicator=v,r.modifyStacks=S,r.percentStacker=k,r.setGroupedPoints=C,r.setStackedPoints=M)},o}),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{defined:s,merge:r,isObject:o}=i;class a extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,a)=>{let n,h=s.graph,l=h?"animate":"attr",d=s.dashStyle||t.dashStyle;h?(h.endX=this.preventGraphAnimation?null:e.xMap,h.animate({d:e})):e.length&&(s.graph=h=this.chart.renderer.path(e).addClass("highcharts-graph"+(a?` highcharts-zone-graph-${a-1} `:" ")+(a&&s.className||"")).attr({zIndex:1}).add(this.group)),h&&!i&&(n={stroke:!a&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?n.dashstyle=d:"square"!==t.linecap&&(n["stroke-linecap"]=n["stroke-linejoin"]="round"),h[l](n).shadow(a<2&&t.shadow&&r({filterUnits:"userSpaceOnUse"},o(t.shadow)?t.shadow:{}))),h&&(h.startX=e.xMap,h.isArea=e.isArea)})}getGraphPath(t,e,i){let r=this,o=r.options,a=[],n=[],h,l=o.step,d=(t=t||r.points).reversed;return d&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&d&&(l=4-l),(t=this.getValidPoints(t,!1,!(o.connectNulls&&!e&&!i))).forEach(function(d,c){let p;let u=d.plotX,g=d.plotY,f=t[c-1],m=d.isNull||"number"!=typeof g;(d.leftCliff||f&&f.rightCliff)&&!i&&(h=!0),m&&!s(e)&&c>0?h=!o.connectNulls:m&&!e?h=!0:(0===c||h?p=[["M",d.plotX,d.plotY]]:r.getPointSpline?p=[r.getPointSpline(t,d,c)]:l?(p=1===l?[["L",f.plotX,g]]:2===l?[["L",(f.plotX+u)/2,f.plotY],["L",(f.plotX+u)/2,g]]:[["L",u,f.plotY]]).push(["L",u,g]):p=[["L",u,g]],n.push(d.x),l&&(n.push(d.x),2===l&&n.push(d.x)),a.push.apply(a,p),h=!1)}),a.xMap=n,r.graphPath=a,a}}return a.defaultOptions=r(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",a),a}),i(e,"Series/Area/AreaSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{seriesTypes:{line:i}}=t,{extend:s,merge:r,objectEach:o,pick:a}=e;class n extends i{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let r={},o=i.fillColor||e.fillColor,a=i.area,n=a?"animate":"attr";a?(a.endX=this.preventGraphAnimation?null:t.xMap,a.animate({d:t})):(r.zIndex=0,(a=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(r.fill=o||i.color||this.color,r["fill-opacity"]=o?1:e.fillOpacity??.75,a.css({pointerEvents:this.stickyTracking?"none":"auto"})),a[n](r),a.startX=t.xMap,a.shiftUnit=e.step?2:1})}getGraphPath(t){let e,s,r;let o=i.prototype.getGraphPath,n=this.options,h=n.stacking,l=this.yAxis,d=[],c=[],p=this.index,u=l.stacking.stacks[this.stackKey],g=n.threshold,f=Math.round(l.getThreshold(n.threshold)),m=a(n.connectNulls,"percent"===h),x=function(i,s,r){let o=t[i],a=h&&u[o.x].points[p],n=o[r+"Null"]||0,m=o[r+"Cliff"]||0,x,y,b=!0;m||n?(x=(n?a[0]:a[1])+m,y=a[0]+m,b=!!n):!h&&t[s]&&t[s].isNull&&(x=y=g),void 0!==x&&(c.push({plotX:e,plotY:null===x?f:l.getThreshold(x),isNull:b,isCliff:!0}),d.push({plotX:e,plotY:null===y?f:l.getThreshold(y),doCurve:!1}))};t=t||this.points,h&&(t=this.getStackPoints(t));for(let i=0,o=t.length;it.visible);s.forEach(function(t,o){let f=0,m,x;if(l[t]&&!l[t].isNull)i.push(l[t]),[-1,1].forEach(function(i){let r=1===i?"rightNull":"leftNull",a=h[s[o+i]],n=0;if(a){let i=u;for(;i>=0&&i=0&&ei&&o>l?(o=Math.max(i,l),n=2*l-o):op&&n>l?(n=Math.max(p,l),o=2*l-n):n=Math.abs(e)&&n>.5;return s=n-(e=Math.round(e)+a),h&&s&&(e-=1,s+=1),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let r=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),o=0,a=0;y(this.xAxis.stacking?.stacks,t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&g(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&e.points[t].length>1).map(parseFloat).filter(t=>-1!==r.indexOf(t)).sort((t,e)=>e-t);o=t.indexOf(this.index),a=t.length}}}),o=this.xAxis.reversed?a-1-o:o;let n=(a-1)*s.paddedWidth+e;t=(i.plotX||0)+n/2-e-o*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=x(i.borderWidth,s?0:1),a=t.xAxis,n=t.yAxis,h=i.threshold,l=x(i.minPointLength,5),p=t.getColumnMetrics(),g=p.width,m=t.pointXOffset=p.offset,y=t.dataMin,b=t.dataMax,v=t.barW=Math.max(g,1+2*o),S=t.translatedThreshold=n.getThreshold(h);e.inverted&&(S-=.5),i.pointPadding&&(v=Math.ceil(v)),r.prototype.translate.apply(t),t.points.forEach(function(s){let r=x(s.yBottom,S),o=999+Math.abs(r),u=s.plotX||0,k=d(s.plotY,-o,n.len+o),C,M=Math.min(k,r),w=Math.max(k,r)-M,T=g,A=u+m,P=v;l&&Math.abs(w)l?r-l:S-(C?l:0)),c(s.options.pointWidth)&&(A-=Math.round(((T=P=Math.ceil(s.options.pointWidth))-g)/2)),i.centerInCategory&&!i.stacking&&(A=t.adjustForMissingColumns(A,T,s,p)),s.barX=A,s.pointWidth=T,s.tooltipPos=e.inverted?[d(n.len+n.pos-e.plotLeft-k,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),a.len+a.pos-e.plotTop-A-P/2,w]:[a.left-e.plotLeft+A+P/2,d(k+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),w],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(A,s.isNull?S:M,P,s.isNull?0:w)}),u(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},r=s.stroke||"borderColor",o=s["stroke-width"]||"borderWidth",a,n,l,d=t&&t.color||this.color,c=t&&t[r]||i[r]||d,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[o]||i[o]||this[o]||0,g=x(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(n=t.getZone(),d=t.options.color||n&&(n.color||t.nonZonedColor)||this.color,n&&(c=n.borderColor||c,p=n.dashStyle||p,u=n.borderWidth||u)),e&&t&&(l=(a=m(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,d=a.color||void 0!==l&&h(d).brighten(a.brightness).get()||d,c=a[r]||c,u=a[o]||u,p=a.dashStyle||p,g=x(a.opacity,g));let f={fill:d,stroke:c,"stroke-width":u,opacity:g};return p&&(f.dashstyle=p),f}drawPoints(t=this.points){let e;let i=this,s=this.chart,r=i.options,o=s.renderer,a=r.animationLimit||250;t.forEach(function(t){let n=t.plotY,h=t.graphic,l=!!h,d=h&&s.pointCountt?.enabled)}function i(t,e,i,s,r){let o=this.chart,h=this.isCartesian&&o.inverted,l=this.enabledDataSorting,d=t.plotX,p=t.plotY,g=i.rotation||0,f=a(d)&&a(p)&&o.isInsidePlot(d,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),m=0===g&&"justify"===u(i.overflow,l?"none":"justify"),x=this.visible&&!1!==t.visible&&a(d)&&(t.series.forceDL||l&&!m||f||u(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(d,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),y=t.pos();if(x&&y){var b;let a=e.getBBox(),h=e.getBBox(void 0,0),d={right:1,center:.5}[i.align||0]||0,p={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=n({x:y[0],y:Math.round(y[1]),width:0,height:0},s||{}),n(i,{width:a.width,height:a.height}),b=s,l&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,r,f,b),e.align(c(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=d*(h.width-a.width),e.alignAttr.y+=p*(h.height-a.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(a.width-h.width)/2,y:e.alignAttr.y+(a.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,a,s,r);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;x=o.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+a.width-1,i+a.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[r?"attr":"animate"]({anchorX:y[0],anchorY:y[1]})}r&&l&&(e.placed=!1),x||l&&!m?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function x(t){let e;t=t||this.points;let i=this,s=i.chart,n=i.options,l=s.renderer,{backgroundColor:c,plotBackgroundColor:m}=s.options.chart,x=l.getContrast(d(m)&&m||d(c)&&c||"#000000"),y=v(i),{animation:S,defer:k}=y[0],C=k?r(s,S,i):{defer:0,duration:0};h(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(C),t.forEach(t=>{let r=t.dataLabels||[];f(b(y,t.dlOptions||t.options?.dataLabels)).forEach((h,c)=>{let f=h.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],r=i.value;return">"===e&&s>r||"<"===e&&s="===e&&s>=r||"<="===e&&s<=r||"=="===e&&s==r||"==="===e&&s===r||"!="===e&&s!=r||"!=="===e&&s!==r}return!0}(t,h),{backgroundColor:m,borderColor:y,distance:b,style:v={}}=h,S,k,C,M,w={},T=r[c],A=!T,P;if(f&&(k=u(h[t.formatPrefix+"Format"],h.format),S=t.getLabelConfig(),C=a(k)?o(k,S,s):(h[t.formatPrefix+"Formatter"]||h.formatter).call(S,h),M=h.rotation,!s.styledMode&&(v.color=u(h.color,v.color,d(i.color)?i.color:void 0,"#000000"),"contrast"===v.color?("none"!==m&&(P=m),t.contrastColor=l.getContrast("auto"!==P&&P||t.color||i.color),v.color=P||!a(b)&&h.inside||0>g(b||0)||n.stacking?t.contrastColor:x):delete t.contrastColor,n.cursor&&(v.cursor=n.cursor)),w={r:h.borderRadius||0,rotation:M,padding:h.padding,zIndex:1},s.styledMode||(w.fill="auto"===m?t.color:m,w.stroke="auto"===y?t.color:y,w["stroke-width"]=h.borderWidth),p(w,(t,e)=>{void 0===t&&delete w[e]})),!T||f&&a(C)&&!!T.div==!!h.useHTML&&(T.rotation&&h.rotation||T.rotation===h.rotation)||(T=void 0,A=!0),f&&a(C)&&(T?w.text=C:(T=l.label(C,0,0,h.shape,void 0,void 0,h.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(h.className||"")+(h.useHTML?" highcharts-tracker":"")),T)){T.options=h,T.attr(w),s.styledMode||T.css(v).shadow(h.shadow);let o=h[t.formatPrefix+"TextPath"]||h.textPath;o&&!h.useHTML&&(T.setTextPath(t.getDataLabelPath?.(T)||t.graphic,o),t.dataLabelPath&&!o.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),T.added||T.add(e),i.alignDataLabel(t,T,h,void 0,A),T.isActive=!0,r[c]&&r[c]!==T&&r[c].destroy(),r[c]=T}});let h=r.length;for(;h--;)r[h]&&r[h].isActive?r[h].isActive=!1:(r[h]?.destroy(),r.splice(h,1));t.dataLabel=r[0],t.dataLabels=r})),h(this,"afterDrawDataLabels")}function y(t,e,i,s,r,o){let a=this.chart,n=e.align,h=e.verticalAlign,l=t.box?0:t.padding||0,{x:d=0,y:c=0}=e,p,u;return(p=(i.x||0)+l)<0&&("right"===n&&d>=0?(e.align="left",e.inside=!0):d-=p,u=!0),(p=(i.x||0)+s.width-l)>a.plotWidth&&("left"===n&&d<=0?(e.align="right",e.inside=!0):d+=a.plotWidth-p,u=!0),(p=i.y+l)<0&&("bottom"===h&&c>=0?(e.verticalAlign="top",e.inside=!0):c-=p,u=!0),(p=(i.y||0)+s.height-l)>a.plotHeight&&("top"===h&&c<=0?(e.verticalAlign="bottom",e.inside=!0):c+=a.plotHeight-p,u=!0),u&&(e.x=d,e.y=c,t.placed=!o,t.align(e,void 0,r)),u}function b(t,e){let i=[],s;if(l(t)&&!l(e))i=t.map(function(t){return c(t,e)});else if(l(e)&&!l(t))i=e.map(function(e){return c(t,e)});else if(l(t)||l(e)){if(l(t)&&l(e))for(s=Math.max(t.length,e.length);s--;)i[s]=c(t[s],e[s])}else i=c(t,e);return i}function v(t){let e=t.chart.options.plotOptions;return f(b(b(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function S(t,e,i,s,r){let o=this.chart,a=o.inverted,n=this.xAxis,h=n.reversed,l=((a?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=a?r.x:h?-l-c:n.width-l+c,e.startYPos=a?h?this.yAxis.height-l+c:-l-c:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let r=t.prototype;r.initDataLabels||(r.initDataLabels=m,r.initDataLabelsGroup=s,r.alignDataLabel=i,r.drawDataLabels=x,r.justifyDataLabel=y,r.setDataLabelStartPos=S,r.hasDataLabels=e)}}(s||(s={})),s}),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){var r;let{composed:o}=e,{series:a}=i,{merge:n,pick:h,pushUnique:l}=s;return function(e){function i(t,e,i,s,r){let o=this.chart.inverted,l=t.series,d=(l.xAxis?l.xAxis.len:this.chart.plotSizeX)||0,c=(l.yAxis?l.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=h(t.below,t.plotY>h(this.translatedThreshold,c)),g=h(i.inside,!!this.options.stacking);if(p){if(s=n(p),!("allow"===i.overflow&&!1===i.crop)){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-c;t>0&&t {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}}}),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s,line:r}=e.seriesTypes,{addEvent:o,extend:a,merge:n}=i;class h extends r{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,r){["x","y"].forEach(function(o,a){if(e[o]&&!s.isNull){let n=`plot${o.toUpperCase()}`,h=t[`${o}Axis`],l=e[o]*h.transA;if(h&&!h.logarithmic){let t=Math.max(0,(s[n]||0)-l),e=Math.min(h.len,(s[n]||0)+l);s[n]=t+(e-t)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(r+a*i),"x"===o&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return h.defaultOptions=n(r.defaultOptions,t),a(h.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(h,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",h),h}),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var s,r;let{deg2rad:o}=t,{fireEvent:a,isNumber:n,pick:h,relativeLength:l}=i;return(r=s||(s={})).getCenter=function(){let t=this.options,i=this.chart,s=2*(t.slicedOffset||0),r=i.plotWidth-2*s,o=i.plotHeight-2*s,d=t.center,c=Math.min(r,o),p=t.thickness,u,g=t.size,f=t.innerSize||0,m,x;"string"==typeof g&&(g=parseFloat(g)),"string"==typeof f&&(f=parseFloat(f));let y=[h(d[0],"50%"),h(d[1],"50%"),h(g&&g<0?void 0:t.size,"100%"),h(f&&f<0?void 0:t.innerSize||0,"0%")];for(!i.angular||this instanceof e||(y[3]=0),m=0;m<4;++m)x=y[m],u=m<2||2===m&&/%$/.test(x),y[m]=l(x,[r,o,c,y[2]][m])+(u?s:0);return y[3]>y[2]&&(y[3]=y[2]),n(p)&&2*p0&&(y[3]=y[2]-2*p),a(this,"afterGetCenter",{positions:y}),y},r.getStartAndEndRadians=function(t,e){let i=n(t)?t:0,s=n(e)&&e>i&&e-i<360?e:i+360;return{start:o*(i+-90),end:o*(s+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i){let{setAnimation:s}=t,{addEvent:r,defined:o,extend:a,isNumber:n,pick:h,relativeLength:l}=i;class d extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,r=this.connectorShapes[s]||s;return e&&r.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};r(this,"select",s),r(this,"unselect",s)}isValid(){return n(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let r=this.series;s(i,r.chart),e=h(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,r.options.data[r.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return a(d.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,r=e.touchingSliceAt,o=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-r.x,2*s.y-r.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],o,["L",r.x,r.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:r}=e,{series:o}=this,[a,n,h]=o.center,d=h/2,{plotLeft:c,plotWidth:p}=o.chart,u="left"===t.alignment,{x:g,y:f}=t,m=s.x;if(i.crookDistance){let t=l(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(n-f)*Math.tan((this.angle||0)-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=s.x:m>=g&&m<=s.x)&&x.push(["L",m,f]),x.push(["L",s.x,s.y],["L",r.x,r.y]),x}}}),d}),i(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}}}),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,a,n,h){let{getStartAndEndRadians:l}=t,{noop:d}=i,{clamp:c,extend:p,fireEvent:u,merge:g,pick:f}=h;class m extends o{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,r=t.shapeArgs;i&&r&&(i.attr({r:f(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:r.r,start:r.start,end:r.end},e.options.animation))})}drawEmpty(){let t,e;let i=this.startAngleRad,s=this.endAngleRad,r=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:n.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":r.borderWidth,fill:r.fillColor||"none",stroke:r.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let r=this.center,o=this.radii?this.radii[i.index]||0:r[2]/2,a=s.dataLabelPosition,n=a?.distance||0,h=Math.asin(c((t-r[1])/(o+n),-1,1));return r[0]+Math.cos(h)*(o+n)*(e?-1:1)+(n>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s;let r=this,o=r.chart;this.drawEmpty(),r.group&&!o.styledMode&&r.group.shadow(r.options.shadow),r.points.forEach(function(a){let n={};e=a.graphic,!a.isNull&&e?(s=a.shapeArgs,t=a.getTranslate(),o.styledMode||(i=r.pointAttribs(a,a.selected&&"select")),a.delayedRendering?(e.setRadialReference(r.center).attr(s).attr(t),o.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),a.delayedRendering=!1):(e.setRadialReference(r.center),o.styledMode||g(!0,n,i),g(!0,n,s,t),e.animate(n)),e.attr({visibility:a.visible?"inherit":"hidden"}),e.addClass(a.getClassName(),!0)):e&&(a.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){u(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=l(e.startAngle,e.endAngle),r=this.startAngleRad=s.start,o=(this.endAngleRad=s.end)-r,a=this.points,n=e.ignoreHiddenPoint,h=a.length,d,c,p,g,f,m,x,y=0;for(t||(this.center=t=this.getCenter()),m=0;m1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),x.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,f=Math.sin(p)*t[2]/2,x.tooltipPos=[t[0]+.7*g,t[1]+.7*f],x.half=p<-Math.PI/2||p>Math.PI/2?1:0,x.angle=p}u(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,r,o=0;for(s=0;s0&&(r.visible||!i)?r.y/o*100:0,r.total=o}}return m.defaultOptions=g(o.defaultOptions,r),p(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:d,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:d,trackerGroups:["group","dataLabelsGroup"]}),a.registerSeriesType("pie",m),m}),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,r){var o;let{composed:a,noop:n}=e,{distribute:h}=i,{series:l}=s,{arrayMax:d,clamp:c,defined:p,pick:u,pushUnique:g,relativeLength:f}=r;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,r){let o=r.dataLabelPosition;return t.getX(i<(o?.top||0)+2||i>(o?.bottom||0)-2?s:i,e.half,e,r)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let r=t.getBBox().width;return e?r+s:i-r-s},alignToConnectors:function(t,e,i,s){let r=0,o;return t.forEach(function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)}),e?r+s:i-r-s}};function s(t,e){let{center:i,options:s}=this,r=i[2]/2,o=t.angle||0,a=Math.cos(o),n=Math.sin(o),h=i[0]+a*r,l=i[1]+n*r,d=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:h+a*e,y:l+n*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:h+a*d,y:l+n*d},touchingSliceAt:{x:h,y:l}},distance:e}}function r(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,r=i.plotHeight,o=i.plotLeft,a=Math.round(i.chartWidth/3),n=t.center,c=n[2]/2,g=n[1],m=[[],[]],x=[0,0,0,0],y=t.dataLabelPositioners,b,v,S,k=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),l.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=n[2]/2,r=e.options,o=f(r?.distance||0,s);0===i&&m[t.half].push(t),!p(r?.style?.width)&&e.getBBox().width>a&&(e.css({width:Math.round(.7*a)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,o),k=Math.max(k,o)})}),m.forEach((e,a)=>{let l=e.length,d=[],f,m,b=0,C;l&&(t.sortByAngle(e,a-.5),k>0&&(f=Math.max(0,g-c-k),m=Math.min(g+c+k,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,g-c-s.distance),s.bottom=Math.min(g+c+s.distance,i.plotHeight),b=e.getBBox().height||21,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+b/2,size:b,rank:t.y},d.push(t.distributeBox))})}),h(d,C=m+b-f,C/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let l=h.options||{},g=i.distributeBox,f=h.dataLabelPosition,m=f?.natural.y||0,b=l.connectorPadding||0,k=0,C=m,M="inherit";if(f){if(d&&p(g)&&f.distance>0&&(void 0===g.pos?M="hidden":(S=g.size,C=y.radialDistributionY(i,h))),l.justify)k=y.justify(i,h,c,n);else switch(l.alignTo){case"connectors":k=y.alignToConnectors(e,a,s,o);break;case"plotEdges":k=y.alignToPlotEdges(h,a,s,o);break;default:k=y.radialDistributionX(t,i,C,m,h)}if(f.attribs={visibility:M,align:f.alignment},f.posAttribs={x:k+(l.x||0)+(({left:b,right:-b})[f.alignment]||0),y:C+(l.y||0)-h.getBBox().height/2},f.computed.x=k,f.computed.y=C,u(l.crop,!0)){let t;k-(v=h.getBBox().width)s-b&&0===a&&(t=Math.round(k+v-s+b),x[1]=Math.max(t,x[1])),C-S/2<0?x[0]=Math.max(Math.round(-C+S/2),x[0]):C+S/2>r&&(x[2]=Math.max(Math.round(C+S/2-r),x[2])),f.sideOverflow=t}}})}))}),(0===d(x)||this.verifyDataLabelOverflow(x))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:r,connectorWidth:o=1}=s.options||{},a=s.dataLabelPosition;if(o){let n;b=s.connector,a&&a.distance>0?(n=!b,b||(s.connector=b=i.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||b.attr({"stroke-width":o,stroke:r||e.color||"#666666"}),b[n?"attr":"animate"]({d:e.getConnectorPath(s)}),b.attr({visibility:a.attribs?.visibility})):b&&(s.connector=b.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function m(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,a=null!==i.size;return!a&&(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=c(o,r,e[2]-Math.max(t[0],t[2])):(o=c(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),r,o,n,h,l,d=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0));for(let i=0;i{s(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=r(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,a(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}return{compose:function(t){let i=t.prototype;i.hideOverlappingLabels||(i.hideOverlappingLabels=o,e(t,"render",n))}}}),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=t,{noop:r}=e,{addEvent:o,extend:a,isObject:n,merge:h,relativeLength:l}=i,d={radius:0,scope:"stack",where:void 0},c=r,p=r;function u(t,e,i,s,r={}){let o=c(t,e,i,s,r),{innerR:a=0,r:n=i,start:h=0,end:d=0}=r;if(r.open||!r.borderRadius)return o;let p=d-h,u=Math.sin(p/2),g=Math.max(Math.min(l(r.borderRadius||0,n-a),(n-a)/2,n*u/(1+u)),0),f=Math.min(g,p/Math.PI*2*a),m=o.length-1;for(;m--;)!function(t,e,i){let s,r,o;let a=t[e],n=t[e+1];if("Z"===n[0]&&(n=t[0]),("M"===a[0]||"L"===a[0])&&"A"===n[0]?(s=a,r=n,o=!0):"A"===a[0]&&("M"===n[0]||"L"===n[0])&&(s=n,r=a),s&&r&&r.params){let a=r[1],n=r[5],h=r.params,{start:l,end:d,cx:c,cy:p}=h,u=n?a-i:a+i,g=u?Math.asin(i/u):0,f=n?g:-g,m=Math.cos(g)*u;o?(h.start=l+f,s[1]=c+m*Math.cos(l),s[2]=p+m*Math.sin(l),t.splice(e+1,0,["A",i,i,0,0,1,c+a*Math.cos(h.start),p+a*Math.sin(h.start)])):(h.end=d-f,r[6]=c+a*Math.cos(h.end),r[7]=p+a*Math.sin(h.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),r[4]=Math.abs(h.end-h.start)1?f:g);return o}function g(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,r=s.plotOptions?.[this.type]?.borderRadius,o=f(t.borderRadius,n(r)?r:{}),h=e.options.reversed;for(let s of this.points){let{shapeArgs:r}=s;if("roundedRect"===s.shapeType&&r){let{width:n=0,height:d=0,y:c=0}=r,p=c,u=d;if("stack"===o.scope&&s.stackTotal){let r=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),o=e.translate(t.threshold||0,!1,!0,!1,!0),a=this.crispCol(0,Math.min(r,o),0,Math.abs(r-o));p=a.y,u=a.height}let g=(s.negative?-1:1)*(h?-1:1)==-1,f=o.where;!f&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(f="all"),f||(f="end");let m=Math.min(l(o.radius,n),n/2,"all"===f?d/2:1/0)||0;"end"===f&&(g&&(p-=m),u+=m),a(r,{brBoxHeight:u,brBoxY:p,r:m})}}}}function f(t,e){return n(t)||(t={radius:t||0}),h(d,e,t)}function m(){let t=f(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=l(t.radius,(i.r||0)-(i.innerR||0)))}}function x(t,e,i,s,r={}){let o=p(t,e,i,s,r),{r:a=0,brBoxHeight:n=s,brBoxY:h=e}=r,l=e-h,d=h+n-(e+s),c=l-a>-.1?0:a,u=d-a>-.1?0:a,g=Math.max(c&&l,0),f=Math.max(u&&d,0),m=[t+c,e],x=[t+i-c,e],y=[t+i,e+c],b=[t+i,e+s-u],v=[t+i-u,e+s],S=[t+u,e+s],k=[t,e+s-u],C=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=M(c,c-g);m[0]-=t,x[0]+=t,y[1]=C[1]=e+c-g}if(s=a(i.minWidth,0)&&this.chartHeight>=a(i.minHeight,0)}).call(this)&&e.push(t._id)}function h(t,e){let s=this.options.responsive,a=this.currentResponsive,h=[],l;!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=n()),this.matchResponsiveRule(t,h)},this);let d=o(...h.map(t=>r((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));d.isResponsiveOptions=!0,h=h.toString()||void 0;let c=a&&a.ruleIds;h!==c&&(a&&this.update(a.undoOptions,t,!0),h?((l=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:d,undoOptions:l},this.update(d,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:h}),t}}(e||(e={})),e}),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,s,r,o,a,n,h,l,d,c,p,u,g,f,m,x,y,b,v,S,k,C,M,w,T,A,P,L,O,D,E,I,j,B){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=j,t.DataLabel=O,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=S,t.OverlappingDataLabels=t.OverlappingDataLabels||D,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=n,t.Series=T,t.SeriesRegistry=A,t.StackItem=w,t.SVGElement=l,t.SVGRenderer=d,t.Templating=a,t.Tick=m,t.Time=B,t.Tooltip=x,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=j.parse,t.dateFormat=a.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=h.distribute,t.format=a.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=a.numberFormat,t.seriesType=A.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,E.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),O.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),D.compose(t.Chart),L.compose(t.Series.types.pie),f.compose(t.Axis),b.compose(t.Chart),I.compose(t.Chart),C.compose(t.Axis,t.Chart,t.Series),M.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]}); \ No newline at end of file diff --git a/.arduino/Battery_watchdog/data/index.html b/.arduino/Battery_watchdog/data/index.html deleted file mode 100644 index fdc55dd..0000000 --- a/.arduino/Battery_watchdog/data/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - DIT Robotics - - - - - - - -

-

ROBOT STATUS PANEL

-
-
-
-
-

Battery Status

-
-
-
-
- -
Battery Status: unknown
- - \ No newline at end of file diff --git a/.arduino/Battery_watchdog/data/script.js b/.arduino/Battery_watchdog/data/script.js deleted file mode 100644 index 7a4ef2e..0000000 --- a/.arduino/Battery_watchdog/data/script.js +++ /dev/null @@ -1,111 +0,0 @@ -// Get current sensor readings when the page loads -window.addEventListener('load', getReadings); - -var chartT = new Highcharts.Chart({ - chart:{ - renderTo:'chart-sensor' - }, - series: [ - { - name: 'Battery Voltage', - type: 'line', - color: '#101D42', - marker: { - symbol: 'circle', - radius: 3, - fillColor: '#101D42', - } - }, - { - name: 'Filter Value', - type: 'line', - color: '#00A6A6', - marker: { - symbol: 'square', - radius: 3, - fillColor: '#00A6A6', - } - }, - ], - title: { - text: undefined - }, - xAxis: { - type: 'datetime', - dateTimeLabelFormats: { second: '%H:%M:%S' } - }, - yAxis: { - title: { - text: 'Voltage' - } - }, - credits: { - enabled: false - } -}); - - -function plotData(jsonValue) { - var batteryStatus = jsonValue["batteryStatus"]; - document.getElementById("batteryStatus").innerText = "Battery Status: " + batteryStatus; - - var keys = Object.keys(jsonValue); - console.log(keys); - console.log(keys.length); - - for (var i = 0; i < keys.length; i++){ - var x = (new Date()).getTime(); - console.log(x); - const key = keys[i]; - var y = Number(jsonValue[key]); - console.log(y); - - if(chartT.series[i].data.length > 600) { - chartT.series[i].addPoint([x, y], true, true, true); - } else { - chartT.series[i].addPoint([x, y], true, false, true); - } - - } -} - -// Function to get current readings on the webpage when it loads for the first time -function getReadings(){ - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function() { - if (this.readyState == 4 && this.status == 200) { - var myObj = JSON.parse(this.responseText); - console.log(myObj); - - var batteryStatus = jsonValue["batteryStatus"]; - document.getElementById("batteryStatus").innerText = "Battery Status: " + batteryStatus;(myObj); - } - }; - xhr.open("GET", "/readings", true); - xhr.send(); -} - -if (!!window.EventSource) { - var source = new EventSource('/events'); - - source.addEventListener('open', function(e) { - console.log("Events Connected"); - }, false); - - source.addEventListener('error', function(e) { - if (e.target.readyState != EventSource.OPEN) { - console.log("Events Disconnected"); - } - }, false); - - source.addEventListener('message', function(e) { - console.log("message", e.data); - }, false); - - source.addEventListener('new_readings', function(e) { - console.log("new_readings", e.data); - var myObj = JSON.parse(e.data); - console.log(myObj); - plotData(myObj); - }, false); -} diff --git a/.arduino/Battery_watchdog/data/style.css b/.arduino/Battery_watchdog/data/style.css deleted file mode 100644 index 7f62693..0000000 --- a/.arduino/Battery_watchdog/data/style.css +++ /dev/null @@ -1,43 +0,0 @@ -html { - font-family: Arial, Helvetica, sans-serif; - display: inline-block; - text-align: center; -} -h1 { - font-size: 1.8rem; - color: white; -} -p { - font-size: 1.4rem; -} -.topnav { - overflow: hidden; - background-color: #0A1128; -} -body { - margin: 0; -} -.content { - padding: 5%; -} -.card-grid { - max-width: 1200px; - margin: 0 auto; - display: grid; - grid-gap: 2rem; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); -} -.card { - background-color: white; - box-shadow: 2px 2px 12px 1px rgba(140,140,140,.5); - border-radius: 30px; -} -.card-title { - font-size: 1.2rem; - font-weight: bold; - color: #034078; -} -.chart-container { - padding-right: 5%; - padding-left: 5%; -} diff --git a/.arduino/Battery_watchdog/favicon.png b/.arduino/Battery_watchdog/favicon.png deleted file mode 100644 index bfdee5a0750fc13b2146cb4e1d468310b0c129f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46224 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 diff --git a/.arduino/Battery_watchdog/favicon_white.png b/.arduino/Battery_watchdog/favicon_white.png deleted file mode 100644 index e92c7dbc5a03b036e3debdcd93bab07dae9440e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16406 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 diff --git a/.arduino/Ladybug/Ladybug.ino b/.arduino/Ladybug/Ladybug.ino deleted file mode 100644 index 3867ca3..0000000 --- a/.arduino/Ladybug/Ladybug.ino +++ /dev/null @@ -1,175 +0,0 @@ -#include -#include -#include -#include -#include - -/************************ OEM ***************************/ -#define Hostname "ladybug-01" // mDNS Hostname -#define RS 2 // ReadySignal PINOUT (onboard LED) - -int readySignal = -1, color = -1; -const char* ssid = "DIT_8C58"; // WiFi SSID -const char* password = "ditrobotics"; // WiFi PWD -/****************************************************************/ - -AsyncWebServer server(80); - -const char* PARAM_INPUT_1 = "color"; -const char* PARAM_INPUT_2 = "state"; - -const char index_html[] PROGMEM = R"rawliteral( - - - - DIT-Ladybug - - - - -

Eurobot 2024

- -
- - - - - -)rawliteral"; - -String processor(const String& var) { - return String(); -} - -void initWiFi() { - WiFi.mode(WIFI_STA); - WiFi.begin(ssid, password); - Serial.print("Connecting to WiFi .."); - while (WiFi.status() != WL_CONNECTED) { - Serial.print('.'); - delay(1000); - } - if (!MDNS.begin(Hostname)) { - Serial.println("Error starting mDNS"); - return; - } - Serial.println(WiFi.localIP()); - /* Place Your WiFi Ready things here */ - - - /* END */ -} - -void setup(void) { - pinMode(RS, OUTPUT); - Serial.begin(115200); - initWiFi(); - - // Route for root / web page - server.on("/", HTTP_GET, [](AsyncWebServerRequest* request) { - request->send_P(200, "text/html", index_html, processor); - }); - - server.on("/updates", HTTP_GET, [](AsyncWebServerRequest* request) { - String inputMessage1, inputMessage2; - if (request->hasParam(PARAM_INPUT_1)) { - inputMessage1 = request->getParam(PARAM_INPUT_1)->value(); - inputMessage2 = request->getParam(PARAM_INPUT_2)->value(); - color = inputMessage1.toInt(); - readySignal = inputMessage2.toInt(); - } else { - inputMessage1 = "No message sent"; - } - request->send(200, "text/plain", "DIT Robotics"); - }); - - AsyncElegantOTA.begin(&server); // Start ElegantOTA - server.begin(); -} - -void loop(void) { - Serial.print("{color: "); - Serial.print(color); - Serial.print(", readySignal: "); - Serial.print(readySignal); - Serial.println("}"); -} \ No newline at end of file diff --git a/.arduino/tools/ESP32FS/tool/esp32fs.jar b/.arduino/tools/ESP32FS/tool/esp32fs.jar deleted file mode 100644 index 6020ed8151eb93cb5382c3ffaa1f364956aaa48c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7619 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 C4S4