From 332039de561f95dc39e591f6e6efa972ded15b7e Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 30 May 2024 09:24:58 +0200 Subject: [PATCH 01/98] cdnjs: apexcharts.min.js 3.49.1 --- src/www/js/vendor/apexcharts.min.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/www/js/vendor/apexcharts.min.js b/src/www/js/vendor/apexcharts.min.js index 6052570e..86663dd5 100644 --- a/src/www/js/vendor/apexcharts.min.js +++ b/src/www/js/vendor/apexcharts.min.js @@ -1,14 +1,14 @@ /*! - * ApexCharts v3.46.0 + * ApexCharts v3.49.1 * (c) 2018-2024 ApexCharts * Released under the MIT License. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;i<arguments.length;i++){var a=null!=arguments[i]?arguments[i]:{};i%2?t(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):t(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function r(t,e,i){return e&&s(t.prototype,e),i&&s(t,i),t}function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){return h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},h(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function d(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,a=l(t);if(e){var s=l(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return c(t)}(this,i)}}function g(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==i)return;var a,s,r=[],o=!0,n=!1;try{for(i=i.call(t);!(o=(a=i.next()).done)&&(r.push(a.value),!e||r.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{o||null==i.return||i.return()}finally{if(n)throw s}}return r}(t,e)||p(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||p(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){if(t){if("string"==typeof t)return f(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?f(t,e):void 0}}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=t[i];return a}var x=function(){function t(){a(this,t)}return r(t,[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),o=parseInt(i[1],10),n=parseInt(i[2],10);return"rgb("+(Math.round((a-r)*s)+r)+","+(Math.round((a-o)*s)+o)+","+(Math.round((a-n)*s)+n)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e<t.length;e++)i[e]=t[e];return i}},{key:"extend",value:function(t,e){var i=this;"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var a=arguments[i];if(null!=a)for(var s in a)a.hasOwnProperty(s)&&(e[s]=a[s])}return e});var a=Object.assign({},t);return this.isObject(t)&&this.isObject(e)&&Object.keys(e).forEach((function(s){i.isObject(e[s])&&s in t?a[s]=i.extend(t[s],e[s]):Object.assign(a,o({},s,e[s]))})),a}},{key:"extendArray",value:function(e,i){var a=[];return e.map((function(e){a.push(t.extend(i,e))})),e=a}},{key:"monthMod",value:function(t){return t%12}},{key:"clone",value:function(e){if(t.is("Array",e)){for(var a=[],s=0;s<e.length;s++)a[s]=this.clone(e[s]);return a}if(t.is("Null",e))return null;if(t.is("Date",e))return e;if("object"===i(e)){var r={};for(var o in e)e.hasOwnProperty(o)&&(r[o]=this.clone(e[o]));return r}return e}},{key:"log10",value:function(t){return Math.log(t)/Math.LN10}},{key:"roundToBase10",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:"roundToBase",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:"parseNumber",value:function(t){return null===t?t:parseFloat(t)}},{key:"stripNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i="",a=t<0?"-":"",s=e[0].replace(".",""),r=Number(e[1])+1;if(r<0){for(i=a+"0.";r++;)i+="0";return i+s.replace(/^-/,"")}for(r-=s.length;r--;)i+="0";return s+i}},{key:"getDimensions",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:"getBoundingClientRect",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:"getLargestStringFromArr",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a<i.length;a++)i[a]=parseInt(1===i[a].length?i[a]+i[a]:i[a],16);return void 0!==e&&i.push(e),"rgba("+i.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(t){return parseFloat(t.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t)}},{key:"getPolygonPos",value:function(t,e){for(var i=[],a=2*Math.PI/e,s=0;s<e;s++){var r={};r.x=t*Math.sin(s*a),r.y=-t*Math.cos(s*a),i.push(r)}return i}},{key:"polarToCartesian",value:function(t,e,i,a){var s=(a-90)*Math.PI/180;return{x:t+i*Math.cos(s),y:e+i*Math.sin(s)}}},{key:"escapeString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}},{key:"getGCD",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:"getPrimeFactors",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:"mod",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":default:t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove("apexcharts-element-hidden"),e.classList.add("apexcharts-hidden-element-shown")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,"in").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:"dropShadow",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),x.isIE()&&"radialBar"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(l,h).composite(t.sourceAlpha,"in").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,"in").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var o=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;"Z"==o[o.length-1][0]&&o[0].length>2&&(h=["L",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c<o.length;c++){var d=n[n.length-1],g=o[c],u=g==h?o[1]:o[c+1];if(u&&d&&d.length>2&&"L"==g[0]&&u.length>2&&"L"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=["C",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push(["Z"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n="a");var l=[n,t,e,i,a,s,r,o].join(" ");return l}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,I=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);I?i=r:(i=o,A.globals.animationEnded=!0);var M=A.config.stroke.dashArray,T=0;T=Array.isArray(M)?M[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:T});if(z.attr("index",s),x&&z.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,z)),z.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,z)),z.node.addEventListener("mousedown",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&I&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i<r.width?e.slice(0,n-3)+"...":e}},{key:"drawText",value:function(t){var i=this,a=t.x,s=t.y,r=t.text,o=t.textAnchor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.foreColor,d=t.opacity,g=t.maxWidth,u=t.cssClass,p=void 0===u?"":u,f=t.isPlainText,x=void 0===f||f,b=t.dominantBaseline,v=void 0===b?"auto":b,m=this.w;void 0===r&&(r="");var y=r;o||(o="start"),c&&c.length||(c=m.config.chart.foreColor),l=l||m.config.chart.fontFamily,h=h||"regular";var w,k={maxWidth:g,fontSize:n=n||"11px",fontFamily:l};return Array.isArray(r)?w=m.globals.dom.Paper.text((function(t){for(var a=0;a<r.length;a++)y=r[a],g&&(y=i.getTextBasedOnMaxWidth(e({text:r[a]},k))),0===a?t.tspan(y):t.tspan(y).newLine()})):(g&&(y=this.getTextBasedOnMaxWidth(e({text:r},k))),w=x?m.globals.dom.Paper.plain(r):m.globals.dom.Paper.text((function(t){return t.tspan(y)}))),w.attr({x:a,y:s,"text-anchor":o,"dominant-baseline":v,"font-size":n,"font-family":l,"font-weight":h,fill:c,class:"apexcharts-text "+p}),w.node.style.fontFamily=l,w.node.style.opacity=d,w}},{key:"createGroupWithAttributes",value:function(t,e,i,a){var s=this.group();return i.forEach((function(t){return s.add(t)})),s.attr({class:a.class?a.class:"",cy:e,cx:t}),s}},{key:"drawPlus",value:function(t,e,i,a){var s=i/2,r=this.drawLine(t,e-s,t,e+s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap),o=this.drawLine(t-s,e,t+s,e,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap);return this.createGroupWithAttributes(t,e,[r,o],a)}},{key:"drawX",value:function(t,e,i,a){var s=i/2,r=this.drawLine(t-s,e-s,t+s,e+s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap),o=this.drawLine(t-s,e+s,t+s,e-s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap);return this.createGroupWithAttributes(t,e,[r,o],a)}},{key:"drawMarker",value:function(t,e,i){t=t||0;var a=i.pSize||0,s=null;if("X"===(null==i?void 0:i.shape)||"x"===(null==i?void 0:i.shape))s=this.drawX(t,e,a,i);else if("plus"===(null==i?void 0:i.shape)||"+"===(null==i?void 0:i.shape))s=this.drawPlus(t,e,a,i);else if("square"===i.shape||"rect"===i.shape){var r=void 0===i.pRadius?a/2:i.pRadius;null!==e&&a||(a=0,r=0);var o=1.2*a+r,n=this.drawRect(o,o,o,o,r);n.attr({x:t-o/2,y:e-o/2,cx:t,cy:e,class:i.class?i.class:"",fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,stroke:i.pointStrokeColor,"stroke-width":i.pointStrokeWidth?i.pointStrokeWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}),s=n}else"circle"!==i.shape&&i.shape||(x.isNumber(e)||(a=0,e=0),s=this.drawCircle(a,{cx:t,cy:e,class:i.class?i.class:"",stroke:i.pointStrokeColor,fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,"stroke-width":i.pointStrokeWidth?i.pointStrokeWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}));return s}},{key:"pathMouseEnter",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);if("function"==typeof i.config.chart.events.dataPointMouseEnter&&i.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseEnter",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),("none"===i.config.states.active.filter.type||"true"!==t.node.getAttribute("selected"))&&"none"!==i.config.states.hover.filter.type&&!i.globals.isTouchDevice){var o=i.config.states.hover.filter;a.applyFilter(t,s,o.type,o.value)}}},{key:"pathMouseLeave",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);"function"==typeof i.config.chart.events.dataPointMouseLeave&&i.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseLeave",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),"none"!==i.config.states.active.filter.type&&"true"===t.node.getAttribute("selected")||"none"!==i.config.states.hover.filter.type&&a.getDefaultFilter(t,s)}},{key:"pathMouseDown",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10),o="false";if("true"===t.node.getAttribute("selected")){if(t.node.setAttribute("selected","false"),i.globals.selectedDataPoints[s].indexOf(r)>-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a<e.globals.series[e.globals.maxValsInArrayIndex].length;a++){for(var s=0,r=0;r<e.globals.series.length;r++)void 0!==e.globals.series[r][a]&&-1===t.indexOf(r)&&(s+=e.globals.series[r][a]);i.push(s)}return i}},{key:"getSeriesTotalByIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,e){a.indexOf(t.name)>-1&&s.push(e)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;a<t.length;a++)i+=t[a];else i+=t;return i}))}},{key:"getSeriesTotalsXRange",value:function(t,e){var i=this.w;return i.globals.series.map((function(a,s){for(var r=0,o=0;o<a.length;o++)i.globals.seriesX[s][o]>t&&i.globals.seriesX[s][o]<e&&(r+=a[o]);return r}))}},{key:"getPercentSeries",value:function(){var t=this.w;t.globals.seriesPercent=t.globals.series.map((function(e,i){var a=[];if(Array.isArray(e))for(var s=0;s<e.length;s++){var r=t.globals.stackedSeriesTotals[s],o=0;r&&(o=100*e[s]/r),a.push(o)}else{var n=100*e/t.globals.seriesTotals.reduce((function(t,e){return t+e}),0);a.push(n)}return a}))}},{key:"getCalculatedRatios",value:function(){var t,e,i,a=this.w.globals,s=[],r=0,o=[],n=.1,l=0;if(a.yRange=[],a.isMultipleYAxis)for(var h=0;h<a.minYArr.length;h++)a.yRange.push(Math.abs(a.minYArr[h]-a.maxYArr[h])),o.push(0);else a.yRange.push(Math.abs(a.minY-a.maxY));a.xRange=Math.abs(a.maxX-a.minX),a.zRange=Math.abs(a.maxZ-a.minZ);for(var c=0;c<a.yRange.length;c++)s.push(a.yRange[c]/a.gridHeight);if(e=a.xRange/a.gridWidth,t=a.yRange/a.gridWidth,i=a.xRange/a.gridHeight,(r=a.zRange/a.gridHeight*16)||(r=1),a.minY!==Number.MIN_VALUE&&0!==Math.abs(a.minY)&&(a.hasNegs=!0),a.isMultipleYAxis){o=[];for(var d=0;d<s.length;d++)o.push(-a.minYArr[d]/s[d])}else o.push(-a.minY/s[0]),a.minY!==Number.MIN_VALUE&&0!==Math.abs(a.minY)&&(n=-a.minY/t,l=a.minX/e);return{yRatio:s,invertedYRatio:t,zRatio:r,xRatio:e,invertedXRatio:i,baseLineInvertedY:n,baseLineY:o,baseLineX:l}}},{key:"getLogSeries",value:function(t){var e=this,i=this.w;return i.globals.seriesLog=t.map((function(t,a){return i.config.yaxis[a]&&i.config.yaxis[a].logarithmic?t.map((function(t){return null===t?null:e.getLogVal(i.config.yaxis[a].logBase,t,a)})):t})),i.globals.invalidLogScale?t:i.globals.seriesLog}},{key:"getBaseLog",value:function(t,e){return Math.log(e)/Math.log(t)}},{key:"getLogVal",value:function(t,e,i){if(0===e)return 0;var a=this.w,s=0===a.globals.minYArr[i]?-1:this.getBaseLog(t,a.globals.minYArr[i]),r=(0===a.globals.maxYArr[i]?0:this.getBaseLog(t,a.globals.maxYArr[i]))-s;return e<1?e/r:(this.getBaseLog(t,e)-s)/r}},{key:"getLogYRatios",value:function(t){var e=this,i=this.w,a=this.w.globals;return a.yLogRatio=t.slice(),a.logYRange=a.yRange.map((function(t,s){if(i.config.yaxis[s]&&e.w.config.yaxis[s].logarithmic){var r,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;return a.seriesLog.forEach((function(t,e){t.forEach((function(t){i.config.yaxis[e]&&i.config.yaxis[e].logarithmic&&(o=Math.max(t,o),n=Math.min(t,n))}))})),r=Math.pow(a.yRange[s],Math.abs(n-o)/a.yRange[s]),a.yLogRatio[s]=r/a.gridHeight,r}})),a.invalidLogScale?t.slice():a.yLogRatio}}],[{key:"checkComboSeries",value:function(t){var e=!1,i=0,a=0;return t.length&&void 0!==t[0].type&&t.forEach((function(t){"bar"!==t.type&&"column"!==t.type&&"candlestick"!==t.type&&"boxPlot"!==t.type||i++,void 0!==t.type&&a++})),a>0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:"extendArrayProps",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(r+1)+")");o&&(i=parseFloat(o.getAttribute("y"))),void 0!==e.seriesIndex&&s.globals.barHeight&&(i=i-s.globals.barHeight/2*(s.globals.series.length-1)+s.globals.barHeight*e.seriesIndex)}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),i}},{key:"getX1X2",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),"x1"===t&&"string"==typeof e.x&&e.x.indexOf("px")>-1&&(o=parseFloat(e.x)),"x2"===t&&"string"==typeof e.x2&&e.x2.indexOf("px")>-1&&(n=parseFloat(e.x2)),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(o=o-i.globals.barWidth/2*(i.globals.series.length-1)+i.globals.barWidth*e.seriesIndex),"x1"===t?o:n}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2("x2",t))<r){var h=r;r=a,a=h}var c=this.annoCtx.graphics.drawRect(r+t.offsetX,0+t.offsetY,a-r,s.globals.gridHeight+t.offsetY,0,t.fillColor,t.opacity,1,t.borderColor,n);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=this.annoCtx.graphics.getTextRects(o,parseFloat(t.label.style.fontSize)),g="top"===t.label.position?4:"center"===t.label.position?s.globals.gridHeight/2+("vertical"===t.label.orientation?d.width/2:0):s.globals.gridHeight,u=this.annoCtx.graphics.drawText({x:r+t.label.offsetX,y:g+t.label.offsetY-("vertical"===t.label.orientation?"top"===t.label.position?d.width/2-12:-d.width/2:0),text:o,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-xaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});u.attr({rel:i}),e.appendChild(u.node),this.annoCtx.helpers.setOrientations(t,i)}}},{key:"drawXAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-xaxis-annotations"});return e.config.annotations.xaxis.map((function(e,a){t.addXaxisAnnotation(e,i.node,a)})),i}}]),t}(),A=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addYaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2("y1",t),n=t.label.text;if(null===t.y2||void 0===t.y2){var l=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getY1Y2("y2",t))>o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add("apexcharts-annotation-rect"),c.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});g.attr({rel:i}),e.appendChild(g.node)}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){this.w;var a=this.helpers.getX1X2("x1",t),s=this.helpers.getY1Y2("y1",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:"",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});h.attr({transform:"translate(".concat(a+t.customSVG.offsetX,", ").concat(s+t.customSVG.offsetY,")")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&o.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener("click",t.click.bind(this,t))}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:"en",options:{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"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[C],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}},barLabels:{enabled:!1,margin:5,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-svg":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),I=L.globals.dom.baseEl.querySelector(b);I&&I.appendChild(P.node);var M=P.bbox();if(s){var T=this.graphics.drawRect(M.x-m,M.y-C,M.width+m+w,M.height+A+C,p,d||"transparent",1,g,f,u);I.insertBefore(T.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-svg":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new L,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),I=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return"number"!=typeof t&&!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length<e;)i="0"+i;return i}var h=a?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\])yyyy+/g,"$1"+h)).replace(/(^|[^\\])yy/g,"$1"+h.toString().substr(2,2))).replace(/(^|[^\\])y/g,"$1"+h);var c=(a?t.getUTCMonth():t.getMonth())+1;e=(e=(e=(e=e.replace(/(^|[^\\])MMMM+/g,"$1"+s[0])).replace(/(^|[^\\])MMM/g,"$1"+r[0])).replace(/(^|[^\\])MM/g,"$1"+l(c))).replace(/(^|[^\\])M/g,"$1"+c);var d=a?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\])dddd+/g,"$1"+o[0])).replace(/(^|[^\\])ddd/g,"$1"+n[0])).replace(/(^|[^\\])dd/g,"$1"+l(d))).replace(/(^|[^\\])d/g,"$1"+d);var g=a?t.getUTCHours():t.getHours(),p=g>12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),M=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return r(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new I(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;return x.isNumber(t)&&(t=0!==a.globals.yValueDecimal?t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal):a.globals.maxYArr[i]-a.globals.minYArr[i]<5?t.toFixed(1):t.toFixed(0)),t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),T=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:"",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new M(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(a).formatDate,w:l}));"function"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x="",b="",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var m=new I(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},z=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='<span class="value start-value">\n '.concat(s,'\n </span> <span class="separator">-</span> <span class="value end-value">\n ').concat(r,"\n </span>");return'<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: '+e+'">'+(i||"")+'</span></div><div> <span class="category">'+a+": </span> "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[o].type||"rangeBar"===t.w.config.series[o].type?c:"<span>".concat(h,"</span>"):c)+" </div></div>"},X=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.hideYAxis();return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),e(e({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=T(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return z(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=T(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return z(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=T(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return z(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'<div class="apexcharts-custom-tooltip">\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": <strong>").concat(t.globals.series[e][i],"</strong>\n </div>"):'<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(t.config.chart.type,'">')+"<div>".concat(a[0],': <span class="value">')+r+"</span></div>"+"<div>".concat(a[1],': <span class="value">')+o+"</span></div>"+(n?"<div>".concat(a[2],': <span class="value">')+n+"</span></div>":"")+"<div>".concat(a[3],': <span class="value">')+l+"</span></div>"+"<div>".concat(a[4],': <span class="value">')+h+"</span></div></div>"}}]),t}(),E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new X(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l,h,c,d,g,u,p,f,b={};b=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),null!==(l=a.plotOptions)&&void 0!==l&&null!==(h=l.bar)&&void 0!==h&&h.isFunnel&&(b=r.funnel()),a.chart.stacked&&"bar"===a.chart.type&&(b=r.stackedBars()),null!==(c=a.chart.brush)&&void 0!==c&&c.enabled&&(b=r.brush(b)),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(d=a.plotOptions)&&void 0!==d&&null!==(g=d.bar)&&void 0!==g&&g.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(u=(a=this.checkForCatToNumericXAxis(this.chartType,b,a)).chart.sparkline)&&void 0!==u&&u.enabled||null!==(p=window.Apex.chart)&&void 0!==p&&null!==(f=p.sparkline)&&void 0!==f&&f.enabled)&&(b=r.sparkline(b)),n=x.extend(o,b)}var v=x.extend(n,window.Apex);return o=x.extend(v,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new X(i),o=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Y=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]]}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),F=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new E(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Y).init(t)}}}]),t}(),R=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w,i=e.config.chart.type;return("bar"===i||"rangeBar"===i)&&e.config.plotOptions.bar.distributed||"heatmap"===i||"treemap"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o="#fff",console.warn("undefined color - ApexCharts"));var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),"gradient"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber<c.length?c[t.seriesNumber]:c[0]:c,width:t.width?t.width:void 0,height:t.height?t.height:void 0,patternUnits:t.patternUnits,patternID:"pattern".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d)}),i="url(#pattern".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d,")")}else i="gradient"===n?s:"pattern"===n?a:h;return t.solid&&(i=h),i}},{key:"getFillType",value:function(t){var e=this.w;return Array.isArray(e.config.fill.type)?e.config.fill.type[t]:e.config.fill.type}},{key:"getFillColors",value:function(){var t=this.w,e=t.config,i=this.opts,a=[];return t.globals.comboCharts?"line"===t.config.series[this.seriesIndex].type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors):"line"===e.chart.type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors),void 0!==i.fillColors&&(a=[],Array.isArray(i.fillColors)?a=i.fillColors.slice():a.push(i.fillColors)),a}},{key:"handlePatternFill",value:function(t){var e=t.fillConfig,i=t.patternFill,a=t.fillColor,s=t.fillOpacity,r=t.defaultColor,o=this.w.config.fill;e&&(o=e);var n=this.opts,l=new m(this.ctx),h=Array.isArray(o.pattern.strokeWidth)?o.pattern.strokeWidth[this.seriesIndex]:o.pattern.strokeWidth,c=a;Array.isArray(o.pattern.style)?i=void 0!==o.pattern.style[n.seriesNumber]?l.drawPattern(o.pattern.style[n.seriesNumber],o.pattern.width,o.pattern.height,c,h,s):r:i=l.drawPattern(o.pattern.style,o.pattern.width,o.pattern.height,c,h,s);return i}},{key:"handleGradientFill",value:function(t){var i=t.fillColor,a=t.fillOpacity,s=t.fillConfig,r=t.i,o=this.w.config.fill;s&&(o=e(e({},o),s));var n,l=this.opts,h=new m(this.ctx),c=new x,d=o.gradient.type,g=i,u=void 0===o.gradient.opacityFrom?a:Array.isArray(o.gradient.opacityFrom)?o.gradient.opacityFrom[r]:o.gradient.opacityFrom;g.indexOf("rgba")>-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf("rgba")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf("rgb")>-1&&(g=x.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),H=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length<t.globals.series.length+1)for(var e=0;e<=t.globals.series.length;e++)void 0===t.globals.markers.size[e]&&t.globals.markers.size.push(t.globals.markers.size[0])}else t.globals.markers.size=t.config.series.map((function(e){return t.config.markers.size}))}},{key:"plotChartMarkers",value:function(t,e,i,a){var s,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g<l.x.length;g++){var u=i;1===i&&0===g&&(u=0),1===i&&1===g&&(u=1);var p="apexcharts-marker";if("line"!==o.config.chart.type&&"area"!==o.config.chart.type||o.globals.comboCharts||o.config.tooltip.intersect||(p+=" no-pointer-events"),(Array.isArray(o.config.markers.size)?o.globals.markers.size[e]>0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<0||l.x[g]>o.globals.gridWidth||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),D=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;c<o.x.length;c++){var d=e+1,g=!0;0===e&&0===c&&(d=0),0===e&&1===c&&(d=1);var u=0,p=a.globals.markers.size[r];if(n!==1/0){var f=a.config.plotOptions.bubble;p=a.globals.seriesZ[r][d],f.zScaling&&(p/=n),f.minBubbleRadius&&p<f.minBubbleRadius&&(p=f.minBubbleRadius),f.maxBubbleRadius&&p>f.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new R(this.ctx),g=new H(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;P<n.globals.collapsedSeries.length;P++)n.globals.collapsedSeries[P].index===s&&(L=1,a=0);0===t&&0===e&&(a=0),h.animateCircle(f,{cx:k,cy:A,r:S},{cx:t,cy:e,r:a},L,n.globals.easing)}else f.attr({r:a});return f.attr({rel:r,j:r,index:s,"default-marker-size":a}),c.setSelectionFilter(f,s,r),g.addEvents(f),f.node.classList.add("apexcharts-marker"),f}},{key:"centerTextInBubble",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),O=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"dataLabelsCorrection",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new m(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width||e>p.y+p.height||e+d<p.y||t+c<p.x)&&(l=!0)}return(0===s||r)&&(l=!0),{x:t,y:e,textRects:h,drawnextLabel:l}}},{key:"drawDataLabel",value:function(t){var e=this,i=t.type,a=t.pos,s=t.i,r=t.j,o=t.isRangeStart,n=t.strokeWidth,l=void 0===n?2:n,h=this.w,c=new m(this.ctx),d=h.config.dataLabels,g=0,u=0,p=r,f=null;if(!d.enabled||!Array.isArray(a.x))return f;f=c.group({class:"apexcharts-data-labels"});for(var x=0;x<a.x.length;x++)if(g=a.x[x]+d.offsetX,u=a.y[x]+d.offsetY+l,!isNaN(g)){1===r&&0===x&&(p=0),1===r&&1===x&&(p=1);var b=h.globals.series[s][p];"rangeArea"===i&&(b=o?h.globals.seriesRangeStart[s][p]:h.globals.seriesRangeEnd[s][p]);var v="",y=function(t){return h.config.dataLabels.formatter(t,{ctx:e.ctx,seriesIndex:s,dataPointIndex:p,w:h})};if("bubble"===h.config.chart.type)v=y(b=h.globals.seriesZ[s][p]),u=a.y[x],u=new D(this.ctx).centerTextInBubble(u,s,p).y;else void 0!==b&&(v=y(b));this.plotDataLabelsText({x:g,y:u,text:v,i:s,j:p,parent:f,offsetCorrection:!0,dataLabelsConfig:h.config.dataLabels})}return f}},{key:"plotDataLabelsText",value:function(t){var e=this.w,i=new m(this.ctx),a=t.x,s=t.y,r=t.i,o=t.j,n=t.text,l=t.textAnchor,h=t.fontSize,c=t.parent,d=t.dataLabelsConfig,g=t.color,u=t.alwaysDrawDataLabel,p=t.offsetCorrection;if(!(Array.isArray(e.config.dataLabels.enabledOnSeries)&&e.config.dataLabels.enabledOnSeries.indexOf(r)<0)){var f={x:a,y:s,drawnextLabel:!0,textRects:null};p&&(f=this.dataLabelsCorrection(a,s,n,r,o,u,parseInt(d.style.fontSize,10))),e.globals.zoomed||(a=f.x,s=f.y),f.textRects&&(a<-20-f.textRects.width||a>e.globals.gridWidth+f.textRects.width+30)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i<e.length;i++){var a=e[i],s=a.getBBox(),r=null;if(s.width&&s.height&&(r=this.addBackgroundToDataLabel(a,s)),r){a.parentNode.insertBefore(r.node,a);var o=a.getAttribute("fill");t.config.chart.animations.enabled&&!t.globals.resized&&!t.globals.dataChanged?r.animate().attr({fill:o}):r.attr({fill:o}),a.setAttribute("fill",t.config.dataLabels.background.foreColor)}}}},{key:"bringForward",value:function(){for(var t=this.w,e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels"),i=t.globals.dom.baseEl.querySelector(".apexcharts-plot-series:last-child"),a=0;a<e.length;a++)i&&i.insertBefore(e[a],i.nextSibling)}}]),t}(),N=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return r(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(x.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a<i.length;a++)i[a].index===e&&t.node.classList.add("apexcharts-series-collapsed")}a(i.globals.collapsedSeries),a(i.globals.ancillaryCollapsedSeries)}},{key:"toggleSeries",value:function(t){var e=this.isSeriesHidden(t);return this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,e.isHidden),e.isHidden}},{key:"showSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden&&this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!0)}},{key:"hideSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden||this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!1)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i<t.length;i++)e.globals.collapsedSeriesIndices.indexOf(i)>-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null;i.globals.axisCharts||"radialBar"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"))):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']")):r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var n=0;n<a.length;n++)a[n].classList.add(this.legendInactiveClass);null!==r&&(i.globals.axisCharts||r.parentNode.classList.remove(this.legendInactiveClass),r.classList.remove(this.legendInactiveClass),null!==o&&o.classList.remove(this.legendInactiveClass))}else if("mouseout"===t.type)for(var l=0;l<a.length;l++)a[l].classList.remove(this.legendInactiveClass)}},{key:"highlightRangeInSeries",value:function(t,e){var i=this,a=this.w,s=a.globals.dom.baseEl.getElementsByClassName("apexcharts-heatmap-rect"),r=function(t){for(var e=0;e<s.length;e++)s[e].classList[t](i.legendInactiveClass)};if("mousemove"===t.type){var o=parseInt(e.getAttribute("rel"),10)-1;r("add"),function(t){for(var e=0;e<s.length;e++){var a=parseInt(s[e].getAttribute("val"),10);a>=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r<s.length:r>=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o<s.length;o++)if(s[o].hasAttribute("pathTo")){var n=s[o].getAttribute("pathTo");r.paths.push({d:n})}t.globals.previousPaths.push(r)}t.globals.previousPaths=[];["line","area","bar","rangebar","rangeArea","candlestick","radar"].forEach((function(i){for(var a,s=(a=i,t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(a,"-series .apexcharts-series"))),r=0;r<s.length;r++)e(s,r,i)})),this.handlePrevBubbleScatterPaths("bubble"),this.handlePrevBubbleScatterPaths("scatter");var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series"));if(i.length>0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r<i.length;r++)s(r);t.globals.previousPaths.push(a)},s=0;s<i.length;s++)a(s);t.globals.axisCharts||(t.globals.previousPaths=t.globals.series)}},{key:"handlePrevBubbleScatterPaths",value:function(t){var e=this.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t,"-series .apexcharts-series"));if(i.length>0)for(var a=0;a<i.length;a++){for(var s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t,"-series .apexcharts-series[data\\:realIndex='").concat(a,"'] circle")),r=[],o=0;o<s.length;o++)r.push({x:s[o].getAttribute("cx"),y:s[o].getAttribute("cy"),r:s[o].getAttribute("r")});e.globals.previousPaths.push(r)}}},{key:"clearPreviousPaths",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1}},{key:"handleNoData",value:function(){var t=this.w,e=t.config.noData,i=new m(this.ctx),a=t.globals.svgWidth/2,s=t.globals.svgHeight/2,r="middle";if(t.globals.noData=!0,t.globals.animationEnded=!0,"left"===e.align?(a=10,r="start"):"right"===e.align&&(a=t.globals.svgWidth-10,r="end"),"top"===e.verticalAlign?s=50:"bottom"===e.verticalAlign&&(s=t.globals.svgHeight-50),a+=e.offsetX,s=s+parseInt(e.style.fontSize,10)+2+e.offsetY,void 0!==e.text&&""!==e.text){var o=i.drawText({x:a,y:s,text:e.text,textAnchor:r,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:"apexcharts-text-nodata"});t.globals.dom.Paper.add(o)}}},{key:"setNullSeriesToZeroValues",value:function(t){for(var e=this.w,i=0;i<t.length;i++)if(0===t[i].length)for(var a=0;a<t[e.globals.maxValsInArrayIndex].length;a++)t[i].push(0);return t}},{key:"hasAllSeriesEqualX",value:function(){for(var t=!0,e=this.w,i=this.filteredSeriesX(),a=0;a<i.length-1;a++)if(i[a][0]!==i[a+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t,t}},{key:"filteredSeriesX",value:function(){var t=this.w.globals.seriesX.map((function(t){return t.length>0?t:[]}));return t}}]),t}(),W=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new N(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r<t[e].data.length;r++)if(void 0!==t[e].data[r][1]&&(Array.isArray(t[e].data[r][1])&&4===t[e].data[r][1].length&&!s?this.twoDSeries.push(x.parseNumber(t[e].data[r][1][3])):t[e].data[r].length>=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n<t[e].data.length;n++)void 0!==t[e].data[n][2]&&(this.threeDSeries.push(t[e].data[n][2]),a.isDataXYZ=!0)}},{key:"handleFormatXY",value:function(t,e){var i=this.w.config,a=this.w.globals,s=new I(this.ctx),r=e;a.collapsedSeriesIndices.indexOf(e)>-1&&(r=this.activeSeriesIndex);for(var o=0;o<t[e].data.length;o++)void 0!==t[e].data[o].y&&(Array.isArray(t[e].data[o].y)?this.twoDSeries.push(x.parseNumber(t[e].data[o].y[t[e].data[o].y.length-1])):this.twoDSeries.push(x.parseNumber(t[e].data[o].y))),void 0!==t[e].data[o].goals&&Array.isArray(t[e].data[o].goals)?(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(t[e].data[o].goals)):(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(null));for(var n=0;n<t[r].data.length;n++){var l="string"==typeof t[r].data[n].x,h=Array.isArray(t[r].data[n].x),c=!h&&!!s.isValidDate(t[r].data[n].x);if(l||c)if(l||i.xaxis.convertedCatToNumeric){var d=a.isBarHorizontal&&a.isRangeData;"datetime"!==i.xaxis.type||d?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[n].x),isNaN(t[r].data[n].x)||"category"===this.w.config.xaxis.type||"string"==typeof t[r].data[n].x||(a.isXNumeric=!0)):this.twoDSeriesX.push(s.parseDate(t[r].data[n].x))}else"datetime"===i.xaxis.type?this.twoDSeriesX.push(s.parseDate(t[r].data[n].x.toString())):(a.dataFormatXNumeric=!0,a.isXNumeric=!0,this.twoDSeriesX.push(parseFloat(t[r].data[n].x)));else h?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[n].x)):(a.isXNumeric=!0,a.dataFormatXNumeric=!0,this.twoDSeriesX.push(t[r].data[n].x))}if(t[e].data[0]&&void 0!==t[e].data[0].z){for(var g=0;g<t[e].data.length;g++)this.threeDSeries.push(t[e].data[g].z);a.isDataXYZ=!0}}},{key:"handleRangeData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleRangeDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleRangeDataFormat("xy",t,e)),i.seriesRangeStart.push(a.start),i.seriesRangeEnd.push(a.end),i.seriesRange.push(a.rangeUniques),i.seriesRange.forEach((function(t,e){t&&t.forEach((function(t,e){t.y.forEach((function(e,i){for(var a=0;a<t.y.length;a++)if(i!==a){var s=e.y1,r=e.y2,o=t.y[a].y1;s<=t.y[a].y2&&o<=r&&(t.overlaps.indexOf(e.rangeName)<0&&t.overlaps.push(e.rangeName),t.overlaps.indexOf(t.y[a].rangeName)<0&&t.overlaps.push(t.y[a].rangeName))}}))}))})),a}},{key:"handleCandleStickBoxData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleCandleStickBoxDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleCandleStickBoxDataFormat("xy",t,e)),i.seriesCandleO[e]=a.o,i.seriesCandleH[e]=a.h,i.seriesCandleM[e]=a.m,i.seriesCandleL[e]=a.l,i.seriesCandleC[e]=a.c,a}},{key:"handleRangeDataFormat",value:function(t,e,i){var a=[],s=[],r=e[i].data.filter((function(t,e,i){return e===i.findIndex((function(e){return e.x===t.x}))})).map((function(t,e){return{x:t.x,overlaps:[],y:[]}}));if("array"===t)for(var o=0;o<e[i].data.length;o++)Array.isArray(e[i].data[o])?(a.push(e[i].data[o][1][0]),s.push(e[i].data[o][1][1])):(a.push(e[i].data[o]),s.push(e[i].data[o]));else if("xy"===t)for(var n=function(t){var o=Array.isArray(e[i].data[t].y),n=x.randomId(),l=e[i].data[t].x,h={y1:o?e[i].data[t].y[0]:e[i].data[t].y,y2:o?e[i].data[t].y[1]:e[i].data[t].y,rangeName:n};e[i].data[t].rangeName=n;var c=r.findIndex((function(t){return t.x===l}));r[c].y.push(h),a.push(h.y1),s.push(h.y2)},l=0;l<e[i].data.length;l++)n(l);return{start:a,end:s,rangeUniques:r}}},{key:"handleCandleStickBoxDataFormat",value:function(t,e,i){var a=this.w,s="boxPlot"===a.config.chart.type||"boxPlot"===a.config.series[i].type,r=[],o=[],n=[],l=[],h=[];if("array"===t)if(s&&6===e[i].data[0].length||!s&&5===e[i].data[0].length)for(var c=0;c<e[i].data.length;c++)r.push(e[i].data[c][1]),o.push(e[i].data[c][2]),s?(n.push(e[i].data[c][3]),l.push(e[i].data[c][4]),h.push(e[i].data[c][5])):(l.push(e[i].data[c][3]),h.push(e[i].data[c][4]));else for(var d=0;d<e[i].data.length;d++)Array.isArray(e[i].data[d][1])&&(r.push(e[i].data[d][1][0]),o.push(e[i].data[d][1][1]),s?(n.push(e[i].data[d][1][2]),l.push(e[i].data[d][1][3]),h.push(e[i].data[d][1][4])):(l.push(e[i].data[d][1][2]),h.push(e[i].data[d][1][3])));else if("xy"===t)for(var g=0;g<e[i].data.length;g++)Array.isArray(e[i].data[g].y)&&(r.push(e[i].data[g].y[0]),o.push(e[i].data[g].y[1]),s?(n.push(e[i].data[g].y[2]),l.push(e[i].data[g].y[3]),h.push(e[i].data[g].y[4])):(l.push(e[i].data[g].y[2]),h.push(e[i].data[g].y[3])));return{o:r,h:o,m:n,l:l,c:h}}},{key:"parseDataAxisCharts",value:function(t){var e,i=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.ctx,s=this.w.config,r=this.w.globals,o=new I(a),n=s.labels.length>0?s.labels.slice():s.xaxis.categories.slice();if(r.isRangeBar="rangeBar"===s.chart.type&&r.isBarHorizontal,r.hasXaxisGroups="category"===s.xaxis.type&&s.xaxis.group.groups.length>0,r.hasXaxisGroups&&(r.groups=s.xaxis.group.groups),r.hasSeriesGroups=null===(e=t[0])||void 0===e?void 0:e.group,r.hasSeriesGroups){var l=[],h=u(new Set(t.map((function(t){return t.group}))));t.forEach((function(t,e){var i=h.indexOf(t.group);l[i]||(l[i]=[]),l[i].push(t.name)})),r.seriesGroups=l}for(var c=function(){for(var t=0;t<n.length;t++)if("string"==typeof n[t]){if(!o.isValidDate(n[t]))throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");i.twoDSeriesX.push(o.parseDate(n[t]))}else i.twoDSeriesX.push(n[t])},d=0;d<t.length;d++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===t[d].data)return void console.error("It is a possibility that you may have not included 'data' property in series.");if("rangeBar"!==s.chart.type&&"rangeArea"!==s.chart.type&&"rangeBar"!==t[d].type&&"rangeArea"!==t[d].type||(r.isRangeData=!0,"rangeBar"!==s.chart.type&&"rangeArea"!==s.chart.type||this.handleRangeData(t,d)),this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,d):this.isFormatXY()&&this.handleFormatXY(t,d),"candlestick"!==s.chart.type&&"candlestick"!==t[d].type&&"boxPlot"!==s.chart.type&&"boxPlot"!==t[d].type||this.handleCandleStickBoxData(t,d),r.series.push(this.twoDSeries),r.labels.push(this.twoDSeriesX),r.seriesX.push(this.twoDSeriesX),r.seriesGoals=this.seriesGoals,d!==this.activeSeriesIndex||this.fallbackToCategory||(r.isXNumeric=!0);else{"datetime"===s.xaxis.type?(r.isXNumeric=!0,c(),r.seriesX.push(this.twoDSeriesX)):"numeric"===s.xaxis.type&&(r.isXNumeric=!0,n.length>0&&(this.twoDSeriesX=n,r.seriesX.push(this.twoDSeriesX))),r.labels.push(this.twoDSeriesX);var g=t[d].data.map((function(t){return x.parseNumber(t)}));r.series.push(g)}r.seriesZ.push(this.threeDSeries),void 0!==t[d].name?r.seriesNames.push(t[d].name):r.seriesNames.push("series-"+parseInt(d+1,10)),void 0!==t[d].color?r.seriesColors.push(t[d].color):r.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a<e.series.length;a++)void 0===e.seriesNames[a]&&e.seriesNames.push("series-"+(a+1));return this.w}},{key:"handleExternalLabelsData",value:function(t){var e=this.w.config,i=this.w.globals;if(e.xaxis.categories.length>0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new X(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o<s[r].length;o++)a.push(o+1);else for(var n=0;n<e.series[e.maxValsInArrayIndex].length;n++)a.push(n+1);e.seriesX=[];for(var l=0;l<t.length;l++)e.seriesX.push(a);this.w.globals.isBarHorizontal||(e.isXNumeric=!0)}if(0===a.length){a=e.axisCharts?[]:e.series.map((function(t,e){return e+1}));for(var h=0;h<t.length;h++)e.seriesX.push(a)}e.labels=a,i.xaxis.convertedCatToNumeric&&(e.categoryLabels=a.map((function(t){return i.xaxis.labels.formatter(t)}))),e.noLabelsProvided=!0}},{key:"parseData",value:function(t){var e=this.w,i=e.config,a=e.globals;if(this.excludeCollapsedSeriesInYAxis(),this.fallbackToCategory=!1,this.ctx.core.resetGlobals(),this.ctx.core.isMultipleY(),a.axisCharts?(this.parseDataAxisCharts(t),this.coreUtils.getLargestSeries()):this.parseDataNonAxisCharts(t),i.chart.stacked){var s=new N(this.ctx);a.series=s.setNullSeriesToZeroValues(a.series)}this.coreUtils.getSeriesTotals(),a.axisCharts&&(a.stackedSeriesTotals=this.coreUtils.getStackedSeriesTotals(),a.stackedSeriesTotalsByGroups=this.coreUtils.getStackedSeriesTotalsByGroups()),this.coreUtils.getPercentSeries(),a.dataFormatXNumeric||a.isXNumeric&&("numeric"!==i.xaxis.type||0!==i.labels.length||0!==i.xaxis.categories.length)||this.handleExternalLabelsData(t);for(var r=this.coreUtils.getCategoryLabels(a.labels),o=0;o<r.length;o++)if(Array.isArray(r[o])){a.isMultiLineX=!0;break}}},{key:"excludeCollapsedSeriesInYAxis",value:function(){var t=this,e=this.w;e.globals.ignoreYAxisIndexes=e.globals.collapsedSeries.map((function(i,a){if(t.w.globals.isMultipleYAxis&&!e.config.chart.stacked)return i.index}))}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new M(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new I(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new I(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),g=x===f,i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&("NaN"===String(h)||s.indexOf(h)>=0&&y)&&(h=""),{x:i,text:h,textRect:v,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x<o.textRect.width/(r.globals.rotateXLabels?Math.abs(r.config.xaxis.labels.rotate)/12:1.01)+o.x&&(e.text="")}return e}},{key:"checkForReversedLabels",value:function(t,e){var i=this.w;return i.config.yaxis[t]&&i.config.yaxis[t].reversed&&e.reverse(),e}},{key:"isYAxisHidden",value:function(t){var e=this.w,i=new y(this.ctx);return!e.config.yaxis[t].show||!e.config.yaxis[t].showForNullSeries&&i.isSeriesNull(t)&&-1===e.globals.collapsedSeriesIndices.indexOf(t)}},{key:"getYAxisForeColor",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:"drawYAxisTicks",value:function(t,e,i,a,s,r,o){var n=this.w,l=new m(this.ctx),h=n.globals.translateY;if(a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),"heatmap"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],p="",f=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),b=function(t){return"datetime"===l.config.xaxis.type&&String(t).length>=10},v=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),m=new W(this.ctx),y=new B(this.ctx),w=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new N(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=y.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join("")},k=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(v)).map((function(){return""}));for(var a=0;a<t.data.length;a++){d=[];var s=w(a);if(s||(m.isFormatXY()?s=i[e].data[a].x:m.isFormat2DArray()&&(s=i[e].data[a]?i[e].data[a][0]:"")),0===e){d.push(b(s)?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join(""));for(var o=0;o<l.globals.series.length;o++){var n;if(m.isFormatXY())d.push(null===(n=i[o].data[a])||void 0===n?void 0:n.y);else d.push(f[o][a])}}("candlestick"===l.config.chart.type||t.type&&"candlestick"===t.type)&&(d.pop(),d.push(l.globals.seriesCandleO[e][a]),d.push(l.globals.seriesCandleH[e][a]),d.push(l.globals.seriesCandleL[e][a]),d.push(l.globals.seriesCandleC[e][a])),("boxPlot"===l.config.chart.type||t.type&&"boxPlot"===t.type)&&(d.pop(),d.push(l.globals.seriesCandleO[e][a]),d.push(l.globals.seriesCandleH[e][a]),d.push(l.globals.seriesCandleM[e][a]),d.push(l.globals.seriesCandleL[e][a]),d.push(l.globals.seriesCandleC[e][a])),"rangeBar"===l.config.chart.type&&(d.pop(),d.push(l.globals.seriesRangeStart[e][a]),d.push(l.globals.seriesRangeEnd[e][a])),d.length&&g.push(d.join(r))}}};d.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(d.push("minimum"),d.push("q1"),d.push("median"),d.push("q3"),d.push("maximum")):"candlestick"===l.config.chart.type?(d.push("open"),d.push("high"),d.push("low"),d.push("close")):"rangeBar"===l.config.chart.type?(d.push("minimum"),d.push("maximum")):i.map((function(t,e){var i=(t.name?t.name:"series-".concat(e))+"";l.globals.axisCharts&&d.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(d.push(l.config.chart.toolbar.export.csv.headerValue),g.push(d.join(r))),l.globals.allSeriesHasEqualX||!l.globals.axisCharts||l.config.xaxis.categories.length||l.config.labels.length?i.map((function(t,e){l.globals.axisCharts?k(t,e):((d=[]).push(l.globals.labels[e].split(r).join("")),d.push(f[e]),g.push(d.join(r)))})):(h=new Set,c={},i.forEach((function(t,e){null==t||t.data.forEach((function(t){var a,s;if(m.isFormatXY())a=t.x,s=t.y;else{if(!m.isFormat2DArray())return;a=t[0],s=t[1]}c[a]||(c[a]=Array(i.length).fill("")),c[a][e]=s,h.add(a)}))})),d.length&&g.push(d.join(r)),Array.from(h).sort().forEach((function(t){g.push([b(t)&&"datetime"===l.config.xaxis.type?l.config.chart.toolbar.export.csv.dateFormatter(t):x.isNumber(t)?t:t.split(r).join(""),c[t].join(r)])}))),p+=g.join(n),this.triggerDownload("data:text/csv; charset=utf-8,"+encodeURIComponent("\ufeff"+p),a||l.config.chart.toolbar.export.csv.filename,".csv")}},{key:"triggerDownload",value:function(t,e,i){var a=document.createElement("a");a.href=t,a.download=(e||this.w.globals.chartID)+i,document.body.appendChild(a),a.click(),document.body.removeChild(a)}}]),t}(),V=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.axesUtils=new B(e),this.xaxisLabels=s.globals.labels.slice(),s.globals.timescaleLabels.length>0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r<this.xaxisLabels.length;r++)s.push(this.xaxisLabels[r]);if(this.drawXAxisLabelAndGroup(!0,e,a,s,t.globals.isXNumeric,(function(t,e){return e})),t.globals.hasXaxisGroups){var o=t.globals.groups;s=[];for(var n=0;n<o.length;n++)s.push(o[n].title);var l={};t.config.xaxis.group.style&&(l.xaxisFontSize=t.config.xaxis.group.style.fontSize,l.xaxisFontFamily=t.config.xaxis.group.style.fontFamily,l.xaxisForeColors=t.config.xaxis.group.style.colors,l.fontWeight=t.config.xaxis.group.style.fontWeight,l.cssClass=t.config.xaxis.group.style.cssClass),this.drawXAxisLabelAndGroup(!1,e,a,s,!1,(function(t,e){return o[t].cols*e}),l)}if(void 0!==t.config.xaxis.title.text){var h=e.group({class:"apexcharts-xaxis-title"}),c=e.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.offY+parseFloat(this.xaxisFontSize)+("bottom"===t.config.xaxis.position?t.globals.xAxisLabelsHeight:-t.globals.xAxisLabelsHeight-10)+t.config.xaxis.title.offsetY,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});h.add(c),i.add(h)}if(t.config.xaxis.axisBorder.show){var d=t.globals.barPadForNumericAxis,g=e.drawLine(t.globals.padHorizontal+t.config.xaxis.axisBorder.offsetX-d,this.offY,this.xaxisBorderWidth+d,this.offY,t.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(g):i.add(g)}return i}},{key:"drawXAxisLabelAndGroup",value:function(t,e,i,a,s,r){var o,n=this,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}s<v-1&&(b+=r(s+1,o))},k=0;k<=v-1;k++)w(k)}},{key:"drawXaxisInversed",value:function(t){var e,i,a=this,s=this.w,r=new m(this.ctx),o=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,n=r.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),l=r.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+o+", 0)"});n.add(l);var h=[];if(s.config.yaxis[t].show)for(var c=0;c<this.xaxisLabels.length;c++)h.push(this.xaxisLabels[c]);e=s.globals.gridHeight/h.length,i=-e/2.2;var d=s.globals.yLabelFormatters[0],g=s.config.yaxis[0].labels;if(g.show)for(var u=function(o){var n=void 0===h[o]?"":h[o];n=d(n,{seriesIndex:t,dataPointIndex:o,w:s});var c=a.axesUtils.getYAxisForeColor(g.style.colors,t),u=0;Array.isArray(n)&&(u=n.length/2*parseInt(g.style.fontSize,10));var p=g.offsetX-15,f="end";a.yaxis.opposite&&(f="start"),"left"===s.config.yaxis[0].labels.align?(p=g.offsetX,f="start"):"center"===s.config.yaxis[0].labels.align?(p=g.offsetX,f="middle"):"right"===s.config.yaxis[0].labels.align&&(f="end");var x=r.drawText({x:p,y:i+e+g.offsetY-u,text:n,textAnchor:f,foreColor:Array.isArray(c)?c[o]:c,fontSize:g.style.fontSize,fontFamily:g.style.fontFamily,fontWeight:g.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+g.style.cssClass,maxWidth:g.maxWidth});l.add(x),x.on("click",(function(t){if("function"==typeof s.config.chart.events.xAxisLabelClick){var e=Object.assign({},s,{labelIndex:o});s.config.chart.events.xAxisLabelClick(t,a.ctx,e)}}));var b=document.createElementNS(s.globals.SVGNS,"title");if(b.textContent=Array.isArray(n)?n.join(" "):n,x.node.appendChild(b),0!==s.config.yaxis[t].labels.rotate){var v=r.rotateAroundCenter(x.node);x.node.setAttribute("transform","rotate(".concat(s.config.yaxis[t].labels.rotate," 0 ").concat(v.y,")"))}i+=e},p=0;p<=h.length-1;p++)u(p);if(void 0!==s.config.yaxis[0].title.text){var f=r.group({class:"apexcharts-yaxis-title apexcharts-xaxis-title-inversed",transform:"translate("+o+", 0)"}),x=r.drawText({x:s.config.yaxis[0].title.offsetX,y:s.globals.gridHeight/2+s.config.yaxis[0].title.offsetY,text:s.config.yaxis[0].title.text,textAnchor:"middle",foreColor:s.config.yaxis[0].title.style.color,fontSize:s.config.yaxis[0].title.style.fontSize,fontWeight:s.config.yaxis[0].title.style.fontWeight,fontFamily:s.config.yaxis[0].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+s.config.yaxis[0].title.style.cssClass});f.add(x),n.add(f)}var b=0;this.isCategoryBarHorizontal&&s.config.yaxis[0].opposite&&(b=s.globals.gridWidth);var v=s.config.xaxis.axisBorder;if(v.show){var y=r.drawLine(s.globals.padHorizontal+v.offsetX+b,1+v.offsetY,s.globals.padHorizontal+v.offsetX+b,s.globals.gridHeight+v.offsetY,v.color,0);this.elgrid&&this.elgrid.elGridBorders&&s.config.grid.show?this.elgrid.elGridBorders.add(y):n.add(y)}return s.config.yaxis[0].axisTicks.show&&this.axesUtils.drawYAxisTicks(b,h.length,s.config.yaxis[0].axisBorder,s.config.yaxis[0].axisTicks,0,e,n),n}},{key:"drawXaxisTicks",value:function(t,e,i){var a=this.w,s=t;if(!(t<0||t-2>a.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s<i;s++)a=this.xaxisLabels[s].position,e.push(a);else for(var r=i,o=0;o<r;o++){var n=r;t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(n-=1),a+=t.globals.gridWidth/n,e.push(a)}return e}},{key:"xAxisLabelCorrections",value:function(){var t=this.w,e=new m(this.ctx),i=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text tspan");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var o=0;o<a.length;o++){var n=e.rotateAroundCenter(a[o]);n.y=n.y-1,n.x=n.x+1,a[o].setAttribute("transform","rotate(".concat(t.config.xaxis.labels.rotate," ").concat(n.x," ").concat(n.y,")")),a[o].setAttribute("text-anchor","end");i.setAttribute("transform","translate(0, ".concat(-10,")"));var l=a[o].childNodes;t.config.xaxis.labels.trim&&Array.prototype.forEach.call(l,(function(i){e.placeTextWithEllipsis(i,i.textContent,t.globals.xAxisLabelsHeight-("bottom"===t.config.legend.position?20:10))}))}else!function(){for(var i=t.globals.gridWidth/(t.globals.labels.length+1),s=0;s<a.length;s++){var r=a[s].childNodes;t.config.xaxis.labels.trim&&"datetime"!==t.config.xaxis.type&&Array.prototype.forEach.call(r,(function(t){e.placeTextWithEllipsis(t,t.textContent,i)}))}}();if(s.length>0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d<r.length;d++)e.placeTextWithEllipsis(r[d],r[d].textContent,t.config.yaxis[0].labels.maxWidth-(t.config.yaxis[0].title.text?2*parseFloat(t.config.yaxis[0].title.style.fontSize):0)-15)}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.xaxisLabels=i.globals.labels.slice(),this.axesUtils=new B(e),this.isRangeBar=i.globals.seriesRange.length&&i.globals.isBarHorizontal,i.globals.timescaleLabels.length>0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a-o-2,2*-a-2,e.gridWidth+a+n+o+4,e.gridHeight+4*a+4,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d<e&&g<c.length;g++)d+=c[g].cols;d===e&&(h=.6*l.globals.xAxisLabelsHeight)}}new V(this.ctx).drawXaxisTicks(i,h,l.globals.dom.elGraphical)}}},{key:"_drawGridLine",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w,h=!1,c=n.node.classList.contains("apexcharts-gridlines-horizontal"),d=l.config.grid.strokeDashArray,g=l.globals.barPadForNumericAxis;(0===a&&0===r||0===i&&0===s)&&(h=!0),a===l.globals.gridHeight&&r===l.globals.gridHeight&&(h=!0),!l.globals.isBarHorizontal||0!==e&&e!==o-1||(h=!0);var u=new m(this).drawLine(i-(c?g:0),a,s+(c?g:0),r,l.config.grid.borderColor,d);u.node.classList.add("apexcharts-gridline"),h&&l.config.grid.show?this.elGridBorders.add(u):n.add(u)}},{key:"_drawGridBandRect",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.type,n=this.w,l=new m(this.ctx),h=n.globals.barPadForNumericAxis;if("column"!==o||"datetime"!==n.config.xaxis.type){var c=n.config.grid[o].colors[e],d=l.drawRect(i-("row"===o?h:0),a,s+("row"===o?2*h:0),r,0,c,n.config.grid[o].opacity);this.elg.add(d),d.attr("clip-path","url(#gridRectMask".concat(n.globals.cuid,")")),d.node.classList.add("apexcharts-grid-".concat(o))}}},{key:"_drawXYLines",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r,o=s.globals.padHorizontal,n=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,o=t.x2,n=t.y2,l=0;l<a;l++)s=e.xaxisLabels[l].position,o=e.xaxisLabels[l].position,e._drawGridLines({i:l,x1:s,y1:r,x2:o,y2:n,xCount:i,parent:e.elgridLinesV})}({xC:i,x1:o,y1:0,x2:r,y2:n}):(s.globals.isXNumeric&&(i=s.globals.xAxisScale.result.length),function(t){for(var a=t.xC,r=t.x1,o=t.y1,n=t.x2,l=t.y2,h=0;h<a+(s.globals.isXNumeric?0:1);h++)0===h&&1===a&&1===s.globals.dataPoints&&(n=r=s.globals.gridWidth/2),e._drawGridLines({i:h,x1:r,y1:o,x2:n,y2:l,xCount:i,parent:e.elgridLinesV}),n=r+=s.globals.gridWidth/(s.globals.isXNumeric?a-1:a)}({xC:i,x1:o,y1:0,x2:r,y2:n}))}if(s.config.grid.yaxis.lines.show){var l=0,h=0,c=s.globals.gridWidth,d=a+1;this.isRangeBar&&(d=s.globals.labels.length);for(var g=0;g<d+(this.isRangeBar?1:0);g++)this._drawGridLine({i:g,xCount:d+(this.isRangeBar?1:0),x1:0,y1:l,x2:c,y2:h,parent:this.elgridLinesH}),h=l+=s.globals.gridHeight/(this.isRangeBar?d:a)}}},{key:"_drawInvertedXYLines",value:function(t){var e=t.xCount,i=this.w;if(i.config.grid.xaxis.lines.show||i.config.xaxis.axisTicks.show)for(var a,s=i.globals.padHorizontal,r=i.globals.gridHeight,o=0;o<e+1;o++){i.config.grid.xaxis.lines.show&&this._drawGridLine({i:o,xCount:e+1,x1:s,y1:0,x2:a,y2:r,parent:this.elgridLinesV}),new V(this.ctx).drawXaxisTicks(s,0,i.globals.dom.elGraphical),a=s=s+i.globals.gridWidth/e+.3}if(i.config.grid.yaxis.lines.show)for(var n=0,l=0,h=i.globals.gridWidth,c=0;c<i.globals.dataPoints+1;c++)this._drawGridLine({i:c,xCount:i.globals.dataPoints+1,x1:0,y1:n,x2:h,y2:l,parent:this.elgridLinesH}),l=n+=i.globals.gridHeight/i.globals.dataPoints}},{key:"renderGrid",value:function(){var t=this.w,e=new m(this.ctx);this.elg=e.group({class:"apexcharts-grid"}),this.elgridLinesH=e.group({class:"apexcharts-gridlines-horizontal"}),this.elgridLinesV=e.group({class:"apexcharts-gridlines-vertical"}),this.elGridBorders=e.group({class:"apexcharts-grid-borders"}),this.elg.add(this.elgridLinesH),this.elg.add(this.elgridLinesV),t.config.grid.show||(this.elgridLinesV.hide(),this.elgridLinesH.hide(),this.elGridBorders.hide());for(var i,a=t.globals.yAxisScale.length?t.globals.yAxisScale[0].result.length-1:5,s=0;s<t.globals.series.length&&(void 0!==t.globals.yAxisScale[s]&&(a=t.globals.yAxisScale[s].result.length-1),!(a>2));s++);if(!t.globals.isBarHorizontal||this.isRangeBar){var r,o,n;if(i=this.xaxisLabels.length,this.isRangeBar)i--,a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount),(null===(r=t.globals.yAxisScale)||void 0===r||null===(o=r[0])||void 0===o||null===(n=o.result)||void 0===n?void 0:n.length)>0&&"datetime"!==t.config.xaxis.type&&(i=t.globals.yAxisScale[0].result.length-1);this._drawXYLines({xCount:i,tickAmount:a})}else i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a});return this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o<e;o++,n++)n>=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"on"!==i.config.xaxis.tickPlacement||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g<t;g++,u++)u>=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=1e-11,s=this.w,r=s.globals,o=s.config.xaxis,n=s.config.yaxis[i],l=void 0!==n.min&&null!==n.min,h=void 0!==n.max&&null!==n.min,c=void 0!==n.stepSize&&null!==n.stepSize,d=void 0!==n.tickAmount&&null!==n.tickAmount,g=((r.isBarHorizontal?r.svgWidth:r.svgHeight)-100)/15,u=d?n.tickAmount:10;if(r.isMultipleYAxis&&!d&&r.multiAxisTickAmount>0&&(u=r.multiAxisTickAmount,d=!0),u="dataPoints"===u?r.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=0,e=u,r.allSeriesCollapsed=!1),t>e){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var p=e;e=t,t=p}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var f=[];u<1&&(u=1);var b=u,v=Math.abs(e-t);if(n.forceNiceScale){!l&&t>0&&t/v<.15&&(t=0,l=!0),!h&&e<0&&-e/v<.15&&(e=0,h=!0),v=Math.abs(e-t)}var m=v/b,y=m,w=Math.floor(Math.log10(y)),k=Math.pow(10,w),A=Math.ceil(y/k);if(m=y=(A=r.niceScaleAllowedMagMsd[0===r.yValueDecimal?0:1][A])*k,r.isBarHorizontal&&o.stepSize&&"datetime"!==o.type?(m=o.stepSize,c=!0):c&&(m=n.stepSize),c&&n.forceNiceScale&&Math.round(Math.log10(m))!=w){for(var S=v/u;m<S;)m*=10;for(;m>S;)m/=10}if(l&&h){var C=v/b;if(d)if(c)if(0!=x.mod(v,m)){var L=x.getGCD(m,C);m=C/L<10?L:C}else 0==x.mod(m,C)?m=C:(C=m,d=!1);else m=C;else if(c)0==x.mod(v,m)?C=m:m=C;else if(C=v/(b=Math.round(v/y)),0!=x.mod(v,m)){var P=x.getGCD(v,y);y/P<10&&(C=P),m=C}else C=m;b=Math.round(v/m)}else{if(l||h)h?t=d?e-m*b:m*Math.floor(t/m):l&&(e=d?t+m*b:m*Math.ceil(e/m));else if(d){var I=m/(e-t>e?1:2);e=(t=I*Math.floor(t/I))+m*b}else t=m*Math.floor(t/m),e=m*Math.ceil(e/m);v=Math.abs(e-t),m=x.getGCD(v,m),b=Math.round(v/m)}if(d||l||h||(b=Math.ceil((v-a)/(m+a)))>16&&x.getPrimeFactors(b).length<2&&b++,r.isMultipleYAxis&&0==r.multiAxisTickAmount&&(r.multiAxisTickAmount=b),b>g&&(!d&&!c||n.forceNiceScale)){var M=x.getPrimeFactors(b),T=M.length-1,z=b;t:for(var X=0;X<T;X++)for(var E=0;E<=T-X;E++){for(var Y=Math.min(E+X,T),F=z,R=1,H=E;H<=Y;H++)R*=M[H];if((F/=R)<g){z=F;break t}}m=z===b&&n.forceNiceScale?v:v/z}var D=t-m,O=m*a;do{D+=m,f.push(x.stripNumber(D,7))}while(e-D>O);return{result:f,niceMin:f[0],niceMax:f[f.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),i===Number.MAX_VALUE&&(i=5,s=1);for(var o=[],n=t;i>=0;)o.push(n),n+=s,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r<s;r++)a.push(Math.pow(i,r));return{result:a,niceMin:a[0],niceMax:a[a.length-1]}}},{key:"logarithmicScale",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.log(e)/Math.log(i),r=Math.log(t)/Math.log(i),o=s-r,n=Math.round(o),l=o/n,h=0,c=r;h<n;h++,c+=l)a.push(Math.pow(i,c));return a.push(Math.pow(i,s)),{result:a,niceMin:t,niceMax:e}}},{key:"_adjustTicksForSmallRange",value:function(t,e,i){var a=t;if(void 0!==e&&this.w.config.yaxis[e].labels.formatter&&void 0===this.w.config.yaxis[e].tickAmount){var s=Number(this.w.config.yaxis[e].labels.formatter(1));x.isNumber(s)&&0===this.w.globals.yValueDecimal&&(a=Math.ceil(i))}return a<t?a:t}},{key:"setYScaleForIndex",value:function(t,e,i){var a=this.w.globals,s=this.w.config,r=a.isBarHorizontal?s.xaxis:s.yaxis[t];void 0===a.yAxisScale[t]&&(a.yAxisScale[t]=[]);var o=Math.abs(i-e);r.logarithmic&&o<=5&&(a.invalidLogScale=!0),r.logarithmic&&o>5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&x.isNumber(i)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.linearScale(0,10,10,t,s.yaxis[t].stepSize)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,i.config.xaxis.tickAmount?i.config.xaxis.tickAmount:s<10&&s>1?s+1:10,0,i.config.xaxis.stepSize):a.xAxisScale=this.linearScale(0,10,10),a.xAxisScale}},{key:"setMultipleYScales",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:"sameScaleInMultipleAxes",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o="function"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n="function"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:"autoScaleY",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn("autoScaleYaxis not supported in a multi-yaxis chart."),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l<s.length;l++)if(s[l]>=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var p=o[n];r?(p=u[n],h=c=p,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]<h&&null!==o[e]&&(h=o[e]))}))):(h=c=p,o.forEach((function(t,e){if(s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),r<h&&null!==r&&(h=r)}}))),void 0===h&&void 0===c&&(h=d,c=g),c*=c<0?.9:1.1,0===(h*=h<0?1.1:.9)&&0===c&&(h=-1,c=1),c<0&&c<g&&(c=g),h<0&&h>d&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=0,h=0,c=void 0;if(r.seriesX.length>=a){var d;if(l=0,h=(c=u(new Set((d=[]).concat.apply(d,u(r.seriesX.slice(t,a)))))).length-1,s.xaxis.min)for(l=0;l<h&&c[l]<=s.xaxis.min;l++);if(s.xaxis.max)for(;h>l&&c[h]>=s.xaxis.max;h--);}var g=r.series,p=g,f=g;"candlestick"===s.chart.type?(p=r.seriesCandleL,f=r.seriesCandleH):"boxPlot"===s.chart.type?(p=r.seriesCandleO,f=r.seriesCandleC):r.isRangeData&&(p=r.seriesRangeStart,f=r.seriesRangeEnd);for(var b=t;b<a;b++){r.dataPoints=Math.max(r.dataPoints,g[b].length),r.categoryLabels.length&&(r.dataPoints=r.categoryLabels.filter((function(t){return void 0!==t})).length),r.labels.length&&"datetime"!==s.xaxis.type&&0!==r.series.reduce((function(t,e){return t+e.length}),0)&&(r.dataPoints=Math.max(r.dataPoints,r.labels.length)),c||(l=0,h=r.series[b].length);for(var v=l;v<=h;v++){var m=g[b][v];if(null!==m&&x.isNumber(m)){switch(void 0!==f[b][v]&&(o=Math.max(o,f[b][v]),e=Math.min(e,f[b][v])),void 0!==p[b][v]&&(e=Math.min(e,p[b][v]),i=Math.max(i,p[b][v])),s.series[b].type){case"candlestick":void 0!==r.seriesCandleC[b][v]&&(o=Math.max(o,r.seriesCandleH[b][v]),e=Math.min(e,r.seriesCandleL[b][v]));case"boxPlot":void 0!==r.seriesCandleC[b][v]&&(o=Math.max(o,r.seriesCandleC[b][v]),e=Math.min(e,r.seriesCandleO[b][v]))}s.series[b].type&&"candlestick"!==s.series[b].type&&"boxPlot"!==s.series[b].type&&"rangeArea"!==s.series[b].type&&"rangeBar"!==s.series[b].type&&(o=Math.max(o,r.series[b][v]),e=Math.min(e,r.series[b][v])),i=o,r.seriesGoals[b]&&r.seriesGoals[b][v]&&Array.isArray(r.seriesGoals[b][v])&&r.seriesGoals[b][v].forEach((function(t){n!==Number.MIN_VALUE&&(n=Math.min(n,t.value),e=n),o=Math.max(o,t.value),i=o})),x.isFloat(m)&&(m=x.noExponents(m),r.yValueDecimal=Math.max(r.yValueDecimal,m.toString().split(".")[1].length)),n>p[b][v]&&p[b][v]<0&&(n=p[b][v])}else r.hasNullValues=!0}}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis){i=Number.MAX_VALUE;for(var a=0;a<t.series.length;a++){var s=this.getMinYMaxY(a);t.minYArr[a]=s.lowestY,t.maxYArr[a]=s.highestY,i=Math.min(i,s.lowestY)}}var r=this.getMinYMaxY(0,i,null,t.series.length);if(t.minY=r.lowestY,t.maxY=r.highestY,i=r.lowestY,e.chart.stacked&&this._setStackedMinMax(),"line"===e.chart.type||"area"===e.chart.type||"scatter"===e.chart.type||"candlestick"===e.chart.type||"boxPlot"===e.chart.type||"rangeBar"===e.chart.type&&!t.isBarHorizontal?t.minY===Number.MIN_VALUE&&i!==-Number.MAX_VALUE&&i!==t.maxY&&(t.minY=i):t.minY=r.minY,e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;e<t.series.length;e++)if(t.labels[e])for(var i=0;i<t.labels[e].length;i++)null!==t.labels[e][i]&&x.isNumber(t.labels[e][i])&&(t.maxX=Math.max(t.maxX,t.labels[e][i]),t.initialMaxX=Math.max(t.maxX,t.labels[e][i]),t.minX=Math.min(t.minX,t.labels[e][i]),t.initialMinX=Math.min(t.minX,t.labels[e][i]))}(),t.noLabelsProvided&&0===e.xaxis.categories.length&&(t.maxX=t.labels[t.labels.length-1],t.initialMaxX=t.labels[t.labels.length-1],t.minX=1,t.initialMinX=1),t.isXNumeric||t.noLabelsProvided||t.dataFormatXNumeric){var a;if(void 0===e.xaxis.tickAmount?(a=Math.round(t.svgWidth/150),"numeric"===e.xaxis.type&&t.dataPoints<30&&(a=t.dataPoints-1),a>t.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r<t.maxX;r++)s.push(r+1);t.xAxisScale={result:s,niceMin:s[0],niceMax:s[s.length-1]}}else t.xAxisScale=this.scales.setXScale(t.minX,t.maxX);else t.xAxisScale=this.scales.linearScale(0,a,a,0,e.xaxis.stepSize),t.noLabelsProvided&&t.labels.length>0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var i=0;i<t.seriesZ[e].length;i++)null!==t.seriesZ[e][i]&&x.isNumber(t.seriesZ[e][i])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][i]),t.minZ=Math.min(t.minZ,t.seriesZ[e][i]))}},{key:"_handleSingleDataPoint",value:function(){var t=this.w.globals,e=this.w.config;if(t.minX===t.maxX){var i=new I(this.ctx);if("datetime"===e.xaxis.type){var a=i.getDate(t.minX);e.xaxis.labels.datetimeUTC?a.setUTCDate(a.getUTCDate()-2):a.setDate(a.getDate()-2),t.minX=new Date(a).getTime();var s=i.getDate(t.maxX);e.xaxis.labels.datetimeUTC?s.setUTCDate(s.getUTCDate()+2):s.setDate(s.getDate()+2),t.maxX=new Date(s).getTime()}else("numeric"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided)&&(t.minX=t.minX-2,t.initialMinX=t.minX,t.maxX=t.maxX+2,t.initialMaxX=t.maxX)}}},{key:"_getMinXDiff",value:function(){var t=this.w.globals;t.isXNumeric&&t.seriesX.forEach((function(e,i){1===e.length&&e.push(t.seriesX[t.maxValsInArrayIndex][t.seriesX[t.maxValsInArrayIndex].length-1]);var a=e.slice();a.sort((function(t,e){return t-e})),a.forEach((function(e,i){if(i>0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.config.series.map((function(t){return t.name}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,e){return i.indexOf(t.name)>-1?e:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o<e.series[e.maxValsInArrayIndex].length;o++){var n,l;void 0===a[i][o]&&(a[i][o]=0,s[i][o]=0),(t.w.config.chart.stacked&&!e.comboCharts||t.w.config.chart.stacked&&e.comboCharts&&(!t.w.config.chart.stackOnlyBar||"bar"===(null===(n=t.w.config.series)||void 0===n||null===(l=n[r])||void 0===l?void 0:l.type)))&&null!==e.series[r][o]&&x.isNumber(e.series[r][o])&&(e.series[r][o]>0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,"bottom"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new B(e)}return r(t,[{key:"drawYaxis",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+i.globals.translateYAxisX[t]+", 0)"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.translateY,u=i.globals.yLabelFormatters[t],p=i.globals.yAxisScale[t].result.slice();p=this.axesUtils.checkForReversedLabels(t,p);var f="";if(i.config.yaxis[t].labels.show)for(var x=function(l){var x=p[l];x=u(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=i.config.yaxis[t].labels.offsetY;"heatmap"===i.config.chart.type&&(y-=(i.globals.gridHeight/i.globals.series.length-1)/2);var w=a.drawText({x:b,y:g+c/10+y+1,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(f=w),h.add(w);var k=document.createElementNS(i.globals.SVGNS,"title");if(k.textContent=Array.isArray(x)?x.join(" "):x,w.node.appendChild(k),0!==i.config.yaxis[t].labels.rotate){var A=a.rotateAroundCenter(f.node),S=a.rotateAroundCenter(w.node);w.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(A.x," ").concat(S.y,")"))}g+=d},b=c;b>=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g<d:g>=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r<s;r++)a[r].apply(null,e)}}},{key:"setupEventHandlers",value:function(){var t=this,e=this.w,i=this.ctx,a=e.globals.dom.baseEl.querySelector(e.globals.chartClass);this.ctx.eventList.forEach((function(t){a.addEventListener(t,(function(t){var a=Object.assign({},e,{seriesIndex:e.globals.capturedSeriesIndex,dataPointIndex:e.globals.capturedDataPointIndex});"mousemove"===t.type||"touchmove"===t.type?"function"==typeof e.config.chart.events.mouseMove&&e.config.chart.events.mouseMove(t,i,a):"mouseleave"===t.type||"touchleave"===t.type?"function"==typeof e.config.chart.events.mouseLeave&&e.config.chart.events.mouseLeave(t,i,a):("mouseup"===t.type&&1===t.which||"touchend"===t.type)&&("function"==typeof e.config.chart.events.click&&e.config.chart.events.click(t,i,a),i.ctx.events.fireEvent("click",[t,i,a]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(i){e.globals.dom.baseEl.addEventListener(i,t.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(t){var e=this.w,i=t.target.className;if("click"===t.type){var a=e.globals.dom.baseEl.querySelector(".apexcharts-menu");a&&a.classList.contains("apexcharts-menu-open")&&"apexcharts-menu-icon"!==i&&a.classList.remove("apexcharts-menu-open")}e.globals.clientX="touchmove"===t.type?t.touches[0].clientX:t.clientX,e.globals.clientY="touchmove"===t.type?t.touches[0].clientY:t.clientY}}]),t}(),$=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setCurrentLocaleValues",value:function(t){var e=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&window.Apex.chart.locales.length>0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new E({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l<s.length;l++)o<s[l].breakpoint&&(t=y.extendArrayProps(r,s[l].options,i),t=x.extend(i.config,t),e.overrideResponsiveOptions(t))};if(t){var n=y.extendArrayProps(r,t,i);n=x.extend(i.config,n),o(n=x.extend(n,t))}else o({})}}},{key:"overrideResponsiveOptions",value:function(t){var e=new E(t).init({responsiveOverride:!0});this.w.config=e}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.colors=[],this.w=e.w;var i=this.w;this.isColorFn=!1,this.isHeatmapDistributed="treemap"===i.config.chart.type&&i.config.plotOptions.treemap.distributed||"heatmap"===i.config.chart.type&&i.config.plotOptions.heatmap.distributed,this.isBarDistributed=i.config.plotOptions.bar.distributed&&("bar"===i.config.chart.type||"rangeBar"===i.config.chart.type)}return r(t,[{key:"init",value:function(){this.setDefaultColors()}},{key:"setDefaultColors",value:function(){var t,e=this,i=this.w,a=new x;if(i.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(i.config.theme.mode)),void 0===i.config.colors||0===(null===(t=i.config.colors)||void 0===t?void 0:t.length)?i.globals.colors=this.predefined():(i.globals.colors=i.config.colors,Array.isArray(i.config.colors)&&i.config.colors.length>0&&"function"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),"function"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c<r;c++){var d=void 0;"dark"===l?(d=a.shadeColor(-1*h,o),h+=n):(d=a.shadeColor(h,o),h+=n),s.push(d)}i.globals.colors=s.slice()}var g=i.globals.colors.slice();this.pushExtraColors(i.globals.colors);["fill","stroke"].forEach((function(t){void 0===i.config[t].colors?i.globals[t].colors=e.isColorFn?i.config.colors:g:i.globals[t].colors=i.config[t].colors.slice(),e.pushExtraColors(i.globals[t].colors)})),void 0===i.config.dataLabels.style.colors?i.globals.dataLabels.style.colors=g:i.globals.dataLabels.style.colors=i.config.dataLabels.style.colors.slice(),this.pushExtraColors(i.globals.dataLabels.style.colors,50),void 0===i.config.plotOptions.radar.polygons.fill.colors?i.globals.radarPolygons.fill.colors=["dark"===i.config.theme.mode?"#424242":"none"]:i.globals.radarPolygons.fill.colors=i.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(i.globals.radarPolygons.fill.colors,20),void 0===i.config.markers.colors?i.globals.markers.colors=g:i.globals.markers.colors=i.config.markers.colors.slice(),this.pushExtraColors(i.globals.markers.colors)}},{key:"pushExtraColors",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.length<s)for(var r=s-t.length,o=0;o<r;o++)t.push(t[o])}},{key:"updateThemeOptions",value:function(t){t.chart=t.chart||{},t.tooltip=t.tooltip||{};var e=t.theme.mode||"light",i=t.theme.palette?t.theme.palette:"dark"===e?"palette4":"palette1",a=t.chart.foreColor?t.chart.foreColor:"dark"===e?"#f6f7f8":"#373d3f";return t.tooltip.theme=e,t.chart.foreColor=a,t.theme.palette=i,t}},{key:"predefined",value:function(){switch(this.w.config.theme.palette){case"palette1":default:this.colors=["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"];break;case"palette2":this.colors=["#3f51b5","#03a9f4","#4caf50","#f9ce1d","#FF9800"];break;case"palette3":this.colors=["#33b2df","#546E7A","#d4526e","#13d8aa","#A5978B"];break;case"palette4":this.colors=["#4ecdc4","#c7f464","#81D4FA","#fd6a6a","#546E7A"];break;case"palette5":this.colors=["#2b908f","#f9a3a4","#90ee7e","#fa4443","#69d2e7"];break;case"palette6":this.colors=["#449DD1","#F86624","#EA3546","#662E9B","#C5D86D"];break;case"palette7":this.colors=["#D7263D","#1B998B","#2E294E","#F46036","#E2C044"];break;case"palette8":this.colors=["#662E9B","#F86624","#F9C80E","#EA3546","#43BCCD"];break;case"palette9":this.colors=["#5C4742","#A5978B","#8D5B4C","#5A2A27","#C4BBAF"];break;case"palette10":this.colors=["#A300D6","#7D02EB","#5653FE","#2983FF","#00B1F2"]}return this.colors}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"draw",value:function(){this.drawTitleSubtitle("title"),this.drawTitleSubtitle("subtitle")}},{key:"drawTitleSubtitle",value:function(t){var e=this.w,i="title"===t?e.config.title:e.config.subtitle,a=e.globals.svgWidth/2,s=i.offsetY,r="middle";if("left"===i.align?(a=10,r="start"):"right"===i.align&&(a=e.globals.svgWidth-10,r="end"),a+=i.offsetX,s=s+parseInt(i.style.fontSize,10)+i.margin/2,void 0!==i.text){var o=new m(this.ctx).drawText({x:a,y:s,text:i.text,textAnchor:r,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,foreColor:i.style.color,opacity:1});o.node.setAttribute("class","apexcharts-".concat(t,"-text")),e.globals.dom.Paper.add(o)}}}]),t}(),it=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getTitleSubtitleCoords",value:function(t){var e=this.w,i=0,a=0,s="title"===t?e.config.title.floating:e.config.subtitle.floating,r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(t,"-text"));if(null!==r&&!s){var o=r.getBoundingClientRect();i=o.width,a=e.globals.axisCharts?o.height+5:o.height}return{width:i,height:a}}},{key:"getLegendsRect",value:function(){var t=this.w,e=t.globals.dom.elLegendWrap;t.config.legend.height||"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||(e.style.maxHeight=t.globals.svgHeight/2+"px");var i=Object.assign({},x.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.dCtx.lgRect={x:i.x,y:i.y,height:i.height,width:0===i.height?0:i.width}:this.dCtx.lgRect={x:0,y:0,height:0,width:0},"left"!==t.config.legend.position&&"right"!==t.config.legend.position||1.5*this.dCtx.lgRect.width>t.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new M(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new I(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.right<o&&!a.rotateXLabels&&(a.skipLastTimelinelabel=!0):"datetime"!==r&&e.dCtx.gridPad.right<o/2-e.dCtx.yAxisWidthRight&&!a.rotateXLabels&&!i.config.xaxis.labels.trim&&("between"!==i.config.xaxis.tickPlacement||i.globals.isBarHorizontal)&&(e.dCtx.xPadRight=o/2+1)}(t)};s.yaxis.forEach((function(t,i){n?(e.dCtx.gridPad.left<o&&(e.dCtx.xPadLeft=o/2+1),e.dCtx.xPadRight=o/2+1):l(t,i)}))}}]),t}(),st=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getyAxisLabelsCoords",value:function(){var t=this,e=this.w,i=[],a=10,s=new B(this.dCtx.ctx);return e.config.yaxis.map((function(r,o){var n={seriesIndex:o,dataPointIndex:-1,w:e},l=e.globals.yAxisScale[o],h=0;if(!s.isYAxisHidden(o)&&r.labels.show&&void 0!==r.labels.minWidth&&(h=r.labels.minWidth),!s.isYAxisHidden(o)&&r.labels.show&&l.result.length){var c=e.globals.yLabelFormatters[o],d=l.niceMin===Number.MIN_VALUE?0:l.niceMin,g=l.result.reduce((function(t,e){var i,a;return(null===(i=String(c(t,n)))||void 0===i?void 0:i.length)>(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=x.getLargestStringFromArr(p),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(h>y.width||h>v.width?h:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),e.globals.barPadForNumericAxis=s}return s}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(e.config.stroke.width/2,this.gridPad.top),this.gridPad.bottom=Math.max(e.config.stroke.width/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case"right":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeight<a.config.xaxis.labels.minHeight&&(this.xAxisHeight=a.config.xaxis.labels.minHeight),a.config.xaxis.floating&&(this.xAxisHeight=0);var h=0,c=0;a.config.yaxis.forEach((function(t){h+=t.labels.minWidth,c+=t.labels.maxWidth})),this.yAxisWidth<h&&(this.yAxisWidth=h),this.yAxisWidth>c&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t,e,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode("\n .apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n }\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n flex-wrap: wrap\n }\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n flex-direction: column;\n bottom: 0;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n justify-content: flex-start;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n justify-content: center;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n justify-content: flex-end;\n }\n .apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n }\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\n display: flex;\n align-items: center;\n }\n .apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n }\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n }\n .apexcharts-legend-marker {\n position: relative;\n display: inline-block;\n cursor: pointer;\n margin-right: 3px;\n border-style: solid;\n }\n\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\n display: inline-block;\n }\n .apexcharts-legend-series.apexcharts-no-click {\n cursor: auto;\n }\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n }\n .apexcharts-inactive-legend {\n opacity: 0.45;\n }");return a.appendChild(r),a}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l<n.length;l++)n[l].classList.contains("apexcharts-series-markers-wrap")&&(n[l].classList.contains("apexcharts-hide")?n[l].classList.remove("apexcharts-hide"):n[l].classList.add("apexcharts-hide"));a.globals.allSeriesCollapsed=a.globals.collapsedSeries.length===a.config.series.length,s=this._getSeriesBasedOnCollapsedState(s),this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}},{key:"riseCollapsedSeries",value:function(t,e,i){var a=this.w,s=x.clone(a.config.series);if(t.length>0){for(var r=0;r<t.length;r++)t[r].index===i&&(a.globals.axisCharts?(s[i].data=t[r].data.slice(),t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i)):(s[i]=t[r].data,t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i)));s=this._getSeriesBasedOnCollapsedState(s),this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}}},{key:"_getSeriesBasedOnCollapsedState",value:function(t){var e=this.w;return e.globals.axisCharts?t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u<e.globals.collapsedSeries.length;u++)e.globals.collapsedSeries[u].index===l&&(d=!0);if(e.globals.ancillaryCollapsedSeriesIndices.length>0)for(var p=0;p<e.globals.ancillaryCollapsedSeriesIndices.length;p++)e.globals.ancillaryCollapsedSeriesIndices[p]===l&&(g=!0);var f=document.createElement("span");f.classList.add("apexcharts-legend-marker");var b=e.config.legend.markers.offsetX,v=e.config.legend.markers.offsetY,w=e.config.legend.markers.height,k=e.config.legend.markers.width,A=e.config.legend.markers.strokeWidth,S=e.config.legend.markers.strokeColor,C=e.config.legend.markers.radius,L=f.style;L.background=s[l],L.color=s[l],L.setProperty("background",s[l],"important"),e.config.legend.markers.fillColors&&e.config.legend.markers.fillColors[l]&&(L.background=e.config.legend.markers.fillColors[l]),void 0!==e.globals.seriesColors[l]&&(L.background=e.globals.seriesColors[l],L.color=e.globals.seriesColors[l]),L.height=Array.isArray(w)?parseFloat(w[l])+"px":parseFloat(w)+"px",L.width=Array.isArray(k)?parseFloat(k[l])+"px":parseFloat(k)+"px",L.left=(Array.isArray(b)?parseFloat(b[l]):parseFloat(b))+"px",L.top=(Array.isArray(v)?parseFloat(v[l]):parseFloat(v))+"px",L.borderWidth=Array.isArray(A)?A[l]:A,L.borderColor=Array.isArray(S)?S[l]:S,L.borderRadius=Array.isArray(C)?parseFloat(C[l])+"px":parseFloat(C)+"px",e.config.legend.markers.customHTML&&(Array.isArray(e.config.legend.markers.customHTML)?e.config.legend.markers.customHTML[l]&&(f.innerHTML=e.config.legend.markers.customHTML[l]()):f.innerHTML=e.config.legend.markers.customHTML()),m.setAttrs(f,{rel:l+1,"data:collapsed":d||g}),(d||g)&&f.classList.add("apexcharts-inactive-legend");var P=document.createElement("div"),I=document.createElement("span");I.classList.add("apexcharts-legend-text"),I.innerHTML=Array.isArray(c)?c.join(" "):c;var M=e.config.legend.labels.useSeriesColors?e.globals.colors[l]:Array.isArray(e.config.legend.labels.colors)?null===(h=e.config.legend.labels.colors)||void 0===h?void 0:h[l]:e.config.legend.labels.colors;M||(M=e.config.chart.foreColor),I.style.color=M,I.style.fontSize=parseFloat(e.config.legend.fontSize)+"px",I.style.fontWeight=e.config.legend.fontWeight,I.style.fontFamily=i||e.config.chart.fontFamily,m.setAttrs(I,{rel:l+1,i:l,"data:default-text":encodeURIComponent(c),"data:collapsed":d||g}),P.appendChild(f),P.appendChild(I);var T=new y(this.ctx);if(!e.config.legend.showForZeroSeries)0===T.getSeriesTotalByIndex(l)&&T.seriesHaveSameValues(l)&&!T.isSeriesNull(l)&&-1===e.globals.collapsedSeriesIndices.indexOf(l)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(l)&&P.classList.add("apexcharts-hidden-zero-series");e.config.legend.showForNullSeries||T.isSeriesNull(l)&&-1===e.globals.collapsedSeriesIndices.indexOf(l)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(l)&&P.classList.add("apexcharts-hidden-null-series"),e.globals.dom.elLegendWrap.appendChild(P),e.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(e.config.legend.horizontalAlign)),e.globals.dom.elLegendWrap.classList.add("apx-legend-position-"+e.config.legend.position),P.classList.add("apexcharts-legend-series"),P.style.margin="".concat(e.config.legend.itemMargin.vertical,"px ").concat(e.config.legend.itemMargin.horizontal,"px"),e.globals.dom.elLegendWrap.style.width=e.config.legend.width?e.config.legend.width+"px":"",e.globals.dom.elLegendWrap.style.height=e.config.legend.height?e.config.legend.height+"px":"",m.setAttrs(P,{rel:l+1,seriesName:x.escapeString(a[l]),"data:collapsed":d||g}),(d||g)&&P.classList.add("apexcharts-inactive-legend"),e.config.legend.onItemClick.toggleDataSeries||P.classList.add("apexcharts-no-click")}e.globals.dom.elWrap.addEventListener("click",t.onLegendClick,!0),e.config.legend.onItemHover.highlightDataSeries&&0===e.config.legend.customLegendItems.length&&(e.globals.dom.elWrap.addEventListener("mousemove",t.onLegendHovered,!0),e.globals.dom.elWrap.addEventListener("mouseout",t.onLegendHovered,!0))}},{key:"setLegendWrapXY",value:function(t,e){var i=this.w,a=i.globals.dom.elLegendWrap,s=a.getBoundingClientRect(),r=0,o=0;if("bottom"===i.config.legend.position)o+=i.globals.svgHeight-s.height/2;else if("top"===i.config.legend.position){var n=new ot(this.ctx),l=n.dimHelpers.getTitleSubtitleCoords("title").height,h=n.dimHelpers.getTitleSubtitleCoords("subtitle").height;o=o+(l>0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new N(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new N(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s<this.t.customIcons.length;s++)this.elCustomIcons.push(i());var r=[],o=function(i,a,s){var o=i.toLowerCase();t.t[o]&&e.config.chart.zoom.enabled&&r.push({el:a,icon:"string"==typeof t.t[o]?t.t[o]:s,title:t.localeValues[i],class:"apexcharts-".concat(o,"-icon")})};o("zoomIn",this.elZoomIn,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'),o("zoomOut",this.elZoomOut,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n <path d="M0 0h24v24H0V0z" fill="none"/>\n <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>':'<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <defs>\n <path d="M0 0h24v24H0z" id="a"/>\n </defs>\n <clipPath id="b">\n <use overflow="visible" xlink:href="#a"/>\n </clipPath>\n <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n <path d="M0 0h24v24H0z" fill="none"/>\n</svg>'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l<this.elCustomIcons.length;l++)r.push({el:this.elCustomIcons[l],icon:this.t.customIcons[l].icon,title:this.t.customIcons[l].title,index:this.t.customIcons[l].index,class:"apexcharts-toolbar-custom-icon "+this.t.customIcons[l].class});r.forEach((function(t,e){t.index&&x.moveIndexInArray(r,e,t.index)}));for(var h=0;h<r.length;h++)m.setAttrs(r[h].el,{class:r[h].class,title:r[h].title}),r[h].el.innerHTML=r[h].icon,a.appendChild(r[h].el);this._createHamburgerMenu(a),e.globals.zoomEnabled?this.elZoom.classList.add(this.selectedClass):e.globals.panEnabled?this.elPan.classList.add(this.selectedClass):e.globals.selectionEnabled&&this.elSelection.classList.add(this.selectedClass),this.addToolbarEventListeners()}},{key:"_createHamburgerMenu",value:function(t){this.elMenuItems=[],t.appendChild(this.elMenu),m.setAttrs(this.elMenu,{class:"apexcharts-menu"});for(var e=[{name:"exportSVG",title:this.localeValues.exportToSVG},{name:"exportPNG",title:this.localeValues.exportToPNG},{name:"exportCSV",title:this.localeValues.exportToCSV}],i=0;i<e.length;i++)this.elMenuItems.push(document.createElement("div")),this.elMenuItems[i].innerHTML=e[i].title,m.setAttrs(this.elMenuItems[i],{class:"apexcharts-menu-item ".concat(e[i].name),title:e[i].title}),this.elMenu.appendChild(this.elMenuItems[i])}},{key:"addToolbarEventListeners",value:function(){var t=this;this.elZoomReset.addEventListener("click",this.handleZoomReset.bind(this)),this.elSelection.addEventListener("click",this.toggleZoomSelection.bind(this,"selection")),this.elZoom.addEventListener("click",this.toggleZoomSelection.bind(this,"zoom")),this.elZoomIn.addEventListener("click",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener("click",this.handleZoomOut.bind(this)),this.elPan.addEventListener("click",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener("click",this.toggleMenu.bind(this)),this.elMenuItems.forEach((function(e){e.classList.contains("exportSVG")?e.addEventListener("click",t.handleDownload.bind(t,"svg")):e.classList.contains("exportPNG")?e.addEventListener("click",t.handleDownload.bind(t,"png")):e.classList.contains("exportCSV")&&e.addEventListener("click",t.handleDownload.bind(t,"csv"))}));for(var e=0;e<this.t.customIcons.length;e++)this.elCustomIcons[e].addEventListener("click",this.t.customIcons[e].click.bind(this,this.ctx,this.ctx.w))}},{key:"toggleZoomSelection",value:function(t){this.ctx.getSyncedCharts().forEach((function(e){e.ctx.toolbar.toggleOtherControls();var i="selection"===t?e.ctx.toolbar.elSelection:e.ctx.toolbar.elZoom,a="selection"===t?"selectionEnabled":"zoomEnabled";e.w.globals[a]=!e.w.globals[a],i.classList.contains(e.ctx.toolbar.selectedClass)?i.classList.remove(e.ctx.toolbar.selectedClass):i.classList.add(e.ctx.toolbar.selectedClass)}))}},{key:"getToolbarIconsReference",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"))}},{key:"enableZoomPanFromToolbar",value:function(t){this.toggleOtherControls(),"pan"===t?this.w.globals.panEnabled=!0:this.w.globals.zoomEnabled=!0;var e="pan"===t?this.elPan:this.elZoom,i="pan"===t?this.elZoom:this.elPan;e&&e.classList.add(this.selectedClass),i&&i.classList.remove(this.selectedClass)}},{key:"togglePanning",value:function(){this.ctx.getSyncedCharts().forEach((function(t){t.ctx.toolbar.toggleOtherControls(),t.w.globals.panEnabled=!t.w.globals.panEnabled,t.ctx.toolbar.elPan.classList.contains(t.ctx.toolbar.selectedClass)?t.ctx.toolbar.elPan.classList.remove(t.ctx.toolbar.selectedClass):t.ctx.toolbar.elPan.classList.add(t.ctx.toolbar.selectedClass)}))}},{key:"toggleOtherControls",value:function(){var t=this,e=this.w;e.globals.panEnabled=!1,e.globals.zoomEnabled=!1,e.globals.selectionEnabled=!1,this.getToolbarIconsReference(),[this.elPan,this.elSelection,this.elZoom].forEach((function(e){e&&e.classList.remove(t.selectedClass)}))}},{key:"handleZoomIn",value:function(){var t=this.w;t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY);var e=(this.minX+this.maxX)/2,i=(this.minX+e)/2,a=(this.maxX+e)/2,s=this._getNewMinXMaxX(i,a);t.globals.disableZoomIn||this.zoomUpdateOptions(s.minX,s.maxX)}},{key:"handleZoomOut",value:function(){var t=this.w;if(t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY),!("datetime"===t.config.xaxis.type&&new Date(this.minX).getUTCFullYear()<1e3)){var e=(this.minX+this.maxX)/2,i=this.minX-(e-this.minX),a=this.maxX-(e-this.maxX),s=this._getNewMinXMaxX(i,a);t.globals.disableZoomOut||this.zoomUpdateOptions(s.minX,s.maxX)}}},{key:"_getNewMinXMaxX",value:function(t,e){var i=this.w.config.xaxis.convertedCatToNumeric;return{minX:i?Math.floor(t):t,maxX:i?Math.floor(e):e}}},{key:"zoomUpdateOptions",value:function(t,e){var i=this.w;if(void 0!==t||void 0!==e){if(!(i.config.xaxis.convertedCatToNumeric&&(t<1&&(t=1,e=i.globals.dataPoints),e-t<2))){var a={min:t,max:e},s=this.getBeforeZoomRange(a);s&&(a=s.xaxis);var r={xaxis:a},o=x.clone(i.globals.initialConfig.yaxis);if(i.config.chart.zoom.autoScaleYaxis)o=new _(this.ctx).autoScaleY(this.ctx,o,{xaxis:a});i.config.chart.group||(r.yaxis=o),this.w.globals.zoomed=!0,this.ctx.updateHelpers._updateOptions(r,!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback(a,o)}}else this.handleZoomReset()}},{key:"zoomCallback",value:function(t,e){"function"==typeof this.ev.zoomed&&this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e})}},{key:"getBeforeZoomRange",value:function(t,e){var i=null;return"function"==typeof this.ev.beforeZoom&&(i=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),i}},{key:"toggleMenu",value:function(){var t=this;window.setTimeout((function(){t.elMenu.classList.contains("apexcharts-menu-open")?t.elMenu.classList.remove("apexcharts-menu-open"):t.elMenu.classList.add("apexcharts-menu-open")}),0)}},{key:"handleDownload",value:function(t){var e=this.w,i=new G(this.ctx);switch(t){case"svg":i.exportToSVG(this.ctx);break;case"png":i.exportToPng(this.ctx);break;case"csv":i.exportToCSV({series:e.config.series,columnDelimiter:e.config.chart.toolbar.export.csv.columnDelimiter})}}},{key:"handleZoomReset",value:function(t){this.ctx.getSyncedCharts().forEach((function(t){var e=t.w;if(e.globals.lastXAxis.min=e.globals.initialConfig.xaxis.min,e.globals.lastXAxis.max=e.globals.initialConfig.xaxis.max,t.updateHelpers.revertDefaultAxisMinMax(),"function"==typeof e.config.chart.events.beforeResetZoom){var i=e.config.chart.events.beforeResetZoom(t,e);i&&t.updateHelpers.revertDefaultAxisMinMax(i)}"function"==typeof e.config.chart.events.zoomed&&t.ctx.toolbar.zoomCallback({min:e.config.xaxis.min,max:e.config.xaxis.max}),e.globals.zoomed=!1;var a=t.ctx.series.emptyCollapsedSeries(x.clone(e.globals.initialSeries));t.updateHelpers._updateSeries(a,e.config.chart.animations.dynamicAnimation.enabled)}))}},{key:"destroy",value:function(){this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),t}(),ct=function(t){n(i,t);var e=d(i);function i(t){var s;return a(this,i),(s=e.call(this,t)).ctx=t,s.w=t.w,s.dragged=!1,s.graphics=new m(s.ctx),s.eventList=["mousedown","mouseleave","mousemove","touchstart","touchmove","mouseup","touchend"],s.clientX=0,s.clientY=0,s.startX=0,s.endX=0,s.dragX=0,s.startY=0,s.endY=0,s.dragY=0,s.moveDirection="none",s}return r(i,[{key:"init",value:function(t){var e=this,i=t.xyRatios,a=this.w,s=this;this.xyRatios=i,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=a.globals.dom.baseEl.querySelector(".apexcharts-grid"),this.zoomRect.node.classList.add("apexcharts-zoom-rect"),this.selectionRect.node.classList.add("apexcharts-selection-rect"),a.globals.dom.elGraphical.add(this.zoomRect),a.globals.dom.elGraphical.add(this.selectionRect),"x"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:a.globals.gridWidth,maxY:a.globals.gridHeight}).on("dragmove",this.selectionDragging.bind(this,"dragging")):"y"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:a.globals.gridWidth}).on("dragmove",this.selectionDragging.bind(this,"dragging")):this.slDraggableRect=this.selectionRect.draggable().on("dragmove",this.selectionDragging.bind(this,"dragging")),this.preselectedSelection(),this.hoverArea=a.globals.dom.baseEl.querySelector("".concat(a.globals.chartClass," .apexcharts-svg")),this.hoverArea.classList.add("apexcharts-zoomable"),this.eventList.forEach((function(t){e.hoverArea.addEventListener(t,s.svgMouseEvents.bind(s,i),{capture:!1,passive:!0})}))}},{key:"destroy",value:function(){this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:"svgMouseEvents",value:function(t,e){var i=this.w,a=this,s=this.ctx.toolbar,r=i.globals.zoomEnabled?i.config.chart.zoom.type:i.config.chart.selection.type,o=i.config.chart.toolbar.autoSelected;if(e.shiftKey?(this.shiftWasPressed=!0,s.enableZoomPanFromToolbar("pan"===o?"zoom":"pan")):this.shiftWasPressed&&(s.enableZoomPanFromToolbar(o),this.shiftWasPressed=!1),e.target){var n,l=e.target.classList;if(e.target.parentNode&&null!==e.target.parentNode&&(n=e.target.parentNode.classList),!(l.contains("apexcharts-selection-rect")||l.contains("apexcharts-legend-marker")||l.contains("apexcharts-legend-text")||n&&n.contains("apexcharts-toolbar"))){if(a.clientX="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientX:"touchend"===e.type?e.changedTouches[0].clientX:e.clientX,a.clientY="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientY:"touchend"===e.type?e.changedTouches[0].clientY:e.clientY,"mousedown"===e.type&&1===e.which){var h=a.gridRect.getBoundingClientRect();a.startX=a.clientX-h.left,a.startY=a.clientY-h.top,a.dragged=!1,a.w.globals.mousedown=!0}if(("mousemove"===e.type&&1===e.which||"touchmove"===e.type)&&(a.dragged=!0,i.globals.panEnabled?(i.globals.selection=null,a.w.globals.mousedown&&a.panDragging({context:a,zoomtype:r,xyRatios:t})):(a.w.globals.mousedown&&i.globals.zoomEnabled||a.w.globals.mousedown&&i.globals.selectionEnabled)&&(a.selection=a.selectionDrawing({context:a,zoomtype:r}))),"mouseup"===e.type||"touchend"===e.type||"mouseleave"===e.type){var c=a.gridRect.getBoundingClientRect();a.w.globals.mousedown&&(a.endX=a.clientX-c.left,a.endY=a.clientY-c.top,a.dragX=Math.abs(a.endX-a.startX),a.dragY=Math.abs(a.endY-a.startY),(i.globals.zoomEnabled||i.globals.selectionEnabled)&&a.selectionDrawn({context:a,zoomtype:r}),i.globals.panEnabled&&i.config.xaxis.convertedCatToNumeric&&a.delayedPanScrolled()),i.globals.zoomEnabled&&a.hideSelectionRect(this.selectionRect),a.dragged=!1,a.w.globals.mousedown=!1}this.makeSelectionRectDraggable()}}}},{key:"makeSelectionRectDraggable",value:function(){var t=this.w;if(this.selectionRect){var e=this.selectionRect.node.getBoundingClientRect();e.width>0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var f=new _(s.ctx);u=f.autoScaleY(s.ctx,u,{xaxis:p})}if(o){var b=o.getBeforeZoomRange(p,u);b&&(p=b.xaxis?b.xaxis:p,u=b.yaxis?b.yaxis:u)}var v={xaxis:p};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},"xy"!==i&&"y"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(t<i.globals.initialMinX||e>i.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(ht),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:"getFirstActiveXArray",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s<a.length;s++)if(-1!==a[s]&&-1===e.globals.collapsedSeriesIndices.indexOf(s)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)){i=a[s];break}return i}},{key:"closestInArray",value:function(t,e){for(var i=e[0],a=null,s=Math.abs(t-i),r=0;r<e.length;r++){var o=Math.abs(t-e[r]);o<s&&(s=o,a=r)}return{index:a}}},{key:"isXoverlap",value:function(t){var e=[],i=this.w.globals.seriesX.filter((function(t){return void 0!==t[0]}));if(i.length>0)for(var a=0;a<i.length-1;a++)void 0!==i[a][t]&&void 0!==i[a+1][t]&&i[a][t]!==i[a+1][t]&&e.push("unEqual");return 0===e.length}},{key:"isInitialSeriesSameLen",value:function(){for(var t=!0,e=this.w.globals.initialSeries,i=0;i<e.length-1;i++)if(e[i].data.length!==e[i+1].data.length){t=!1;break}return t}},{key:"getBarsHeight",value:function(t){return u(t).reduce((function(t,e){return t+e.getBBox().height}),0)}},{key:"getElMarkers",value:function(t){return"number"==typeof t?this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-series-markers-wrap > *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return a<i?1:a>i?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s<a.length;s++)"enable"===t?(a[s].classList.add("apexcharts-active"),a[s].style.display=e.config.tooltip.items.display):(a[s].classList.remove("apexcharts-active"),a[s].style.display="none")}}]),t}(),gt=function(){function t(e){a(this,t),this.w=e.w,this.ctx=e.ctx,this.ttCtx=e,this.tooltipUtil=new dt(e)}return r(t,[{key:"drawSeriesTexts",value:function(t){var e=t.shared,i=void 0===e||e,a=t.ttItems,s=t.i,r=void 0===s?0:s,o=t.j,n=void 0===o?null:o,l=t.y1,h=t.y2,c=t.e,d=this.w;void 0!==d.config.tooltip.custom?this.handleCustomTooltip({i:r,j:n,y1:l,y2:h,w:d}):this.toggleActiveInactiveSeries(i);var g=this.getValuesToPrint({i:r,j:n});this.printLabels({i:r,j:n,values:g,ttItems:a,shared:i,e:c});var u=this.ttCtx.getElTooltip();this.ttCtx.tooltipRect.ttWidth=u.getBoundingClientRect().width,this.ttCtx.tooltipRect.ttHeight=u.getBoundingClientRect().height}},{key:"printLabels",value:function(t){var i,a=this,s=t.i,r=t.j,o=t.values,n=t.ttItems,l=t.shared,h=t.e,c=this.w,d=[],g=function(t){return c.globals.seriesGoals[t]&&c.globals.seriesGoals[t][r]&&Array.isArray(c.globals.seriesGoals[t][r])},u=o.xVal,p=o.zVal,f=o.xAxisTTVal,x="",b=c.globals.colors[s];null!==r&&c.config.plotOptions.bar.distributed&&(b=c.globals.colors[r]);for(var v=function(t,o){var v=a.getFormatters(s);x=a.getSeriesName({fn:v.yLbTitleFormatter,index:s,seriesIndex:s,j:r}),"treemap"===c.config.chart.type&&(x=v.yLbTitleFormatter(String(c.config.series[s].data[r].x),{series:c.globals.series,seriesIndex:s,dataPointIndex:r,w:c}));var m=c.config.tooltip.inverseOrder?o:t;if(c.globals.axisCharts){var y=function(t){var e,i,a,s;return c.globals.isRangeData?v.yLbFormatter(null===(e=c.globals.seriesRangeStart)||void 0===e||null===(i=e[t])||void 0===i?void 0:i[r],{series:c.globals.seriesRangeStart,seriesIndex:t,dataPointIndex:r,w:c})+" - "+v.yLbFormatter(null===(a=c.globals.seriesRangeEnd)||void 0===a||null===(s=a[t])||void 0===s?void 0:s[r],{series:c.globals.seriesRangeEnd,seriesIndex:t,dataPointIndex:r,w:c}):v.yLbFormatter(c.globals.series[t][r],{series:c.globals.series,seriesIndex:t,dataPointIndex:r,w:c})};if(l)v=a.getFormatters(m),x=a.getSeriesName({fn:v.yLbTitleFormatter,index:m,seriesIndex:s,j:r}),b=c.globals.colors[m],i=y(m),g(m)&&(d=c.globals.seriesGoals[m][r].map((function(t){return{attrs:t,val:v.yLbFormatter(t.value,{seriesIndex:m,dataPointIndex:r,w:c})}})));else{var w,k=null==h||null===(w=h.target)||void 0===w?void 0:w.getAttribute("fill");k&&(b=-1!==k.indexOf("url")?document.querySelector(k.substr(4).slice(0,-1)).childNodes[0].getAttribute("stroke"):k),i=y(s),g(s)&&Array.isArray(c.globals.seriesGoals[s][r])&&(d=c.globals.seriesGoals[s][r].map((function(t){return{attrs:t,val:v.yLbFormatter(t.value,{seriesIndex:s,dataPointIndex:r,w:c})}})))}}null===r&&(i=v.yLbFormatter(c.globals.series[s],e(e({},c),{},{seriesIndex:s,dataPointIndex:s}))),a.DOMHandling({i:s,t:m,j:r,ttItems:n,values:{val:i,goalVals:d,xVal:u,xAxisTTVal:f,zVal:p},seriesName:x,shared:l,pColor:b})},m=0,y=c.globals.series.length-1;m<c.globals.series.length;m++,y--)v(m,y)}},{key:"getFormatters",value:function(t){var e,i=this.w,a=i.globals.yLabelFormatters[t];return void 0!==i.globals.ttVal?Array.isArray(i.globals.ttVal)?(a=i.globals.ttVal[t]&&i.globals.ttVal[t].formatter,e=i.globals.ttVal[t]&&i.globals.ttVal[t].title&&i.globals.ttVal[t].title.formatter):(a=i.globals.ttVal.formatter,"function"==typeof i.globals.ttVal.title.formatter&&(e=i.globals.ttVal.title.formatter)):e=i.config.tooltip.y.title.formatter,"function"!=typeof a&&(a=i.globals.yLabelFormatters[0]?i.globals.yLabelFormatters[0]:function(t){return t}),"function"!=typeof e&&(e=function(t){return t}),{yLbFormatter:a,yLbTitleFormatter:e}}},{key:"getSeriesName",value:function(t){var e=t.fn,i=t.index,a=t.seriesIndex,s=t.j,r=this.w;return e(String(r.globals.seriesNames[i]),{series:r.globals.series,seriesIndex:a,dataPointIndex:s,w:r})}},{key:"DOMHandling",value:function(t){t.i;var e=t.t,i=t.j,a=t.ttItems,s=t.values,r=t.seriesName,o=t.shared,n=t.pColor,l=this.w,h=this.ttCtx,c=s.val,d=s.goalVals,g=s.xVal,u=s.xAxisTTVal,p=s.zVal,f=null;f=a[e].children,l.config.tooltip.fillSeriesColor&&(a[e].style.backgroundColor=n,f[0].style.display="none"),h.showTooltipTitle&&(null===h.tooltipTitle&&(h.tooltipTitle=l.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")),h.tooltipTitle.innerHTML=g),h.isXAxisTooltipEnabled&&(h.xaxisTooltipText.innerHTML=""!==u?u:g);var x=a[e].querySelector(".apexcharts-tooltip-text-y-label");x&&(x.innerHTML=r||"");var b=a[e].querySelector(".apexcharts-tooltip-text-y-value");b&&(b.innerHTML=void 0!==c?c:""),f[0]&&f[0].classList.contains("apexcharts-tooltip-marker")&&(l.config.tooltip.marker.fillColors&&Array.isArray(l.config.tooltip.marker.fillColors)&&(n=l.config.tooltip.marker.fillColors[e]),f[0].style.backgroundColor=n),l.config.tooltip.marker.show||(f[0].style.display="none");var v=a[e].querySelector(".apexcharts-tooltip-text-goals-label"),m=a[e].querySelector(".apexcharts-tooltip-text-goals-value");if(d.length&&l.globals.seriesGoals[e]){var y=function(){var t="<div >",e="<div>";d.forEach((function(i,a){t+=' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '.concat(i.attrs.strokeColor,'; height: 3px; border-radius: 0; top: 5px;"></span> ').concat(i.attrs.name,"</div>"),e+="<div>".concat(i.val,"</div>")})),v.innerHTML=t+"</div>",m.innerHTML=e+"</div>"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");if(o&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(".apexcharts-tooltip-marker"),k=a[e].querySelector(".apexcharts-tooltip-text");0==parseFloat(c)?(w.style.display="none",k.style.display="none"):(w.style.display="block",k.style.display="block")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display}}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new M(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new I(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r<s.length;r++)parseInt(s[r].getAttribute("rel"),10)===e&&(a.marker.resetPointsSize(),a.marker.enlargeCurrentPoint(e,s[r]));else a.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:"moveDynamicPointOnHover",value:function(t,e){var i,a,s=this.w,r=this.ttCtx,o=s.globals.pointsArray,n=r.tooltipUtil.getHoverMarkerSize(e),l=s.config.series[e].type;if(!l||"column"!==l&&"candlestick"!==l&&"boxPlot"!==l){i=o[e][t][0],a=o[e][t][1]?o[e][t][1]:0;var h=s.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-series-markers circle"));h&&a<s.globals.gridHeight&&a>0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new N(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h<a.globals.series.length;h++){var c=o[h];if(a.globals.comboCharts&&void 0===c&&l.splice(h,0,null),c&&c.length){var d=o[h][t][1],g=void 0;if(l[h].setAttribute("cx",s),"rangeArea"===a.config.chart.type&&!a.globals.comboCharts){var u=t+a.globals.series[h].length;g=o[h][u][1],d-=Math.abs(d-g)/2}null!==d&&!isNaN(d)&&d<a.globals.gridHeight+n&&d+n>0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new N(this.ctx).getActiveConfigSeriesIndex("desc")+1);var o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));o||"number"!=typeof e||(o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var n=o?parseFloat(o.getAttribute("cx")):0,l=o?parseFloat(o.getAttribute("cy")):0,h=o?parseFloat(o.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains("apexcharts-candlestick-area")||o.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new H(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s<a.length;s++){var r=a[s].querySelector(".apexcharts-series-markers-wrap");if(null!==r){var o=void 0,n="apexcharts-marker w".concat((Math.random()+1).toString(36).substring(4));"line"!==t.config.chart.type&&"area"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(n+=" no-pointer-events");var l=i.getMarkerConfig({cssClass:n,seriesIndex:Number(r.getAttribute("data:realIndex"))});(o=e.drawMarker(0,0,l)).node.setAttribute("default-marker-size",0);var h=document.createElementNS(t.globals.SVGNS,"g");h.classList.add("apexcharts-series-markers"),h.appendChild(o.node),r.appendChild(h)}}}},{key:"enlargeCurrentPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n<r.length;n++){var l=r[n].getAttribute("rel"),h=r[n].getAttribute("index");if(void 0===o&&(o=e.globals.markers.size[h]+e.config.markers.hover.sizeOffset),s===parseInt(l,10)){i.newPointSize(s,r[n]);var c=r[n].getAttribute("cx"),d=r[n].getAttribute("cy");i.tooltipPosition.moveXCrosshairs(c),a.fixedTooltip||i.tooltipPosition.moveTooltip(c,d,o)}else i.oldPointSize(r[n])}}},{key:"newPointSize",value:function(t,e){var i=this.w,a=i.config.markers.hover.size,s=0===t?e.parentNode.firstChild:e.parentNode.lastChild;if("0"!==s.getAttribute("default-marker-size")){var r=parseInt(s.getAttribute("index"),10);void 0===a&&(a=i.globals.markers.size[r]+i.config.markers.hover.sizeOffset),a<0&&(a=0),s.setAttribute("r",a)}}},{key:"oldPointSize",value:function(t){var e=parseFloat(t.getAttribute("default-marker-size"));t.setAttribute("r",e)}},{key:"resetPointsSize",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),e=0;e<t.length;e++){var i=parseFloat(t[e].getAttribute("default-marker-size"));x.isNumber(i)&&i>=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w;var i=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&"rangeBar"===i.config.chart.type&&i.config.plotOptions.bar.rangeBarGroupRows}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains("apexcharts-bar-area")||g.contains("apexcharts-candlestick-area")||g.contains("apexcharts-boxPlot-area")||g.contains("apexcharts-rangebar-area")){var u=i.target,p=u.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,v=parseInt(u.getAttribute("cx"),10),m=parseInt(u.getAttribute("cy"),10);c=parseFloat(u.getAttribute("barWidth"));var y="touchmove"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute("j"),10),n=parseInt(u.parentNode.getAttribute("rel"),10)-1;var w=u.getAttribute("data-range-y1"),k=u.getAttribute("data-range-y2");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute("data:realIndex"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=S()):(l=A(),h=i.clientY-f.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)<o.xyRatios.baseLineInvertedY&&(l=v-o.tooltipRect.ttWidth),h=S()):(l=A(),h=m)}return{x:l,y:h,barHeight:d,barWidth:c,i:n,j:r}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"drawXaxisTooltip",value:function(){var t=this.w,e=this.ttCtx,i="bottom"===t.config.xaxis.position;e.xaxisOffY=i?t.globals.gridHeight+1:-t.globals.xAxisHeight-t.config.xaxis.axisTicks.height+3;var a=i?"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom":"apexcharts-xaxistooltip apexcharts-xaxistooltip-top",s=t.globals.dom.elWrap;e.isXAxisTooltipEnabled&&(null===t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip")&&(e.xaxisTooltip=document.createElement("div"),e.xaxisTooltip.setAttribute("class",a+" apexcharts-theme-"+t.config.tooltip.theme),s.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement("div"),e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),e.xaxisTooltipText.style.fontFamily=t.config.xaxis.tooltip.style.fontFamily||t.config.chart.fontFamily,e.xaxisTooltipText.style.fontSize=t.config.xaxis.tooltip.style.fontSize,e.xaxisTooltip.appendChild(e.xaxisTooltipText)))}},{key:"drawYaxisTooltip",value:function(){for(var t=this.w,e=this.ttCtx,i=function(i){var a=t.config.yaxis[i].opposite||t.config.yaxis[i].crosshairs.opposite;e.yaxisOffX=a?t.globals.gridWidth+1:1;var s="apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i,a?" apexcharts-yaxistooltip-right":" apexcharts-yaxistooltip-left");t.globals.yAxisSameScaleIndices.map((function(e,a){e.map((function(e,a){a===i&&(s+=t.config.yaxis[a].show?" ":" apexcharts-yaxistooltip-hidden")}))}));var r=t.globals.dom.elWrap;null===t.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i))&&(e.yaxisTooltip=document.createElement("div"),e.yaxisTooltip.setAttribute("class",s+" apexcharts-theme-"+t.config.tooltip.theme),r.appendChild(e.yaxisTooltip),0===i&&(e.yaxisTooltipText=[]),e.yaxisTooltipText[i]=document.createElement("div"),e.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]))},a=0;a<t.config.yaxis.length;a++)i(a)}},{key:"setXCrosshairWidth",value:function(){var t=this.w,e=this.ttCtx,i=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width,10),t.globals.comboCharts){var a=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==a&&"barWidth"===t.config.xaxis.crosshairs.width){var s=parseFloat(a.getAttribute("barWidth"));e.xcrosshairsWidth=s}else if("tickWidth"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}}else if("tickWidth"===t.config.xaxis.crosshairs.width){var o=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/o}else if("barWidth"===t.config.xaxis.crosshairs.width){var n=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==n){var l=parseFloat(n.getAttribute("barWidth"));e.xcrosshairsWidth=l}else e.xcrosshairsWidth=1}t.globals.isBarHorizontal&&(e.xcrosshairsWidth=0),null!==i&&e.xcrosshairsWidth>0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o<t;o++)r(o);return a}},{key:"addSVGEvents",value:function(){var t=this.w,e=t.config.chart.type,i=this.getElTooltip(),a=!("bar"!==e&&"candlestick"!==e&&"boxPlot"!==e&&"rangeBar"!==e),s="area"===e||"line"===e||"scatter"===e||"bubble"===e||"radar"===e,r=t.globals.dom.Paper.node,o=this.getElGrid();o&&(this.seriesBound=o.getBoundingClientRect());var n,l=[],h=[],c={hoverArea:r,elGrid:o,tooltipEl:i,tooltipY:l,tooltipX:h,ttItems:this.ttItems};if(t.globals.axisCharts&&(s?n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"):a?n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"):"heatmap"!==e&&"treemap"!==e||(n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap")),n&&n.length))for(var d=0;d<n.length;d++)l.push(n[d].getAttribute("cy")),h.push(n[d].getAttribute("cx"));if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||a&&this.tooltipUtil.hasBars()&&this.tConfig.shared)this.addPathsEventListeners([r],c);else if(a&&!t.globals.comboCharts||s&&this.showOnIntersect)this.addDatapointEventsListeners(c);else if(!t.globals.axisCharts||"heatmap"===e||"treemap"===e){var g=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");this.addPathsEventListeners(g,c)}if(this.showOnIntersect){var u=t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker");u.length>0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s<t.length;s++)a(s)}},{key:"onSeriesHover",value:function(t,e){var i=this,a=Date.now()-this.lastHoverTime;a>=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new N(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,l<o.top||l>o.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;f<r.config.yaxis.length;f++)this.axesTooltip.drawYaxisTooltipText(f,l,this.xyRatios);s.tooltipEl.classList.add("apexcharts-active")}else"mouseout"!==a.type&&"touchend"!==a.type||this.handleMouseOut(s)}}},{key:"nonAxisChartsTooltips",value:function(t){var e=t.e,i=t.opt,a=t.tooltipRect,s=this.w,r=i.paths.getAttribute("rel"),o=this.getElTooltip(),n=s.globals.dom.elWrap.getBoundingClientRect();if("mousemove"===e.type||"touchmove"===e.type){o.classList.add("apexcharts-active"),this.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:parseInt(r,10)-1,shared:!1});var l=s.globals.clientX-n.left-a.ttWidth/2,h=s.globals.clientY-n.top-a.ttHeight-10;if(o.style.left=l+"px",o.style.top=h+"px",s.config.legend.tooltipHoverFormatter){var c=r-1,d=(0,s.config.legend.tooltipHoverFormatter)(this.legendLabels[c].getAttribute("data:default-text"),{seriesIndex:c,dataPointIndex:c,w:s});this.legendLabels[c].innerHTML=d}}else"mouseout"!==e.type&&"touchend"!==e.type||(o.classList.remove("apexcharts-active"),s.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)})))}},{key:"handleStickyTooltip",value:function(t,e,i,a){var s=this.w,r=this.tooltipUtil.getNearestValues({context:this,hoverArea:a.hoverArea,elGrid:a.elGrid,clientX:e,clientY:i}),o=r.j,n=r.capturedSeries;s.globals.collapsedSeriesIndices.includes(n)&&(n=null);var l=a.elGrid.getBoundingClientRect();if(r.hoverX<0||r.hoverX>l.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a<i.length;a++)e.pathMouseLeave(i[a])}},{key:"handleMouseOut",value:function(t){var e=this.w,i=this.getElXCrosshairs();if(t.tooltipEl.classList.remove("apexcharts-active"),this.deactivateHoverFilter(),"bubble"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==i&&i.classList.remove("apexcharts-active"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove("apexcharts-active"),this.isXAxisTooltipEnabled&&this.xaxisTooltip.classList.remove("apexcharts-active"),this.yaxisTooltips.length){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));for(var a=0;a<this.yaxisTTEls.length;a++)this.yaxisTTEls[a].classList.remove("apexcharts-active")}e.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}))}},{key:"markerClick",value:function(t,e,i){var a=this.w;"function"==typeof a.config.chart.events.markerClick&&a.config.chart.events.markerClick(t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}),this.ctx.events.fireEvent("markerClick",[t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}])}},{key:"create",value:function(t,i,a,s,r){var o,n,l,h,c,d,g,u,p,f,x,b,v,y,w,k,A=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;"mouseup"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var I=S.config.legend.tooltipHoverFormatter,M=Array.from(this.legendLabels);M.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T<M.length;T++){var z=M[T],X=parseInt(z.getAttribute("i"),10),E=decodeURIComponent(z.getAttribute("data:default-text")),Y=I(E,{seriesIndex:A?X:a,dataPointIndex:s,w:S});if(A)z.innerHTML=S.globals.collapsedSeriesIndices.indexOf(X)<0?Y:E;else if(z.innerHTML=X===a?Y:E,a===X)break}}var F=e(e({ttItems:r,i:a,j:s},void 0!==(null===(o=S.globals.seriesRange)||void 0===o||null===(n=o[a])||void 0===n||null===(l=n[s])||void 0===l||null===(h=l.y[0])||void 0===h?void 0:h.y1)&&{y1:null===(c=S.globals.seriesRange)||void 0===c||null===(d=c[a])||void 0===d||null===(g=d[s])||void 0===g||null===(u=g.y[0])||void 0===u?void 0:u.y1}),void 0!==(null===(p=S.globals.seriesRange)||void 0===p||null===(f=p[a])||void 0===f||null===(x=f[s])||void 0===x||null===(b=x.y[0])||void 0===b?void 0:b.y2)&&{y2:null===(v=S.globals.seriesRange)||void 0===v||null===(y=v[a])||void 0===y||null===(w=y[s])||void 0===w||null===(k=w.y[0])||void 0===k?void 0:k.y2});if(A){if(C.tooltipLabels.drawSeriesTexts(e(e({},F),{},{shared:!this.showOnIntersect&&this.tConfig.shared})),L)S.globals.markers.largestSize>0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),H=S.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var D=0;D<H.length;D++)R.pathMouseEnter(H[D])}}else C.tooltipLabels.drawSeriesTexts(e({shared:!1},F)),this.tooltipUtil.hasBars()&&C.tooltipPosition.moveStickyTooltipOverBars(s,a),L&&C.tooltipPosition.moveMarkers(a,s)}}]),t}(),vt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}return r(t,[{key:"handleBarDataLabels",value:function(t){var e=t.x,i=t.y,a=t.y1,s=t.y2,r=t.i,o=t.j,n=t.realIndex,l=t.groupIndex,h=t.series,c=t.barHeight,d=t.barWidth,g=t.barXPosition,u=t.barYPosition,p=t.visibleSeries,f=t.renderedPath,x=this.w,b=new m(this.barCtx.ctx),v=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[n]:this.barCtx.strokeWidth,y=e+parseFloat(d*p),w=i+parseFloat(c*p);x.globals.isXNumeric&&!x.globals.isBarHorizontal&&(y=e+parseFloat(d*(p+1)),w=i+parseFloat(c*(p+1))-v);var k,A=null,S=e,C=i,L={},P=x.config.dataLabels,I=this.barCtx.barOptions.dataLabels,M=this.barCtx.barOptions.dataLabels.total;void 0!==u&&this.barCtx.isRangeBar&&(w=u,C=u),void 0!==g&&this.barCtx.isVerticalGroupedRangeBar&&(y=g,S=g);var T=P.offsetX,z=P.offsetY,X={width:0,height:0};if(x.config.dataLabels.enabled){var E=this.barCtx.series[r][o];X=b.getTextRects(x.globals.yLabelFormatters[0](E),parseFloat(P.style.fontSize))}var Y={x:e,y:i,i:r,j:o,realIndex:n,groupIndex:l||-1,renderedPath:f,bcx:y,bcy:w,barHeight:c,barWidth:d,textRects:X,strokeWidth:v,dataLabelsX:S,dataLabelsY:C,dataLabelsConfig:P,barDataLabelsConfig:I,barTotalDataLabelsConfig:M,offX:T,offY:z};return L=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(Y):this.calculateColumnsDataLabelsPosition(Y),f.attr({cy:L.bcy,cx:L.bcx,j:o,val:h[r][o],barHeight:c,barWidth:d}),k=this.drawCalculatedDataLabels({x:L.dataLabelsX,y:L.dataLabelsY,val:this.barCtx.isRangeBar?[a,s]:h[r][o],i:n,j:o,barWidth:d,barHeight:c,textRects:X,dataLabelsConfig:P}),x.config.chart.stacked&&M.enabled&&(A=this.drawTotalDataLabels({x:L.totalDataLabelsX,y:L.totalDataLabelsY,barWidth:d,barHeight:c,realIndex:n,textAnchor:L.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:n,j:o}),dataLabelsConfig:P,barTotalDataLabelsConfig:M})),{dataLabels:k,totalDataLabels:A}}},{key:"getStackedTotalDataLabel",value:function(t){var i=t.realIndex,a=t.j,s=this.w,r=this.barCtx.stackedSeriesTotals[a];return this.totalFormatter&&(r=this.totalFormatter(r,e(e({},s),{},{seriesIndex:i,dataPointIndex:a,w:s}))),r}},{key:"calculateColumnsDataLabelsPosition",value:function(t){var e,i,a=this.w,s=t.i,r=t.j,o=t.realIndex,n=t.groupIndex,l=t.y,h=t.bcx,c=t.barWidth,d=t.barHeight,g=t.textRects,u=t.dataLabelsX,p=t.dataLabelsY,f=t.dataLabelsConfig,x=t.barDataLabelsConfig,b=t.barTotalDataLabelsConfig,v=t.strokeWidth,y=t.offX,w=t.offY;d=Math.abs(d);var k="vertical"===a.config.plotOptions.bar.dataLabels.orientation,A=this.barCtx.barHelpers.getZeroValueEncounters({i:s,j:r}).zeroEncounters;h=h-v/2+(-1!==n?n*c:0);var S=a.globals.gridWidth/a.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=c/2:(u=a.globals.isXNumeric?h-c/2+y:h-S+c/2+y,A>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=c*A)),k){u=u+g.height/2-v/2-2}var C=this.barCtx.series[s][r]<0,L=l;switch(this.barCtx.isReversed&&(L=l-d+(C?2*d:0),l-=d),x.position){case"center":p=k?C?L-d/2+w:L+d/2-w:C?L-d/2+g.height/2+w:L+d/2+g.height/2-w;break;case"bottom":p=k?C?L-d+w:L+d-w:C?L-d+g.height+v+w:L+d-g.height/2+v-w;break;case"top":p=k?C?L+w:L-w:C?L-g.height/2-w:L+g.height+w}if(this.barCtx.lastActiveBarSerieIndex===o&&b.enabled){var P=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),f.fontSize);e=C?L-P.height/2-w-b.offsetY+18:L+P.height+w+b.offsetY-18,i=u+b.offsetX}return a.config.chart.stacked||(p<0?p=0+v:p+g.height/3>a.globals.gridHeight&&(p=a.globals.gridHeight-v)),{bcx:h,bcy:l,dataLabelsX:u,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:e,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.groupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=-1!==o?o*l:0)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+h-(S?2*h:0),i=e.globals.gridWidth-h),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g+Math.round(L.width/2)-x-f.offsetX-15,A="end"):y=C-g-Math.round(L.width/2)+x+f.offsetX+15,w=k+f.offsetY}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new O(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)h<p.getTextRects(v,parseFloat(c.style.fontSize)).width&&(v="");d.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.barWidth,o=t.barHeight,n=t.realIndex,l=t.textAnchor,h=t.barTotalDataLabelsConfig,c=this.w,d=new m(this.barCtx.ctx);return h.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===n&&(e=d.drawText({x:i-(!c.globals.isBarHorizontal&&c.globals.seriesGroups.length?r/c.globals.seriesGroups.length:0),y:a-(c.globals.isBarHorizontal&&c.globals.seriesGroups.length?o/c.globals.seriesGroups.length:0),foreColor:h.style.color,text:s,textAnchor:l,fontFamily:h.style.fontFamily,fontSize:h.style.fontSize,fontWeight:h.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i<t.length;i++)if(t[i].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;a<t[i].length;a++)e.globals.seriesX[i][a]>e.globals.minX&&e.globals.seriesX[i][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1),this.barCtx.zeroSerieses=[],e.globals.comboCharts||this.checkZeroSeries({series:t})}},{key:"initialPositions",value:function(){var t,e,i,a,s,r,o,n,l=this.w,h=l.globals.dataPoints;this.barCtx.isRangeBar&&(h=l.globals.labels.length);var c=this.barCtx.seriesLen;if(l.config.plotOptions.bar.rangeBarGroupRows&&(c=1),this.barCtx.isHorizontal)s=(i=l.globals.gridHeight/h)/c,l.globals.isXNumeric&&(s=(i=l.globals.gridHeight/this.barCtx.totalItems)/this.barCtx.seriesLen),s=s*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(s=parseInt(this.barCtx.barOptions.barHeight,10)),n=this.barCtx.baseLineInvertedY+l.globals.padHorizontal+(this.barCtx.isReversed?l.globals.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(n=l.globals.gridWidth/2),e=(i-s*this.barCtx.seriesLen)/2;else{if(a=l.globals.gridWidth/this.barCtx.visibleItems,l.config.xaxis.convertedCatToNumeric&&(a=l.globals.gridWidth/l.globals.dataPoints),r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,l.globals.isXNumeric){var d=this.barCtx.xRatio;l.globals.minXDiff&&.5!==l.globals.minXDiff&&l.globals.minXDiff/d>0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"initializeStackedPrevVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]})):(t.prevY=[],t.prevX=[],t.prevYF=[],t.prevXF=[],t.prevYVal=[],t.prevXVal=[])}},{key:"initializeStackedXYVars",value:function(t){var e=t.w;e.globals.hasSeriesGroups?e.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]})):(t.xArrj=[],t.xArrjF=[],t.xArrjVal=[],t.yArrj=[],t.yArrjF=[],t.yArrjVal=[])}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new R(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[e]:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new N(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=p,x=p+u;s+=.001,r+=.001;var b=g.move(f,s),v=g.move(f,s),y=g.line(x-o,s);if(d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1)),b=b+g.line(f,r)+g.line(x-o,r)+g.line(x-o,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(f,s)+y+y+y+y+y+g.line(f,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.yArrj.push(r),w.yArrjF.push(Math.abs(s-r)),w.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=u,x=u+p;s+=.001,r+=.001;var b=g.move(s,f),v=g.move(s,f);d.globals.previousPaths.length>0&&(v=this.barCtx.getPreviousPath(l,c,!1));var y=g.line(s,x-o);if(b=b+g.line(r,f)+g.line(r,x-o)+y+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),v=v+g.line(s,f)+y+y+y+y+y+g.line(s,f)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(b=g.roundPathCorners(b,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var w=this.barCtx;d.globals.hasSeriesGroups&&n&&(w=this.barCtx[n]),w.xArrj.push(r),w.xArrjF.push(Math.abs(s-r)),w.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:b,pathFrom:v}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a<e.length;a++){for(var s=0,r=0;r<e[i.globals.maxValsInArrayIndex].length;r++)s+=e[a][r];0===s&&this.barCtx.zeroSerieses.push(a)}}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),i}},{key:"getGoalValues",value:function(t,i,a,s,r){var n=this,l=this.w,h=[],c=function(e,s){var r;h.push((o(r={},t,"x"===t?n.getXForValue(e,i,!1):n.getYForValue(e,a,!1)),o(r,"attrs",s),r))};if(l.globals.seriesGoals[s]&&l.globals.seriesGoals[s][r]&&Array.isArray(l.globals.seriesGoals[s][r])&&l.globals.seriesGoals[s][r].forEach((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[s],strokeWidth:"x"===t?l.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[s])?d[s][0]:d[s]};c(l.globals.seriesRangeStart[s][r],g),c(l.globals.seriesRangeEnd[s][r],e(e({},g),{},{strokeColor:Array.isArray(d[s])?d[s][1]:d[s]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}},{key:"drawBarShadow",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new m(this.barCtx.ctx),u=new x,p=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+("around"===s.config.plotOptions.bar.borderRadiusApplication?" Z":" z");return g.drawPath({d:p,fill:u.shadeColor(.5,x.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(t){var e=t.i,i=t.j,a=this.w,s=0,r=0;return a.globals.seriesPercent.forEach((function(t,a){t[i]&&s++,a<e&&0===t[i]&&r++})),{nonZeroColumns:s,zeroEncounters:r}}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0,this.pathArr=[];var r=new N(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,l=0;n<t.length;n++,l++){var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=a.globals.comboCharts?i[n]:n,w=s.group({class:"apexcharts-series",rel:n+1,seriesName:x.escapeString(a.globals.seriesNames[v]),"data:realIndex":v});this.ctx.series.addCollapsedClassToSeries(w,v),t[n].length>0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();p=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);var C=s.group({class:"apexcharts-datalabels","data:realIndex":v});a.globals.delayedElements.push({el:C.node}),C.node.classList.add("apexcharts-element-hidden");var L=s.group({class:"apexcharts-bar-goals-markers"}),P=s.group({class:"apexcharts-bar-shadows"});a.globals.delayedElements.push({el:P.node}),P.node.classList.add("apexcharts-element-hidden");for(var I=0;I<t[n].length;I++){var M=this.barHelpers.getStrokeWidth(n,I,v),T=null,z={indexes:{i:n,j:I,realIndex:v,bc:l},x:u,y:p,strokeWidth:M,elSeries:w};this.isHorizontal?(T=this.drawBarPaths(e(e({},z),{},{barHeight:k,zeroW:g,yDivision:c})),A=this.series[n][I]/this.invertedYRatio):(T=this.drawColumnPaths(e(e({},z),{},{xDivision:h,barWidth:A,zeroH:d})),k=this.series[n][I]/this.yRatio[this.yaxisIndex]);var X=this.barHelpers.getPathFillColor(t,n,I,v);if(this.isFunnel&&this.barOptions.isFunnel3d&&this.pathArr.length&&I>0){var E=this.barHelpers.drawBarShadow({color:"string"==typeof X&&-1===(null==X?void 0:X.indexOf("url"))?X:x.hexToRgba(a.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});E&&P.add(E)}this.pathArr.push(T);var Y=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:k,barWidth:A});Y&&L.add(Y),p=T.y,u=T.x,I>0&&b.push(u+A/2),f.push(p),this.renderSeries({realIndex:v,pathFill:X,j:I,i:n,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:M,elSeries:w,x:u,y:p,series:t,barHeight:T.barHeight?T.barHeight:k,barWidth:T.barWidth?T.barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,elBarShadows:P,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(w)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.groupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barXPosition,w=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,I=new m(this.ctx);a||(a=this.barOptions.distributed?P.globals.stroke.colors[s]:P.globals.stroke.colors[e]),P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var M=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,T=I.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:M,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(L,"-area")});T.attr("clip-path","url(#gridRectMask".concat(P.globals.cuid,")"));var z=P.config.forecastDataPoints;z.count>0&&s>=P.globals.dataPoints-z.count&&(T.node.setAttribute("stroke-dasharray",z.dashArray),T.node.setAttribute("stroke-width",z.strokeWidth),T.node.setAttribute("fill-opacity",z.fillOpacity)),void 0!==u&&void 0!==p&&(T.attr("data-range-y1",u),T.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(T,e,s),c.add(T);var X=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,groupIndex:o,barHeight:x,barWidth:b,barXPosition:y,barYPosition:w,renderedPath:T,visibleSeries:C});return null!==X.dataLabels&&k.add(X.dataLabels),X.totalDataLabels&&k.add(X.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e<d&&0===t[g]&&p++})),u>0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues("x",r,null,d,g),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.i,u=i.j,p=i.bc;if(c.globals.isXNumeric){var f=this.getBarXForNumericXAxis({x:a,j:u,realIndex:d,barWidth:o});a=f.x,e=f.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var x=this.barHelpers.getZeroValueEncounters({i:g,j:u}),b=x.nonZeroColumns,v=x.zeroEncounters;b>0&&(o=this.seriesLen*o/b),e=a+o*this.visibleI,e-=o*v}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][u],n);var m=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:p,j:u,i:g,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:m.pathTo,pathFrom:m.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,g,u),barXPosition:e,barWidth:o}}},{key:"getBarXForNumericXAxis",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s<a.globals.previousPaths.length;s++){var r=a.globals.previousPaths[s];r.paths&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=-1;a.groupCtx=a,s.globals.seriesGroups.forEach((function(t,e){t.indexOf(s.config.series[r].name)>-1&&(p=e)})),-1!==p&&(a.groupCtx=a[s.globals.seriesGroups[p]]);var f=[],b=[],v=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=v),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var m=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:r+1,"data:realIndex":v});a.ctx.series.addCollapsedClassToSeries(m,v);var y=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":v}),w=a.graphics.group({class:"apexcharts-bar-goals-markers"}),k=0,A=0,S=a.initialPositions(n,l,c,d,g,u);l=S.y,k=S.barHeight,d=S.yDivision,u=S.zeroW,n=S.x,A=S.barWidth,c=S.xDivision,g=S.zeroH,s.globals.barHeight=k,s.globals.barWidth=A,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(t){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(t){return 0})));for(var C=0;C<s.globals.dataPoints;C++){var L=a.barHelpers.getStrokeWidth(r,C,v),P={indexes:{i:r,j:C,realIndex:v,bc:h},strokeWidth:L,x:n,y:l,elSeries:m,groupIndex:p,seriesGroup:s.globals.seriesGroups[p]},I=null;a.isHorizontal?(I=a.drawStackedBarPaths(e(e({},P),{},{zeroW:u,barHeight:k,yDivision:d})),A=a.series[r][C]/a.invertedYRatio):(I=a.drawStackedColumnPaths(e(e({},P),{},{xDivision:c,barWidth:A,zeroH:g})),k=a.series[r][C]/a.yRatio[a.yaxisIndex]);var M=a.barHelpers.drawGoalLine({barXPosition:I.barXPosition,barYPosition:I.barYPosition,goalX:I.goalX,goalY:I.goalY,barHeight:k,barWidth:A});M&&w.add(M),l=I.y,n=I.x,f.push(n),b.push(l);var T=a.barHelpers.getPathFillColor(t,r,C,v);m=a.renderSeries({realIndex:v,pathFill:T,j:C,i:r,groupIndex:p,pathFrom:I.pathFrom,pathTo:I.pathTo,strokeWidth:L,elSeries:m,x:n,y:l,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:y,elGoalsMarkers:w,type:"bar",visibleSeries:0})}s.globals.seriesXvalues[v]=f,s.globals.seriesYvalues[v]=b,a.groupCtx.prevY.push(a.groupCtx.yArrj),a.groupCtx.prevYF.push(a.groupCtx.yArrjF),a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),a.groupCtx.prevX.push(a.groupCtx.xArrj),a.groupCtx.prevXF.push(a.groupCtx.xArrjF),a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),o.add(m)},c=0,d=0;c<t.length;c++,d++)h(c,d);return o}},{key:"initialPositions",value:function(t,e,i,a,s,r){var o,n,l,h,c=this.w;return this.isHorizontal?(l=(l=a=c.globals.gridHeight/c.globals.dataPoints)*parseInt(c.config.plotOptions.bar.barHeight,10)/100,-1===String(c.config.plotOptions.bar.barHeight).indexOf("%")&&(l=parseInt(c.config.plotOptions.bar.barHeight,10)),r=this.baseLineInvertedY+c.globals.padHorizontal+(this.isReversed?c.globals.gridWidth:0)-(this.isReversed?2*this.baseLineInvertedY:0),e=(a-l)/2):(h=i=c.globals.gridWidth/c.globals.dataPoints,h=c.globals.isXNumeric&&c.globals.dataPoints>1?(i=c.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:h*parseInt(c.config.plotOptions.bar.columnWidth,10)/100,-1===String(c.config.plotOptions.bar.columnWidth).indexOf("%")&&(h=parseInt(c.config.plotOptions.bar.columnWidth,10)),s=c.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?c.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=c.globals.padHorizontal+(i-h)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:null!==(o=c.globals.seriesGroups)&&void 0!==o&&o.length?l/c.globals.seriesGroups.length:l,barWidth:null!==(n=c.globals.seriesGroups)&&void 0!==n&&n.length?h/c.globals.seriesGroups.length:h,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.groupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+(-1!==l?l*a:0),p=i.i,f=i.j,x=0,b=0;b<this.groupCtx.prevXF.length;b++)x+=this.groupCtx.prevXF[b][f];var v=p;if(h&&(v=h.indexOf(g.config.series[p].name)),v>0){var m=r;this.groupCtx.prevXVal[v-1][f]<0?m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]+x-2*(this.isReversed?x:0):this.groupCtx.prevX[v-1][f]:this.groupCtx.prevXVal[v-1][f]>=0&&(m=this.series[p][f]>=0?this.groupCtx.prevX[v-1][f]:this.groupCtx.prevX[v-1][f]-x+2*(this.isReversed?x:0)),e=m}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var y=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:y.pathTo,pathFrom:y.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f),barYPosition:u,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.groupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc;if(c.globals.isXNumeric){var p=c.globals.seriesX[d][g];p||(p=0),i=(p-c.globals.minX)/this.xRatio-r/2,c.globals.seriesGroups.length&&(i=(p-c.globals.minX)/this.xRatio-r/2*c.globals.seriesGroups.length)}for(var f,x=i+(-1!==n?n*r:0),b=0,v=0;v<this.groupCtx.prevYF.length;v++)b+=isNaN(this.groupCtx.prevYF[v][g])?0:this.groupCtx.prevYF[v][g];var m=d;if(l&&(m=l.indexOf(c.config.series[d].name)),m>0&&!c.globals.isXNumeric||m>0&&c.globals.isXNumeric&&c.globals.seriesX[d-1][g]===c.globals.seriesX[d][g]){var y,w,k,A=Math.min(this.yRatio.length+1,d+1);if(void 0!==this.groupCtx.prevY[m-1]&&this.groupCtx.prevY[m-1].length)for(var S=1;S<A;S++){var C;if(!isNaN(null===(C=this.groupCtx.prevY[m-S])||void 0===C?void 0:C[g])){k=this.groupCtx.prevY[m-S][g];break}}for(var L=1;L<A;L++){var P,I;if((null===(P=this.groupCtx.prevYVal[m-L])||void 0===P?void 0:P[g])<0){w=this.series[d][g]>=0?k-b+2*(this.isReversed?b:0):k;break}if((null===(I=this.groupCtx.prevYVal[m-L])||void 0===I?void 0:I[g])>=0){w=this.series[d][g]>=0?k:k+b-2*(this.isReversed?b:0);break}}void 0===w&&(w=c.globals.gridHeight),f=null!==(y=this.groupCtx.prevYF[0])&&void 0!==y&&y.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,m).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:w}else f=o;a=this.series[d][g]?f-this.series[d][g]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[d][g]/this.yRatio[this.yaxisIndex]:0):f;var M=this.barHelpers.getColumnPaths({barXPosition:x,barWidth:r,y1:f,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:x,x2:r,elSeries:h}),i+=s,{pathTo:M.pathTo,pathFrom:M.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:x,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(yt),kt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new R(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),d=function(i){s.isBoxPlot="boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(m,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var y,w;s.yRatio.length>1&&(s.yaxisIndex=v);var k=s.barHelpers.initialPositions();p=k.y,y=k.barHeight,h=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,n=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=o.group({class:"apexcharts-datalabels","data:realIndex":v}),S=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v},x:u,y:p,strokeWidth:o,elSeries:m};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:y,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:w,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+w/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:m,x:u,y:p,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:s.visibleI,type:r.config.chart.type})}))},C=0;C<r.globals.dataPoints;C++)S(C);r.globals.seriesXvalues[v]=b,r.globals.seriesYvalues[v]=f,c.add(m)},g=0;g<t.length;g++)d(g);return c}},{key:"drawVerticalBoxPaths",value:function(t){var e=t.indexes,i=t.x;t.y;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=!0,g=n.config.plotOptions.candlestick.colors.upward,u=n.config.plotOptions.candlestick.colors.downward,p="";this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.yRatio[this.yaxisIndex],x=e.realIndex,b=this.getOHLCValue(x,c),v=r,y=r;b.o>b.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(yt),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.min<a.globals.minY?r.colorScale.min:a.globals.minY,c=r.colorScale.max>a.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new O(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h<l.length:h>=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p<l[h].length;p++){var f=this.helpers.getShadeColor(e.config.chart.type,h,p,this.negRange),b=f.color,y=f.colorProps;if("image"===e.config.fill.type)b=new R(this.ctx).fillPath({seriesNumber:h,dataPointIndex:p,opacity:e.globals.hasNegs?y.percent<0?1-(1+y.percent/100):u+y.percent/100:y.percent/100,patternID:x.randomId(),width:e.config.fill.image.width?e.config.fill.image.width:s,height:e.config.fill.image.height?e.config.fill.image.height:r});var w=this.rectRadius,k=i.drawRect(g,o,s,r,w);if(k.attr({cx:g,cy:o}),k.node.classList.add("apexcharts-heatmap-rect"),c.add(k),k.attr({fill:b,i:h,index:h,j:p,val:t[h][p],"stroke-width":this.strokeWidth,stroke:e.config.plotOptions.heatmap.useFillColorAsStroke?b:e.globals.stroke.colors[0],color:b}),this.helpers.addListeners(k),e.config.chart.animations.enabled&&!e.globals.dataChanged){var A=1;e.globals.resized||(A=e.config.chart.animations.speed),this.animateHeatMap(k,g,o,s,r,A)}if(e.globals.dataChanged){var S=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){S=this.dynamicAnim.speed;var C=e.globals.previousPaths[h]&&e.globals.previousPaths[h][p]&&e.globals.previousPaths[h][p].color;C||(C="rgba(255, 255, 255, 0)"),this.animateHeatColor(k,x.isColorHex(C)?C:x.rgb2hex(C),x.isColorHex(b)?b:x.rgb2hex(b),S)}}var L=(0,e.config.dataLabels.formatter)(e.globals.series[h][p],{value:e.globals.series[h][p],seriesIndex:h,dataPointIndex:p,w:e}),P=this.helpers.calculateDataLabels({text:L,x:g+s/2,y:o+r/2,i:h,j:p,colorProps:y,series:l});null!==P&&c.add(P),g+=s}o+=r,a.add(c)}var I=e.globals.yAxisScale[0].result.slice();return e.config.yaxis[0].reversed?I.unshift(""):I.push(""),e.globals.yAxisScale[0].result=I,a}},{key:"animateHeatMap",value:function(t,e,i,a,s,r){var o=new b(this.ctx);o.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){o.animationCompleted(t)}))}},{key:"animateHeatColor",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),Ct=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawYAxisTexts",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],o=s.globals.yLabelFormatters[0];return new m(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:o(a,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=Math.min(i.globals.gridWidth,i.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=i.globals.gridWidth/2,"radialBar"===i.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(i.config.plotOptions.pie.endAngle-i.config.plotOptions.pie.startAngle),this.initialAngle=i.config.plotOptions.pie.startAngle%this.fullAngle,i.globals.radialSize=this.defaultSize/2.05-i.config.stroke.width-(i.config.chart.sparkline.enabled?0:i.config.chart.dropShadow.blur),this.donutSize=i.globals.radialSize*parseInt(i.config.plotOptions.pie.donut.size,10)/100,this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return r(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new m(this.ctx);if(this.ret=a.group({class:"apexcharts-pie"}),i.globals.noData)return this.ret;for(var s=0,r=0;r<t.length;r++)s+=x.negToZero(t[r]);var o=[],n=a.group();0===s&&(s=1e-5),t.forEach((function(t){e.maxY=Math.max(e.maxY,t)})),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(this.ret);for(var l=0;l<t.length;l++){var h=this.fullAngle*x.negToZero(t[l])/s;o.push(h),"polarArea"===this.chartType?(o[l]=this.fullAngle/t.length,this.sliceSizes.push(i.globals.radialSize*t[l]/this.maxY)):this.sliceSizes.push(i.globals.radialSize)}if(i.globals.dataChanged){for(var c,d=0,g=0;g<i.globals.previousPaths.length;g++)d+=x.negToZero(i.globals.previousPaths[g]);for(var u=0;u<i.globals.previousPaths.length;u++)c=this.fullAngle*x.negToZero(i.globals.previousPaths[u])/d,this.prevSectorAngleArr.push(c)}this.donutSize<0&&(this.donutSize=0);var p=i.config.plotOptions.pie.customScale,f=i.globals.gridWidth/2,b=i.globals.gridHeight/2,v=f-i.globals.gridWidth/2*p,y=b-i.globals.gridHeight/2*p;if("donut"===this.chartType){var w=a.drawCircle(this.donutSize);w.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),n.add(w)}var k=this.drawArcs(o,t);if(this.sliceLabels.forEach((function(t){k.add(t)})),n.attr({transform:"translate(".concat(v,", ").concat(y,") scale(").concat(p,")")}),n.add(k),this.ret.add(n),this.donutDataLabels.show){var A=this.renderInnerDataLabels(this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show,translateX:v,translateY:y});this.ret.add(A)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(this.ret),this.ret}},{key:"drawArcs",value:function(t,e){var i=this.w,a=new v(this.ctx),s=new m(this.ctx),r=new R(this.ctx),o=s.group({class:"apexcharts-slices"}),n=this.initialAngle,l=this.initialAngle,h=this.initialAngle,c=this.initialAngle;this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0;for(var d=0;d<t.length;d++){var g=s.group({class:"apexcharts-series apexcharts-pie-series",seriesName:x.escapeString(i.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});o.add(g),l=c,h=(n=h)+t[d],c=l+this.prevSectorAngleArr[d];var u=h<n?this.fullAngle+h-n:h-n,p=r.fillPath({seriesNumber:d,size:this.sliceSizes[d],value:e[d]}),f=this.getChangedPath(l,c),b=s.drawPath({d:f,stroke:Array.isArray(this.lineColorArr)?this.lineColorArr[d]:this.lineColorArr,strokeWidth:0,fill:p,fillOpacity:i.config.fill.opacity,classes:"apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(d)});if(b.attr({index:0,j:d}),a.setSelectionFilter(b,0,d),i.config.chart.dropShadow.enabled){var y=i.config.chart.dropShadow;a.dropShadow(b,y,d)}this.addListeners(b,this.donutDataLabels),m.setAttrs(b.node,{"data:angle":u,"data:startAngle":n,"data:strokeWidth":this.strokeWidth,"data:value":e[d]});var w={x:0,y:0};"pie"===this.chartType||"polarArea"===this.chartType?w=x.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize/1.25+i.config.plotOptions.pie.dataLabels.offset,(n+u/2)%this.fullAngle):"donut"===this.chartType&&(w=x.polarToCartesian(this.centerX,this.centerY,(i.globals.radialSize+this.donutSize)/2+i.config.plotOptions.pie.dataLabels.offset,(n+u/2)%this.fullAngle)),g.add(b);var k=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged?this.animBeginArr.push(0):(0===(k=u/this.fullAngle*i.config.chart.animations.speed)&&(k=1),this.animDur=k+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&i.globals.dataChanged?this.animatePaths(b,{size:this.sliceSizes[d],endAngle:h,startAngle:n,prevStartAngle:l,prevEndAngle:c,animateStartingPos:!0,i:d,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:i.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(b,{size:this.sliceSizes[d],endAngle:h,startAngle:n,i:d,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:k}),i.config.plotOptions.pie.expandOnClick&&"polarArea"!==this.chartType&&b.click(this.pieClicked.bind(this,d)),void 0!==i.globals.selectedDataPoints[0]&&i.globals.selectedDataPoints[0].indexOf(d)>-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabel<t[d]){var L=i.config.dataLabels.formatter;void 0!==L&&(C=L(i.globals.seriesPercent[d][0],{seriesIndex:d,w:i}));var P=i.globals.dataLabels.style.colors[d],I=s.group({class:"apexcharts-datalabels"}),M=s.drawText({x:A,y:S,text:C,textAnchor:"middle",fontSize:i.config.dataLabels.style.fontSize,fontFamily:i.config.dataLabels.style.fontFamily,fontWeight:i.config.dataLabels.style.fontWeight,foreColor:P});if(I.add(M),i.config.dataLabels.dropShadow.enabled){var T=i.config.dataLabels.dropShadow;a.dropShadow(M,T)}M.node.classList.add("apexcharts-pie-label"),i.config.chart.animations.animate&&!1===i.globals.resized&&(M.node.classList.add("apexcharts-pie-label-delay"),M.node.style.animationDelay=i.config.chart.animations.speed/940+"s"),this.sliceLabels.push(I)}}}return o}},{key:"addListeners",value:function(t,e){var i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,t)),t.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this,t)),this.donutDataLabels.total.showAlways||(t.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,t.node,e)))}},{key:"animatePaths",value:function(t,e){var i=this.w,a=e.endAngle<e.startAngle?this.fullAngle+e.endAngle-e.startAngle:e.endAngle-e.startAngle,s=a,r=e.startAngle,o=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(r=e.prevEndAngle,s=e.prevEndAngle<e.prevStartAngle?this.fullAngle+e.prevEndAngle-e.prevStartAngle:e.prevEndAngle-e.prevStartAngle),e.i===i.config.series.length-1&&(a+o>this.fullAngle?e.endAngle=e.endAngle-(a+o):a+o<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(a+o)))),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(t,r,o,a,s,e)}},{key:"animateArc",value:function(t,e,i,a,s,r){var o,n=this,l=this.w,h=new b(this.ctx),c=r.size;(isNaN(e)||isNaN(s))&&(e=i,s=a,r.dur=0);var d=a,g=i,u=e<i?this.fullAngle+e-i:e-i;l.globals.dataChanged&&r.shouldSetPrevPaths&&r.prevEndAngle&&(o=n.getPiePath({me:n,startAngle:r.prevStartAngle,angle:r.prevEndAngle<r.prevStartAngle?this.fullAngle+r.prevEndAngle-r.prevStartAngle:r.prevEndAngle-r.prevStartAngle,size:c}),t.attr({d:o})),0!==r.dur?t.animate(r.dur,l.globals.easing,r.animBeginArr[r.i]).afterAll((function(){"pie"!==n.chartType&&"donut"!==n.chartType&&"polarArea"!==n.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":n.strokeWidth}),r.i===l.config.series.length-1&&h.animationCompleted(t)})).during((function(l){d=u+(a-u)*l,r.animateStartingPos&&(d=s+(a-s)*l,g=e-s+(i-(e-s))*l),o=n.getPiePath({me:n,startAngle:g,angle:d,size:c}),t.node.setAttribute("data:pathOrig",o),t.attr({d:o})})):(o=n.getPiePath({me:n,startAngle:g,angle:a,size:c}),r.isTrack||(l.globals.animationEnded=!0),t.node.setAttribute("data:pathOrig",o),t.attr({d:o,"stroke-width":n.strokeWidth}))}},{key:"pieClicked",value:function(t){var e,i=this.w,a=this,s=a.sliceSizes[t]+(i.config.plotOptions.pie.expandOnClick?4:0),r=i.globals.dom.Paper.select(".apexcharts-".concat(a.chartType.toLowerCase(),"-slice-").concat(t)).members[0];if("true"!==r.attr("data:pieClicked")){var o=i.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(o,(function(t){t.setAttribute("data:pieClicked","false");var e=t.getAttribute("data:pathOrig");e&&t.setAttribute("d",e)})),r.attr("data:pieClicked","true");var n=parseInt(r.attr("data:startAngle"),10),l=parseInt(r.attr("data:angle"),10);e=a.getPiePath({me:a,startAngle:n,angle:l,size:s}),360!==l&&r.plot(e)}else{r.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(r.node,this.donutDataLabels);var h=r.attr("data:pathOrig");r.attr({d:h})}}},{key:"getChangedPath",value:function(t,e){var i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),i}},{key:"getPiePath",value:function(t){var e,i=t.me,a=t.startAngle,s=t.angle,r=t.size,o=new m(this.ctx),n=a,l=Math.PI*(n-90)/180,h=s+a;Math.ceil(h)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),b=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),v=s>180?1:0,y=["M",d,g,"A",r,r,0,v,1,u,p];return e="donut"===i.chartType?[].concat(y,["L",f.x,f.y,"A",i.donutSize,i.donutSize,0,v,0,b.x,b.y,"L",d,g,"z"]).join(" "):"pie"===i.chartType||"polarArea"===i.chartType?[].concat(y,["L",i.centerX,i.centerY,"L",d,g]).join(" "):[].concat(y).join(" "),o.roundPathCorners(e,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g<h-1;g++){var u=a.drawCircle(c);if(u.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":e.config.plotOptions.polarArea.rings.strokeWidth,stroke:e.config.plotOptions.polarArea.rings.strokeColor}),e.config.yaxis[0].show){var p=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(e.config.yaxis[0].labels.style.fontSize,10)/2,g,l[g]);o.add(p)}r.add(u),c-=d}this.drawSpokes(t),t.add(r),t.add(o)}},{key:"renderInnerDataLabels",value:function(t,e){var i=this.w,a=new m(this.ctx),s=a.group({class:"apexcharts-datalabels-group",transform:"translate(".concat(e.translateX?e.translateX:0,", ").concat(e.translateY?e.translateY:0,") scale(").concat(i.config.plotOptions.pie.customScale,")")}),r=t.total.show;s.node.style.opacity=e.opacity;var o,n,l=e.centerX,h=e.centerY;o=void 0===t.name.color?i.globals.colors[0]:t.name.color;var c=t.name.fontSize,d=t.name.fontFamily,g=t.name.fontWeight;n=void 0===t.value.color?i.config.chart.foreColor:t.value.color;var u=t.value.formatter,p="",f="";if(r?(o=t.total.color,c=t.total.fontSize,d=t.total.fontFamily,g=t.total.fontWeight,f=t.total.label,p=t.total.formatter(i)):1===i.globals.series.length&&(p=u(i.globals.series[0],i),f=i.globals.seriesNames[0]),f&&(f=t.name.formatter(f,t.total.show,i)),t.name.show){var x=a.drawText({x:l,y:h+parseFloat(t.name.offsetY),text:f,textAnchor:"middle",foreColor:o,fontSize:c,fontWeight:g,fontFamily:d});x.node.classList.add("apexcharts-datalabel-label"),s.add(x)}if(t.value.show){var b=t.name.show?parseFloat(t.value.offsetY)+16:t.value.offsetY,v=a.drawText({x:l,y:h+b,text:p,textAnchor:"middle",foreColor:n,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});v.node.classList.add("apexcharts-datalabel-value"),s.add(v)}return s}},{key:"printInnerLabels",value:function(t,e,i,a){var s,r=this.w;a?s=void 0===t.name.color?r.globals.colors[parseInt(a.parentNode.getAttribute("rel"),10)-1]:t.name.color:r.globals.series.length>1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n<i.globals.series.length;n++)r.push(x.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize,i.config.plotOptions.pie.startAngle+o*n));r.forEach((function(i,r){var o=a.drawLine(i.x,i.y,e.centerX,e.centerY,Array.isArray(s.connectorColors)?s.connectorColors[r]:s.connectorColors);t.add(o)}))}}},{key:"revertDataLabelsInner",value:function(t,e,i){var a=this,s=this.w,r=s.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group"),o=!1,n=s.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area"),l=function(t){var i=t.makeSliceOut,s=t.printLabel;Array.prototype.forEach.call(n,(function(t){"true"===t.getAttribute("data:pieClicked")&&(i&&(o=!0),s&&a.printDataLabelsInner(t,e))}))};if(l({makeSliceOut:!0,printLabel:!1}),e.total.show&&s.globals.series.length>1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight<i.globals.svgWidth?i.globals.gridHeight+1.5*i.globals.goldenPadding:i.globals.gridWidth,this.isLog=i.config.yaxis[0].logarithmic,this.coreUtils=new y(this.ctx),this.maxValue=this.isLog?this.coreUtils.getLogVal(i.globals.maxY,0):i.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.w.globals.minY,0):i.globals.minY,this.polygons=i.config.plotOptions.radar.polygons,this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-i.config.chart.dropShadow.blur,i.config.xaxis.labels.show&&(this.size=this.size-i.globals.xAxisLabelsWidth/1.75),void 0!==i.config.plotOptions.radar.size&&(this.size=i.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.yaxisLabelsTextsPos=[]}return r(t,[{key:"draw",value:function(t){var i=this,a=this.w,s=new R(this.ctx),r=[],o=new O(this.ctx);t.length&&(this.dataPointsLen=t[a.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;var n=a.globals.gridWidth/2,l=a.globals.gridHeight/2,h=n+a.config.plotOptions.radar.offsetX,c=l+a.config.plotOptions.radar.offsetY,d=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:"translate(".concat(h||0,", ").concat(c||0,")")}),g=[],u=null,p=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((function(t,n){var l=t.length===a.globals.dataPoints,h=i.graphics.group().attr({class:"apexcharts-series","data:longestSeries":l,seriesName:x.escapeString(a.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});i.dataRadiusOfPercent[n]=[],i.dataRadius[n]=[],i.angleArr[n]=[],t.forEach((function(t,e){var a=Math.abs(i.maxValue-i.minValue);t+=Math.abs(i.minValue),i.isLog&&(t=i.coreUtils.getLogVal(t,0)),i.dataRadiusOfPercent[n][e]=t/a,i.dataRadius[n][e]=i.dataRadiusOfPercent[n][e]*i.size,i.angleArr[n][e]=e*i.disAngle})),g=i.getDataPointsPos(i.dataRadius[n],i.angleArr[n]);var c=i.createPaths(g,{x:0,y:0});u=i.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),p=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":n}),a.globals.delayedElements.push({el:u.node,index:n});var d={i:n,realIndex:n,animationDelay:n,initialSpeed:a.config.chart.animations.speed,dataChangeSpeed:a.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:a.globals.stroke.colors[n],strokeLineCap:a.config.stroke.lineCap},f=null;a.globals.previousPaths.length>0&&(f=i.getPreviousPath(n));for(var b=0;b<c.linePathsTo.length;b++){var m=i.graphics.renderPaths(e(e({},d),{},{pathFrom:null===f?c.linePathsFrom[b]:f,pathTo:c.linePathsTo[b],strokeWidth:Array.isArray(i.strokeWidth)?i.strokeWidth[n]:i.strokeWidth,fill:"none",drawShadow:!1}));h.add(m);var y=s.fillPath({seriesNumber:n}),w=i.graphics.renderPaths(e(e({},d),{},{pathFrom:null===f?c.areaPathsFrom[b]:f,pathTo:c.areaPathsTo[b],strokeWidth:0,fill:y,drawShadow:!1}));if(a.config.chart.dropShadow.enabled){var k=new v(i.ctx),A=a.config.chart.dropShadow;k.dropShadow(w,Object.assign({},A,{noUserSpaceOnUse:!0}),n)}h.add(w)}t.forEach((function(t,s){var r=new H(i.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:n,dataPointIndex:s}),l=i.graphics.drawMarker(g[s].x,g[s].y,r);l.attr("rel",s),l.attr("j",s),l.attr("index",n),l.node.setAttribute("default-marker-size",r.pSize);var c=i.graphics.group({class:"apexcharts-series-markers"});c&&c.add(l),u.add(c),h.add(u);var d=a.config.dataLabels;if(d.enabled){var f=d.formatter(a.globals.series[n][s],{seriesIndex:n,dataPointIndex:s,w:a});o.plotDataLabelsText({x:g[s].x,y:g[s].y,text:f,textAnchor:"middle",i:n,j:n,parent:p,offsetCorrection:!1,dataLabelsConfig:e({},d)})}h.add(p)})),r.push(h)})),this.drawPolygons({parent:d}),a.config.xaxis.labels.show){var f=this.drawXAxisTexts();d.add(f)}return r.forEach((function(t){d.add(t)})),d.add(this.yaxisLabels),d}},{key:"drawPolygons",value:function(t){for(var e=this,i=this.w,a=t.parent,s=new Ct(this.ctx),r=i.globals.yAxisScale[0].result.reverse(),o=r.length,n=[],l=this.size/(o-1),h=0;h<o;h++)n[h]=l*h;n.reverse();var c=[],d=[];n.forEach((function(t,i){var a=x.getPolygonPos(t,e.dataPointsLen),s="";a.forEach((function(t,a){if(0===i){var r=e.graphics.drawLine(t.x,t.y,0,0,Array.isArray(e.polygons.connectorColors)?e.polygons.connectorColors[a]:e.polygons.connectorColors);d.push(r)}0===a&&e.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),s+=t.x+","+t.y+" "})),c.push(s)})),c.forEach((function(t,s){var r=e.polygons.strokeColors,o=e.polygons.strokeWidth,n=e.graphics.drawPolygon(t,Array.isArray(r)?r[s]:r,Array.isArray(o)?o[s]:o,i.globals.radarPolygons.fill.colors[s]);a.add(n)})),d.forEach((function(t){a.add(t)})),i.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((function(t,i){var a=s.drawYAxisTexts(t.x,t.y,i,r[i]);e.yaxisLabels.add(a)}))}},{key:"drawXAxisTexts",value:function(){var t=this,i=this.w,a=i.config.xaxis.labels,s=this.graphics.group({class:"apexcharts-xaxis"}),r=x.getPolygonPos(this.size,this.dataPointsLen);return i.globals.labels.forEach((function(o,n){var l=i.config.xaxis.labels.formatter,h=new O(t.ctx);if(r[n]){var c=t.getTextPos(r[n],t.size),d=l(o,{seriesIndex:-1,dataPointIndex:n,w:i});h.plotDataLabelsText({x:c.newX,y:c.newY,text:d,textAnchor:c.textAnchor,i:n,j:n,parent:s,color:Array.isArray(a.style.colors)&&a.style.colors[n]?a.style.colors[n]:"#a8a8a8",dataLabelsConfig:e({textAnchor:c.textAnchor,dropShadow:{enabled:!1}},a),offsetCorrection:!1})}})),s}},{key:"createPaths",value:function(t,e){var i=this,a=[],s=[],r=[],o=[];if(t.length){s=[this.graphics.move(e.x,e.y)],o=[this.graphics.move(e.x,e.y)];var n=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((function(e,a){n+=i.graphics.line(e.x,e.y),l+=i.graphics.line(e.x,e.y),a===t.length-1&&(n+="Z",l+="Z")})),a.push(n),r.push(l)}return{linePathsFrom:s,linePathsTo:a,areaPathsFrom:o,areaPathsTo:r}}},{key:"getTextPos",value:function(t,e){var i="middle",a=t.x,s=t.y;return Math.abs(t.x)>=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a<e.globals.previousPaths.length;a++){var s=e.globals.previousPaths[a];s.paths.length>0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s<i;s++){var r={};r.x=t[s]*Math.sin(e[s]),r.y=-t[s]*Math.cos(e[s]),a.push(r)}return a}}]),t}(),It=function(t){n(i,t);var e=d(i);function i(t){var s;a(this,i),(s=e.call(this,t)).ctx=t,s.w=t.w,s.animBeginArr=[0],s.animDur=0;var r=s.w;return s.startAngle=r.config.plotOptions.radialBar.startAngle,s.endAngle=r.config.plotOptions.radialBar.endAngle,s.totalAngle=Math.abs(r.config.plotOptions.radialBar.endAngle-r.config.plotOptions.radialBar.startAngle),s.trackStartAngle=r.config.plotOptions.radialBar.track.startAngle,s.trackEndAngle=r.config.plotOptions.radialBar.track.endAngle,s.barLabels=s.w.config.plotOptions.radialBar.barLabels,s.donutDataLabels=s.w.config.plotOptions.radialBar.dataLabels,s.radialDataLabels=s.donutDataLabels,s.trackStartAngle||(s.trackStartAngle=s.startAngle),s.trackEndAngle||(s.trackEndAngle=s.endAngle),360===s.endAngle&&(s.endAngle=359.99),s.margin=parseInt(r.config.plotOptions.radialBar.track.margin,10),s.onBarLabelClick=s.onBarLabelClick.bind(c(s)),s}return r(i,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-radialbar"});if(e.globals.noData)return a;var s=i.group(),r=this.defaultSize/2,o=e.globals.gridWidth/2,n=this.defaultSize/2.05;e.config.chart.sparkline.enabled||(n=n-e.config.stroke.width-e.config.chart.dropShadow.blur);var l=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var h=this.drawTracks({size:n,centerX:o,centerY:r,colorArr:l,series:t});s.add(h)}var c=this.drawArcs({size:n,centerX:o,centerY:r,colorArr:l,series:t}),d=360;e.config.plotOptions.radialBar.startAngle<0&&(d=this.totalAngle);var g=(360-d)/360;if(e.globals.radialSize=n-n*g,this.radialDataLabels.value.show){var u=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);e.globals.radialSize+=u*g}return s.add(c.g),"front"===e.config.plotOptions.radialBar.hollow.position&&(c.g.add(c.elHollow),c.dataLabels&&c.g.add(c.dataLabels)),a.add(s),a}},{key:"drawTracks",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-tracks"}),s=new v(this.ctx),r=new R(this.ctx),o=this.getStrokeWidth(t);t.size=t.size-o/2;for(var n=0;n<t.series.length;n++){var l=i.group({class:"apexcharts-radialbar-track apexcharts-track"});a.add(l),l.attr({rel:n+1}),t.size=t.size-o-this.margin;var h=e.config.plotOptions.radialBar.track,c=r.fillPath({seriesNumber:0,size:t.size,fillColors:Array.isArray(h.background)?h.background[n]:h.background,solid:!0}),d=this.trackStartAngle,g=this.trackEndAngle;Math.abs(g)+Math.abs(d)>=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new R(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f<t.series.length;p?f--:f++){var b=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:x.escapeString(e.globals.seriesNames[f])});r.add(b),b.attr({rel:f+1,"data:realIndex":f}),this.ctx.series.addCollapsedClassToSeries(b,f),t.size=t.size-o-this.margin;var y=a.fillPath({seriesNumber:f,size:t.size,value:t.series[f]}),w=this.startAngle,k=void 0,A=x.negToZero(t.series[f]>100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,I=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(I.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var M=e.config.chart.dropShadow;s.dropShadow(I,M,f)}if(s.setSelectionFilter(I,0,f),this.addListeners(I,this.radialDataLabels),b.add(I),I.attr({index:0,j:f}),this.barLabels.enabled){var T=x.polarToCartesian(t.centerX,t.centerY,t.size,w),z=this.barLabels.formatter(e.globals.seriesNames[f],{seriesIndex:f,w:e}),X=["apexcharts-radialbar-label"];this.barLabels.onClick||X.push("apexcharts-no-click");var E=this.barLabels.useSeriesColors?e.globals.colors[f]:e.config.chart.foreColor;E||(E=e.config.chart.foreColor);var Y=T.x-this.barLabels.margin,F=T.y,H=i.drawText({x:Y,y:F,text:z,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:E,cssClass:X.join(" ")});H.on("click",this.onBarLabelClick),H.attr({rel:f+1}),0!==w&&H.attr({"transform-origin":"".concat(Y," ").concat(F),transform:"rotate(".concat(w," 0 0)")}),b.add(H)}var D=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(D=e.config.chart.animations.speed),e.globals.dataChanged&&(D=e.config.chart.animations.dynamicAnimation.speed),this.animDur=D/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(I,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:D,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new R(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(t){var e=parseInt(t.target.getAttribute("rel"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),i}(Lt),Mt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),n=0;n<t.length;n++){var l,h,c,d,g=void 0,u=void 0,p=a.globals.comboCharts?i[n]:n,f=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[p]),rel:n+1,"data:realIndex":p});this.ctx.series.addCollapsedClassToSeries(f,p),t[n].length>0&&(this.visibleI=this.visibleI+1);var b=0,v=0;this.yRatio.length>1&&(this.yaxisIndex=p);var y=this.barHelpers.initialPositions();u=y.y,d=y.zeroW,g=y.x,v=y.barWidth,b=y.barHeight,l=y.xDivision,h=y.yDivision,c=y.zeroH;for(var w=s.group({class:"apexcharts-datalabels","data:realIndex":p}),k=s.group({class:"apexcharts-rangebar-goals-markers"}),A=0;A<a.globals.dataPoints;A++){var S,C=this.barHelpers.getStrokeWidth(n,A,p),L=this.seriesRangeStart[n][A],P=this.seriesRangeEnd[n][A],I=null,M=null,T=null,z={x:g,y:u,strokeWidth:C,elSeries:f},X=this.seriesLen;if(a.config.plotOptions.bar.rangeBarGroupRows&&(X=1),void 0===a.config.series[n].data[A])break;if(this.isHorizontal){T=u+b*this.visibleI;var E=(h-b*X)/2;if(a.config.series[n].data[A].x){var Y=this.detectOverlappingBars({i:n,j:A,barYPosition:T,srty:E,barHeight:b,yDivision:h,initPositions:y});b=Y.barHeight,T=Y.barYPosition}v=(I=this.drawRangeBarPaths(e({indexes:{i:n,j:A,realIndex:p},barHeight:b,barYPosition:T,zeroW:d,yDivision:h,y1:L,y2:P},z))).barWidth}else{a.globals.isXNumeric&&(g=(a.globals.seriesX[n][A]-a.globals.minX)/this.xRatio-v/2),M=g+v*this.visibleI;var F=(l-v*X)/2;if(a.config.series[n].data[A].x){var R=this.detectOverlappingBars({i:n,j:A,barXPosition:M,srtx:F,barWidth:v,xDivision:l,initPositions:y});v=R.barWidth,M=R.barXPosition}b=(I=this.drawRangeColumnPaths(e({indexes:{i:n,j:A,realIndex:p},barWidth:v,barXPosition:M,zeroH:c,xDivision:l},z))).barHeight}var H=this.barHelpers.drawGoalLine({barXPosition:I.barXPosition,barYPosition:T,goalX:I.goalX,goalY:I.goalY,barHeight:b,barWidth:v});H&&k.add(H),u=I.y,g=I.x;var D=this.barHelpers.getPathFillColor(t,n,A,p),O=a.globals.stroke.colors[p];this.renderSeries((o(S={realIndex:p,pathFill:D,lineFill:O,j:A,i:n,x:g,y:u,y1:L,y2:P,pathFrom:I.pathFrom,pathTo:I.pathTo,strokeWidth:C,elSeries:f,series:t,barHeight:b,barWidth:v,barXPosition:M,barYPosition:T},"barWidth",v),o(S,"elDataLabelsWrap",w),o(S,"elGoalsMarkers",k),o(S,"visibleSeries",this.visibleI),o(S,"type","rangebar"),S))}r.add(f)}return r}},{key:"detectOverlappingBars",value:function(t){var e=t.i,i=t.j,a=t.barYPosition,s=t.barXPosition,r=t.srty,o=t.srtx,n=t.barHeight,l=t.barWidth,h=t.yDivision,c=t.xDivision,d=t.initPositions,g=this.w,u=[],p=g.config.series[e].data[i].rangeName,f=g.config.series[e].data[i].x,x=Array.isArray(f)?f.join(" "):f,b=g.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(x),v=g.globals.seriesRange[e].findIndex((function(t){return t.x===x&&t.overlaps.length>0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(p))+h*b)):(b>-1&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=this.yRatio[this.yaxisIndex],d=e.realIndex,g=this.getRangeValue(d,h),u=Math.min(g.start,g.end),p=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?u=o:(u=o-u/c,p=o-p/c);var f=Math.abs(p-u),x=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:u,y2:p,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:d,j:h,w:n});if(n.globals.isXNumeric){var b=this.getBarXForNumericXAxis({x:i,j:h,realIndex:d,barWidth:s});i=b.x,r=b.barXPosition}else i+=a;return{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:f,x:i,y:p,goalY:this.barHelpers.getGoalValues("y",null,o,l,h),barXPosition:r}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues("x",l,null,e.realIndex,e.j),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(yt),Tt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r<s.globals.previousPaths.length;r++){var o=s.globals.previousPaths[r];("line"===o.type||"area"===o.type)&&o.paths.length>0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i,a=t.i,s=t.series,r=t.prevY,o=t.lineYPosition,n=this.w,l=n.config.chart.stacked&&!n.globals.comboCharts||n.config.chart.stacked&&n.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[a])||void 0===e?void 0:e.type));if(void 0!==(null===(i=s[a])||void 0===i?void 0:i[0]))r=(o=l&&a>0?this.lineCtx.prevSeriesY[a-1][0]:this.lineCtx.zeroY)-s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?s[a][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(l&&a>0&&void 0===s[a][0])for(var h=a-1;h>=0;h--)if(null!==s[h][0]&&void 0!==s[h][0]){r=o=this.lineCtx.prevSeriesY[h][0];break}return{prevY:r,lineYPosition:o}}}]),t}(),zt=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Yt(i,a),r=1,o=t.length-1;r<o;r++)i=a,a=t[r+1],e[r]=.5*(s+(s=Yt(i,a)));return e[r]=s,e}(t),o=t.length-1,n=[],l=0;l<o;l++)a=Yt(t[l],t[l+1]),Math.abs(a)<1e-6?r[l]=r[l+1]=0:(s=(e=r[l]/a)*e+(i=r[l+1]/a)*i)>9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Xt=function(t){for(var e="",i=0;i<t.length;i++){var a=t[i],s=a.length;s>4?(e+="C".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]),e+=", ".concat(a[4],", ").concat(a[5])):s>2&&(e+="S".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]))}return e},Et=function(t){var e=zt(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n<l;n++){var h=t[n],c=e[n];s.push([h[0]-c[0],h[1]-c[1],h[0],h[1]])}return s};function Yt(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ft=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new D(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Tt(this),this.markers=new H(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,i,a,s){var r,o=this.w,n=new m(this.ctx),l=o.globals.comboCharts?i:o.config.chart.type,h=n.group({class:"apexcharts-".concat(l,"-series apexcharts-plot-series")}),c=new y(this.ctx,o);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=c.getLogSeries(t),this.yRatio=c.getLogYRatios(this.yRatio);for(var d=[],g=0;g<t.length;g++){t=this.lineHelpers.sameValueSeriesFix(g,t);var u=o.globals.comboCharts?a[g]:g;this._initSerieVariables(t,g,u);var p=[],f=[],x=[],b=o.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),o.globals.isXNumeric&&o.globals.seriesX.length>0&&(b=(o.globals.seriesX[u][0]-o.globals.minX)/this.xRatio),x.push(b);var v,w=b,k=void 0,A=w,S=this.zeroY,C=this.zeroY;S=this.lineHelpers.determineFirstPrevY({i:g,series:t,prevY:S,lineYPosition:0}).prevY,"monotonCubic"===o.config.stroke.curve&&null===t[g][0]?p.push(null):p.push(S),v=S;"rangeArea"===l&&(k=C=this.lineHelpers.determineFirstPrevY({i:g,series:s,prevY:C,lineYPosition:0}).prevY,f.push(C));var L={type:l,series:t,realIndex:u,i:g,x:b,y:1,pX:w,pY:v,pathsFrom:this._calculatePathsFrom({type:l,series:t,i:g,realIndex:u,prevX:A,prevY:S,prevY2:C}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:x,yArrj:p,y2Arrj:f,seriesRangeEnd:s},P=this._iterateOverDataPoints(e(e({},L),{},{iterations:"rangeArea"===l?t[g].length-1:void 0,isRangeStart:!0}));if("rangeArea"===l){var I=this._calculatePathsFrom({series:s,i:g,realIndex:u,prevX:A,prevY:C}),M=this._iterateOverDataPoints(e(e({},L),{},{series:s,pY:k,pathsFrom:I,iterations:s[g].length-1,isRangeStart:!1}));P.linePaths[0]=M.linePath+P.linePath,P.pathFromLine=M.pathFromLine+P.pathFromLine}this._handlePaths({type:l,realIndex:u,i:g,paths:P}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null===(r=o.config.series[0])||void 0===r?void 0:r.zIndex)&&d.sort((function(t,e){return Number(t.node.getAttribute("zIndex"))-Number(e.node.getAttribute("zIndex"))})),o.config.chart.stacked)for(var T=d.length;T>0;T--)h.add(d[T-1]);else for(var z=0;z<d.length;z++)h.add(d[z]);return h}},{key:"_initSerieVariables",value:function(t,e,i){var a=this.w,s=new m(this.ctx);this.xDivision=a.globals.gridWidth/(a.globals.dataPoints-("on"===a.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(a.config.stroke.width)?a.config.stroke.width[i]:a.config.stroke.width,this.yRatio.length>1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":r,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var p=0;p<o[n].length;p++)if(null!==o[n][p]){h=this.xDivision*p,c=this.zeroY-o[n][p]/this.yRatio[this.yaxisIndex],e=u.move(h,c),i=u.move(h,this.areaBottomY);break}}else e=u.move(h,c),"rangeArea"===r&&(e=u.move(h,d)+u.line(h,c)),i=u.move(h,this.areaBottomY)+u.line(h,c);if(a=u.move(-1,this.zeroY)+u.line(-1,this.zeroY),s=u.move(-1,this.zeroY)+u.line(-1,this.zeroY),g.globals.previousPaths.length>0){var f=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=f.pathFromLine,s=f.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new R(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f<r.areaPaths.length;f++){var x=n.renderPaths(e(e({},u),{},{pathFrom:r.pathFromArea,pathTo:r.areaPaths[f],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:p}));this.elSeries.add(x)}if(o.config.stroke.show&&!this.pointsChart){var b=null;if("line"===i)b=l.fillPath({seriesNumber:a,i:s});else if("solid"===o.config.stroke.fill.type)b=o.globals.stroke.colors[a];else{var v=o.config.fill;o.config.fill=o.config.stroke.fill,b=l.fillPath({seriesNumber:a,i:s}),o.config.fill=v}for(var y=0;y<r.linePaths.length;y++){var w=b;"rangeArea"===i&&(w=l.fillPath({seriesNumber:a}));var k=e(e({},u),{},{pathFrom:r.pathFromLine,pathTo:r.linePaths[y],stroke:b,strokeWidth:this.strokeWidth,strokeLineCap:o.config.stroke.lineCap,fill:"rangeArea"===i?w:"none"}),A=n.renderPaths(k);if(this.elSeries.add(A),A.attr("fill-rule","evenodd"),h.count>0&&"rangeArea"!==i){var S=n.renderPaths(k);S.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&S.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(S),S.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e,i=this,a=t.type,s=t.series,r=t.iterations,o=t.realIndex,n=t.i,l=t.x,h=t.y,c=t.pX,d=t.pY,g=t.pathsFrom,u=t.linePaths,p=t.areaPaths,f=t.seriesIndex,b=t.lineYPosition,v=t.xArrj,y=t.yArrj,w=t.y2Arrj,k=t.isRangeStart,A=t.seriesRangeEnd,S=this.w,C=new m(this.ctx),L=this.yRatio,P=g.prevY,I=g.linePath,M=g.areaPath,T=g.pathFromLine,z=g.pathFromArea,X=x.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;r||(r=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);for(var E=function(t,e){return e-t/L[i.yaxisIndex]+2*(i.isReversed?t/L[i.yaxisIndex]:0)},Y=h,F=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)),R=0;R<r;R++){var H=void 0===s[n][R+1]||null===s[n][R+1];if(S.globals.isXNumeric){var D=S.globals.seriesX[o][R+1];void 0===S.globals.seriesX[o][R+1]&&(D=S.globals.seriesX[o][r-1]),l=(D-S.globals.minX)/this.xRatio}else l+=this.xDivision;if(F)if(n>0&&S.globals.collapsedSeries.length<S.config.series.length-1){b=this.prevSeriesY[function(t){for(var e=t,i=0;i<S.globals.series.length;i++)if(S.globals.collapsedSeriesIndices.indexOf(t)>-1){e--;break}return e>=0?e:0}(n-1)][R+1]}else b=this.zeroY;else b=this.zeroY;H?h=E(X,b):(h=E(s[n][R+1],b),"rangeArea"===a&&(Y=E(A[n][R+1],b))),v.push(l),H&&"smooth"===S.config.stroke.curve?y.push(null):y.push(h),w.push(Y);var O=this.lineHelpers.calculatePoints({series:s,x:l,y:h,realIndex:o,i:n,j:R,prevY:P}),N=this._createPaths({type:a,series:s,i:n,realIndex:o,j:R,x:l,y:h,y2:Y,xArrj:v,yArrj:y,y2Arrj:w,pX:c,pY:d,linePath:I,areaPath:M,linePaths:u,areaPaths:p,seriesIndex:f,isRangeStart:k});p=N.areaPaths,u=N.linePaths,c=N.pX,d=N.pY,M=N.areaPath,I=N.linePath,!this.appendPathFrom||"monotoneCubic"===S.config.stroke.curve&&"rangeArea"===a||(T+=C.line(l,this.zeroY),z+=C.line(l,this.zeroY)),this.handleNullDataPoints(s,O,n,R,o),this._handleMarkersAndLabels({type:a,pointsPos:O,i:n,j:R,realIndex:o,isRangeStart:k})}return{yArrj:y,xArrj:v,pathFromArea:z,areaPaths:p,pathFromLine:T,linePaths:u,linePath:I,areaPath:M}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new O(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,g=t.pX,u=t.pY,p=t.linePath,f=t.areaPath,x=t.linePaths,b=t.areaPaths,v=t.seriesIndex,y=t.isRangeStart,w=this.w,k=new m(this.ctx),A=w.config.stroke.curve,S=this.areaBottomY;if(Array.isArray(w.config.stroke.curve)&&(A=Array.isArray(v)?w.config.stroke.curve[v[a]]:w.config.stroke.curve[a]),"rangeArea"===e&&(w.globals.hasNullValues||w.config.forecastDataPoints.count>0)&&"monotoneCubic"===A&&(A="straight"),"monotoneCubic"===A){var C="rangeArea"===e?l.length===w.globals.dataPoints:r===i[a].length-2,L=l.map((function(t,e){return[l[e],h[e]]})).filter((function(t){return null!==t[1]}));if(C&&L.length>1){var P=Et(L);if(p+=Xt(P),null===i[a][0]?f=p:f+=Xt(P),"rangeArea"===e&&y){p+=k.line(l[l.length-1],d[d.length-1]);var I=l.slice().reverse(),M=d.slice().reverse(),T=I.map((function(t,e){return[I[e],M[e]]})),z=Et(T);f=p+=Xt(z)}else f+=k.line(L[L.length-1][0],S)+k.line(L[0][0],S)+k.move(L[0][0],L[0][1])+"z";x.push(p),b.push(f)}}else if("smooth"===A){var X=.35*(o-g);w.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(p=k.move(g,u)+k.curve(g+X,u,o-X,n,o+1,n),f=k.move(g+1,u)+k.curve(g+X,u,o-X,n,o+1,n)+k.line(o,S)+k.line(g,S)+"z"):(p=k.move(g,u),f=k.move(g,u)+"z")),x.push(p),b.push(f)):(p+=k.curve(g+X,u,o-X,n,o,n),f+=k.curve(g+X,u,o-X,n,o,n)),g=o,u=n,r===i[a].length-2&&(f=f+k.curve(g,u,o,n,o,S)+k.move(o,n)+"z","rangeArea"===e&&y?p=p+k.curve(g,u,o,n,o,c)+k.move(o,c)+"z":w.globals.hasNullValues||(x.push(p),b.push(f)))}else{if(null===i[a][r+1]){p+=k.move(o,n);var E=w.globals.isXNumeric?(w.globals.seriesX[s][r]-w.globals.minX)/this.xRatio:o-this.xDivision;f=f+k.line(E,S)+k.move(o,n)+"z"}null===i[a][r]&&(p+=k.move(o,n),f+=k.move(o,S)),"stepline"===A?(p=p+k.line(o,null,"H")+k.line(null,n,"V"),f=f+k.line(o,null,"H")+k.line(null,n,"V")):"straight"===A&&(p+=k.line(o,n),f+=k.line(o,n)),r===i[a].length-2&&(f=f+k.line(o,S)+k.move(o,n)+"z","rangeArea"===e&&y?p=p+k.line(o,c)+k.move(o,c)+"z":(x.push(p),b.push(f)))}return{linePaths:x,areaPaths:b,pX:g,pY:u,linePath:p,areaPath:f}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e<t.length;e++)i.push([a,s,a+o,s+t[e]/o]),s+=t[e]/o;else for(e=0;e<t.length;e++)i.push([a,s,a+t[e]/n,s+n]),a+=t[e]/n;return i},this.cutArea=function(e){var i;if(this.width>=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i<t.length;i++)a[i]=t[i]*s;return a}(e,a*s),[],new t(o,n,a,s),[]);return function(t){var e,i,a=[];for(e=0;e<t.length;e++)for(i=0;i<t[e].length;i++)a.push(t[e][i]);return a}(l)}function i(t,e,s,o){var n,l,h;if(0!==t.length)return n=s.shortestEdge(),function(t,e,i){var s;if(0===t.length)return!0;(s=t.slice()).push(e);var r=a(t,i),o=a(s,i);return r>=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;e<t.length;e++)i+=t[e];return i}function o(t){var e,i=0;if(s(t[0]))for(e=0;e<t.length;e++)i+=o(t[e]);else i=r(t);return i}return function t(i,a,r,n,l){n=void 0===n?0:n,l=void 0===l?0:l;var h,c,d=[],g=[];if(s(i[0])){for(c=0;c<i.length;c++)d[c]=o(i[c]);for(h=e(d,a,r,n,l),c=0;c<i.length;c++)g.push(t(i[c],h[c][2]-h[c][0],h[c][3]-h[c][1],h[c][0],h[c][1]))}else g=e(i,a,r,n,l);return g}}();var Rt,Ht,Dt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.strokeWidth=this.w.config.stroke.width,this.helpers=new At(e),this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.labels=[]}return r(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=new R(this.ctx),r=a.group({class:"apexcharts-treemap"});if(i.globals.noData)return r;var o=[];return t.forEach((function(t){var e=t.map((function(t){return Math.abs(t)}));o.push(e)})),this.negRange=this.helpers.checkColorRange(),i.config.series.forEach((function(t,i){t.data.forEach((function(t){Array.isArray(e.labels[i])||(e.labels[i]=[]),e.labels[i].push(t.x)}))})),window.TreemapSquared.generate(o,i.globals.gridWidth,i.globals.gridHeight).forEach((function(o,n){var l=a.group({class:"apexcharts-series apexcharts-treemap-series",seriesName:x.escapeString(i.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});if(i.config.chart.dropShadow.enabled){var h=i.config.chart.dropShadow;new v(e.ctx).dropShadow(r,h,n)}var c=a.group({class:"apexcharts-data-labels"});o.forEach((function(r,o){var h=r[0],c=r[1],d=r[2],g=r[3],u=a.drawRect(h,c,d-h,g-c,i.config.plotOptions.treemap.borderRadius,"#fff",1,e.strokeWidth,i.config.plotOptions.treemap.useFillColorAsStroke?f:i.globals.stroke.colors[n]);u.attr({cx:h,cy:c,index:n,i:n,j:o,width:d-h,height:g-c});var p=e.helpers.getShadeColor(i.config.chart.type,n,o,e.negRange),f=p.color;void 0!==i.config.series[n].data[o]&&i.config.series[n].data[o].fillColor&&(f=i.config.series[n].data[o].fillColor);var x=s.fillPath({color:f,seriesNumber:n,dataPointIndex:o});u.node.classList.add("apexcharts-treemap-rect"),u.attr({fill:x}),e.helpers.addListeners(u);var b={x:h+(d-h)/2,y:c+(g-c)/2,width:0,height:0},v={x:h,y:c,width:d-h,height:g-c};if(i.config.chart.animations.enabled&&!i.globals.dataChanged){var m=1;i.globals.resized||(m=i.config.chart.animations.speed),e.animateTreemap(u,b,v,m)}if(i.globals.dataChanged){var y=1;e.dynamicAnim.enabled&&i.globals.shouldAnimate&&(y=e.dynamicAnim.speed,i.globals.previousPaths[n]&&i.globals.previousPaths[n][o]&&i.globals.previousPaths[n][o].rect&&(b=i.globals.previousPaths[n][o].rect),e.animateTreemap(u,b,v,y))}var w=e.getFontSize(r),k=i.config.dataLabels.formatter(e.labels[n][o],{value:i.globals.series[n][o],seriesIndex:n,dataPointIndex:o,w:i});"truncate"===i.config.plotOptions.treemap.dataLabels.format&&(w=parseInt(i.config.dataLabels.style.fontSize,10),k=e.truncateLabels(k,w,h,c,d,g));var A=e.helpers.calculateDataLabels({text:k,x:(h+d)/2,y:(c+g)/2+e.strokeWidth/2+w/3,i:n,j:o,colorProps:p,fontSize:w,series:t});i.config.dataLabels.enabled&&A&&e.rotateToFitLabel(A,w,k,h,c,d,g),l.add(u),null!==A&&l.add(A)})),l.add(c),r.add(l)})),r}},{key:"getFontSize",value:function(t){var e=this.w;var i,a,s,r,o=function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=e[i].length;return a}(this.labels)/function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=1;return a}(this.labels);return i=t[2]-t[0],a=t[3]-t[1],s=i*a,r=Math.pow(s,.5),Math.min(r/o,parseInt(e.config.dataLabels.style.fontSize,10))}},{key:"rotateToFitLabel",value:function(t,e,i,a,s,r,o){var n=new m(this.ctx),l=n.getTextRects(i,e);if(l.width+this.w.config.stroke.width+5>r-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,") translate(").concat(l.height/3,")"))}}},{key:"truncateLabels",value:function(t,e,i,a,s,r){var o=new m(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?"":l}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ot=86400,Nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new I(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ot),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new I(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u<r;u++)d++,g=l.determineDaysOfYear(d-1)*s+g,this.timeScaleArray.push({position:g,value:d,unit:h,year:d,month:1})}},{key:"generateMonthScale",value:function(t){var e=t.firstVal,i=t.currentMonthDate,a=t.currentMonth,s=t.currentYear,r=t.daysWidthOnXAxis,o=t.numberOfMonths,n=a,l=0,h=new I(this.ctx),c="month",d=0;if(e.minDate>1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;v<o;v++,m++){0===(f=x.monthMod(f))?(c="year",d+=1):c="month";var y=this._getYear(s,f,d);b=h.determineDaysOfMonths(f,y)*r+b;var w=0===f?y:f;this.timeScaleArray.push({position:b,value:w,unit:c,year:y,month:0===f?1:f}),f++}}},{key:"generateDayScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.hoursWidthOnXAxis,r=t.numberOfDays,o=new I(this.ctx),n="day",l=e.minDate+1,h=l,c=function(t,e,i){return t>o.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;f<r;f++){n="day",u=c(h+=1,u,this._getYear(a,u,0));var b=this._getYear(a,u,0);p=24*s+p;var v=1===h?x.monthMod(u):h;this.timeScaleArray.push({position:p,value:v,unit:n,year:b,month:x.monthMod(u),day:v})}}},{key:"generateHourScale",value:function(t){var e=t.firstVal,i=t.currentDate,a=t.currentMonth,s=t.currentYear,r=t.minutesWidthOnXAxis,o=t.numberOfHours,n=new I(this.ctx),l="hour",h=function(t,e){return t>n.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u;60===d&&(g=0,p=u=e.minHour);var f=i;p>=24&&(p=0,f+=1,l="day");var b=h(f,a).month;b=c(f,b),this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)}),p++;for(var v=g,m=0;m<o;m++){if(l="hour",p>=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v<c;v++)d>=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v<h;v++)c>=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new I(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Wt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background="dark"!==e.theme.mode||e.chart.background?e.chart.background:"rgba(0, 0, 0, 0.8)",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,p){var f=0;void 0!==t[p].type?("column"===t[p].type||"bar"===t[p].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"),h.series.push(e),h.i.push(p),f++,i.globals.columnSeries=h.series):"area"===t[p].type?(o.series.push(e),o.i.push(p),f++):"line"===t[p].type?(r.series.push(e),r.i.push(p),f++):"scatter"===t[p].type?(n.series.push(e),n.i.push(p)):"bubble"===t[p].type?(l.series.push(e),l.i.push(p),f++):"candlestick"===t[p].type?(c.series.push(e),c.i.push(p),f++):"boxPlot"===t[p].type?(d.series.push(e),d.i.push(p),f++):"rangeBar"===t[p].type?(g.series.push(e),g.i.push(p),f++):"rangeArea"===t[p].type?(u.series.push(s.seriesRangeStart[p]),u.seriesRangeEnd.push(s.seriesRangeEnd[p]),u.i.push(p),f++):console.warn("You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble/candlestick/boxPlot/rangeBar/rangeArea"),f>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(p))}));var p=new Ft(this.ctx,e),f=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new It(this.ctx);this.ctx.rangeBar=new Mt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(p.draw(o.series,"area",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(p.draw(u.series,"rangeArea",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(p.draw(r.series,"line",r.i)),c.series.length>0&&v.push(f.draw(c.series,"candlestick",c.i)),d.series.length>0&&v.push(f.draw(d.series,"boxPlot",d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new Ft(this.ctx,e,!0);v.push(y.draw(n.series,"scatter",n.i))}if(l.series.length>0){var w=new Ft(this.ctx,e,!0);v.push(w.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":v=p.draw(s.series,"line");break;case"area":v=p.draw(s.series,"area");break;case"bar":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case"candlestick":v=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":v=new kt(this.ctx,e).draw(s.series,a.chart.type);break;case"rangeBar":v=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":v=p.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":v=new St(this.ctx,e).draw(s.series);break;case"treemap":v=new Dt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":v=this.ctx.pie.draw(s.series);break;case"radialBar":v=x.draw(s.series);break;case"radar":v=b.draw(s.series);break;default:v=p.draw(s.series)}return v}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new Y,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Nt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&"function"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new E(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d<c.globals.collapsedSeriesIndices.length;d++){var g=c.config.series[c.globals.collapsedSeriesIndices[d]];c.globals.collapsedSeries[d].data=c.globals.axisCharts?g.data.slice():g}for(var u=0;u<c.globals.ancillaryCollapsedSeriesIndices.length;u++){var p=c.config.series[c.globals.ancillaryCollapsedSeriesIndices[u]];c.globals.ancillaryCollapsedSeries[u].data=c.globals.axisCharts?p.data.slice():p}r.series.emptyCollapsedSeries(c.config.series)}return r.update(t).then((function(){h===l.length-1&&n(r)}))}))}))}},{key:"_updateSeries",value:function(t,e){var i=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:null==s?void 0:s.name,color:t.color?t.color:null==s?void 0:s.color,type:t.type?t.type:null==s?void 0:s.type,group:t.group?t.group:null==s?void 0:s.group,data:t.data?t.data:null==s?void 0:s.data,zIndex:void 0!==t.zIndex?t.zIndex:i})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new X(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Rt="undefined"!=typeof window?window:void 0,Ht=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s<i;s++)a.push(e(t[s]));return a},filter:function(t,e){for(var i=t.length,a=[],s=0;s<i;s++)e(t[s])&&a.push(t[s]);return a},filterSVGElements:function(e){return this.filter(e,(function(e){return e instanceof t.SVGElement}))}},a.defaults={attrs:{"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","font-size":16,"font-family":"Helvetica, Arial, sans-serif","text-anchor":"start"}},a.Color=function(t){var e,s;this.r=0,this.g=0,this.b=0,t&&("string"==typeof t?a.regex.isRgb.test(t)?(e=a.regex.rgb.exec(t.replace(a.regex.whitespace,"")),this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3])):a.regex.isHex.test(t)&&(e=a.regex.hex.exec(4==(s=t).length?["#",s.substring(1,2),s.substring(1,2),s.substring(2,3),s.substring(2,3),s.substring(3,4),s.substring(3,4)].join(""):s),this.r=parseInt(e[1],16),this.g=parseInt(e[2],16),this.b=parseInt(e[3],16)):"object"===i(t)&&(this.r=t.r,this.g=t.g,this.b=t.b))},a.extend(a.Color,{toString:function(){return this.toHex()},toHex:function(){return"#"+g(this.r)+g(this.g)+g(this.b)},toRgb:function(){return"rgb("+[this.r,this.g,this.b].join()+")"},brightness:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11},morph:function(t){return this.destination=new a.Color(t),this},at:function(t){return this.destination?(t=t<0?0:t>1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;o<n;++o)s[r[o]]=function(t){return function(e,i,a){if("H"==t)e[0]=e[0]+i.x;else if("V"==t)e[0]=e[0]+i.y;else if("A"==t)e[5]=e[5]+i.x,e[6]=e[6]+i.y;else for(var r=0,o=e.length;r<o;++r)e[r]=e[r]+(r%2?i.y:i.x);if(s&&"function"==typeof s[t])return s[t](e,i,a)}}(r[o].toUpperCase());a.PathArray=function(t,e){a.Array.call(this,t,e||[["M",0,0]])},a.PathArray.prototype=new a.Array,a.PathArray.prototype.constructor=a.PathArray,a.extend(a.PathArray,{toString:function(){return function(t){for(var e=0,i=t.length,a="";e<i;e++)a+=t[e][0],null!=t[e][1]&&(a+=t[e][1],null!=t[e][2]&&(a+=" ",a+=t[e][2],null!=t[e][3]&&(a+=" ",a+=t[e][3],a+=" ",a+=t[e][4],null!=t[e][5]&&(a+=" ",a+=t[e][5],a+=" ",a+=t[e][6],null!=t[e][7]&&(a+=" ",a+=t[e][7])))));return a+" "}(this.value)},move:function(t,e){var i=this.bbox();return i.x,i.y,this},at:function(t){if(!this.destination)return this;for(var e=this.value,i=this.destination.value,s=[],r=new a.PathArray,o=0,n=e.length;o<n;o++){s[o]=[e[o][0]];for(var l=1,h=e[o].length;l<h;l++)s[o][l]=e[o][l]+(i[o][l]-e[o][l])*t;"A"===s[o][0]&&(s[o][4]=+(0!=s[o][4]),s[o][5]=+(0!=s[o][5]))}return r.value=s,r},parse:function(t){if(t instanceof a.PathArray)return t.valueOf();var e,i={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};t="string"==typeof t?t.replace(a.regex.numbersWithDots,h).replace(a.regex.pathLetters," $& ").replace(a.regex.hyphen,"$1 -").trim().split(a.regex.delimiter):t.reduce((function(t,e){return[].concat.call(t,e)}),[]);var r=[],o=new a.Point,n=new a.Point,l=0,c=t.length;do{a.regex.isPathLetter.test(t[l])?(e=t[l],++l):"M"==e?e="L":"m"==e&&(e="l"),r.push(s[e].call(null,t.slice(l,l+=i[e.toUpperCase()]).map(parseFloat),o,n))}while(c>l);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement("svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement("svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^<svg>/,"").replace(/<\/svg>$/,"");i.innerHTML="<svg>"+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2></$1>")+"</svg>";for(var s=0,r=i.firstChild.childNodes.length;s<r;s++)this.node.appendChild(i.firstChild.firstChild);return this},writeDataToDom:function(){return(this.each||this.lines)&&(this.each?this:this.lines()).each((function(){this.writeDataToDom()})),this.node.removeAttribute("svgjs:data"),Object.keys(this.dom).length&&this.node.setAttribute("svgjs:data",JSON.stringify(this.dom)),this},setData:function(t){return this.dom=t,this},is:function(t){return function(t,e){return t instanceof e}(this,t)}}}),a.easing={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||i<this.situation.loops?(this.pos=e-i,a=this.situation.loop,this.situation.loop=i):(this.absPos=this.situation.loops,this.pos=1,a=this.situation.loop-1,this.situation.loop=this.situation.loops),this.situation.reversing&&(this.situation.reversed=this.situation.reversed!=Boolean((this.situation.loop-a)%2))):(this.absPos=Math.min(this.absPos,1),this.pos=this.absPos),this.pos<0&&(this.pos=0),this.situation.reversed&&(this.pos=1-this.pos);var s=this.situation.ease(this.pos);for(var r in this.situation.once)r>this.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r<o;r++){var n=s.transforms[r];n instanceof a.Matrix?t=n.relative?t.multiply((new a.Matrix).morph(n).at(s.ease(this.pos))):t.morph(n).at(s.ease(this.pos)):(n.relative||n.undo(t.extract()),t=t.multiply(n.at(s.ease(this.pos))))}i.matrix(t)}return this},once:function(t,e,i){var a=this.last();return i||(t=a.ease(t)),a.once[t]=e,this},_callStart:function(){return setTimeout(function(){this.start()}.bind(this),0),this}},parent:a.Element,construct:{animate:function(t,e,i){return(this.fx||(this.fx=new a.FX(this))).animate(t,e,i)},delay:function(t){return(this.fx||(this.fx=new a.FX(this))).delay(t)},stop:function(t,e){return this.fx&&this.fx.stop(t,e),this},finish:function(){return this.fx&&this.fx.finish(),this}}}),a.MorphObj=a.invent({create:function(t,e){return a.Color.isColor(e)?new a.Color(t).morph(e):a.regex.delimiter.test(t)?a.regex.pathLetters.test(t)?new a.PathArray(t).morph(e):new a.Array(t).morph(e):a.regex.numberAndUnit.test(e)?new a.Number(t).morph(e):(this.value=t,void(this.destination=e))},extend:{at:function(t,e){return e<1?this.value:this.destination},valueOf:function(){return this.value}}}),a.extend(a.FX,{attr:function(t,e,a){if("object"===i(t))for(var s in t)this.attr(s,t[s]);else this.add(t,e,"attrs");return this},plot:function(t,e,i,a){return 4==arguments.length?this.plot([t,e,i,a]):this.add("plot",new(this.target().morphArray)(t))}}),a.Box=a.invent({create:function(t,e,s,r){if(!("object"!==i(t)||t instanceof a.Element))return a.Box.call(this,null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height);var o;4==arguments.length&&(this.x=t,this.y=e,this.width=s,this.height=r),null==(o=this).x&&(o.x=0,o.y=0,o.width=0,o.height=0),o.w=o.width,o.h=o.height,o.x2=o.x+o.width,o.y2=o.y+o.height,o.cx=o.x+o.width/2,o.cy=o.y+o.height/2}}),a.BBox=a.invent({create:function(t){if(a.Box.apply(this,[].slice.call(arguments)),t instanceof a.Element){var i;try{if(!e.documentElement.contains){for(var s=t.node;s.parentNode;)s=s.parentNode;if(s!=e)throw new Error("Element not in the dom")}i=t.node.getBBox()}catch(e){if(t instanceof a.Shape){a.parser.draw||a.prepare();var r=t.clone(a.parser.draw.instance).show();r&&r.node&&"function"==typeof r.node.getBBox&&(i=r.node.getBBox()),r&&"function"==typeof r.remove&&r.remove()}else i={x:t.node.clientLeft,y:t.node.clientTop,width:t.node.clientWidth,height:t.node.clientHeight}}a.Box.call(this,i)}},inherit:a.Box,parent:a.Element,construct:{bbox:function(){return new a.BBox(this)}}}),a.BBox.prototype.constructor=a.BBox,a.Matrix=a.invent({create:function(t){var e=f([1,0,0,1,0,0]);t=null===t?e:t instanceof a.Element?t.matrixify():"string"==typeof t?f(t.split(a.regex.delimiter).map(parseFloat)):6==arguments.length?f([].slice.call(arguments)):Array.isArray(t)?f(t):t&&"object"===i(t)?t:e;for(var s=v.length-1;s>=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a<s;++a)this[this.arguments[a]]=t[a];else if(t&&"object"===i(t))for(a=0,s=this.arguments.length;a<s;++a)this[this.arguments[a]]=t[this.arguments[a]];this.inversed=!1,!0===e&&(this.inversed=!0)}}),a.Translate=a.invent({parent:a.Matrix,inherit:a.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["transformedX","transformedY"],method:"translate"}}),a.extend(a.Element,{style:function(t,e){if(0==arguments.length)return this.node.style.cssText||"";if(arguments.length<2)if("object"===i(t))for(var s in t)this.style(s,t[s]);else{if(!a.regex.isCss.test(t))return this.node.style[c(t)];for(t=t.split(/\s*;\s*/).filter((function(t){return!!t})).map((function(t){return t.split(/\s*:\s*/)}));e=t.pop();)this.style(e[0],e[1])}else this.node.style[c(t)]=null===e||a.regex.isBlank.test(e)?"":e;return this}}),a.Parent=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Element,extend:{children:function(){return a.utils.map(a.utils.filterSVGElements(this.node.childNodes),(function(t){return a.adopt(t)}))},add:function(t,e){return null==e?this.node.appendChild(t.node):t.node!=this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this},put:function(t,e){return this.add(t,e),t},has:function(t){return this.index(t)>=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s<r;s++)i[s]instanceof a.Element&&t.apply(i[s],[s,i]),e&&i[s]instanceof a.Container&&i[s].each(t,e);return this},removeElement:function(t){return this.node.removeChild(t.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this},defs:function(){return this.doc().defs()}}}),a.extend(a.Parent,{ungroup:function(t,e){return 0===e||this instanceof a.Defs||this.node==a.parser.draw||(t=t||(this instanceof a.Doc?this:this.parent(a.Parent)),e=e||1/0,this.each((function(){return this instanceof a.Defs?this:this instanceof a.Parent?this.ungroup(t,e-1):this.toParent(t)})),this.node.firstChild||this.remove()),this},flatten:function(t,e){return this.ungroup(t,e)}}),a.Container=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Parent}),a.ViewBox=a.invent({parent:a.Container,construct:{}}),["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","touchstart","touchmove","touchleave","touchend","touchcancel"].forEach((function(t){a.Element.prototype[t]=function(e){return a.on(this.node,t,e),this}})),a.listeners=[],a.handlerMap=[],a.listenerId=0,a.on=function(t,e,i,s,r){var o=i.bind(s||t.instance||t),n=(a.handlerMap.indexOf(t)+1||a.handlerMap.push(t))-1,l=e.split(".")[0],h=e.split(".")[1]||"*";a.listeners[n]=a.listeners[n]||{},a.listeners[n][l]=a.listeners[n][l]||{},a.listeners[n][l][h]=a.listeners[n][l][h]||{},i._svgjsListenerId||(i._svgjsListenerId=++a.listenerId),a.listeners[n][l][h][i._svgjsListenerId]=o,t.addEventListener(l,o,r||{passive:!0})},a.off=function(t,e,i){var s=a.handlerMap.indexOf(t),r=e&&e.split(".")[0],o=e&&e.split(".")[1],n="";if(-1!=s)if(i){if("function"==typeof i&&(i=i._svgjsListenerId),!i)return;a.listeners[s][r]&&a.listeners[s][r][o||"*"]&&(t.removeEventListener(r,a.listeners[s][r][o||"*"][i],!1),delete a.listeners[s][r][o||"*"][i])}else if(o&&r){if(a.listeners[s][r]&&a.listeners[s][r][o]){for(var l in a.listeners[s][r][o])a.off(t,[r,o].join("."),l);delete a.listeners[s][r][o]}}else if(o)for(var h in a.listeners[s])for(var n in a.listeners[s][h])o===n&&a.off(t,[h,o].join("."));else if(r){if(a.listeners[s][r]){for(var n in a.listeners[s][r])a.off(t,[r,n].join("."));delete a.listeners[s][r]}}else{for(var h in a.listeners[s])a.off(t,h);delete a.listeners[s],delete a.handlerMap[s]}},a.extend(a.Element,{on:function(t,e,i,s){return a.on(this.node,t,e,i,s),this},off:function(t,e){return a.off(this.node,t,e),this},fire:function(e,i){return e instanceof t.Event?this.node.dispatchEvent(e):this.node.dispatchEvent(e=new a.CustomEvent(e,{detail:i,cancelable:!0})),this._event=e,this},event:function(){return this._event}}),a.Defs=a.invent({create:"defs",inherit:a.Container}),a.G=a.invent({create:"g",inherit:a.Container,extend:{x:function(t){return null==t?this.transform("x"):this.transform({x:t-this.x()},!0)}},construct:{group:function(){return this.put(new a.G)}}}),a.Doc=a.invent({create:function(t){t&&("svg"==(t="string"==typeof t?e.getElementById(t):t).nodeName?this.constructor.call(this,t):(this.constructor.call(this,a.create("svg")),t.appendChild(this.node),this.size("100%","100%")),this.namespace().defs())},inherit:a.Container,extend:{namespace:function(){return this.attr({xmlns:a.ns,version:"1.1"}).attr("xmlns:xlink",a.xlink,a.xmlns).attr("xmlns:svgjs",a.svgjs,a.xmlns)},defs:function(){var t;return this._defs||((t=this.node.getElementsByTagName("defs")[0])?this._defs=a.adopt(t):this._defs=new a.Defs,this.node.appendChild(this._defs.node)),this._defs},parent:function(){return this.node.parentNode&&"#document"!=this.node.parentNode.nodeName?this.node.parentNode:null},remove:function(){return this.parent()&&this.parent().removeChild(this.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,a.parser.draw&&!a.parser.draw.parentNode&&this.node.appendChild(a.parser.draw),this},clone:function(t){this.writeDataToDom();var e=this.node,i=x(e.cloneNode(!0));return t?(t.node||t).appendChild(i.node):e.parentNode.insertBefore(i.node,e.nextSibling),i}}}),a.extend(a.Element,{}),a.Gradient=a.invent({create:function(t){this.constructor.call(this,a.create(t+"Gradient")),this.type=t},inherit:a.Container,extend:{at:function(t,e,i){return this.put(new a.Stop).update(t,e,i)},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},fill:function(){return"url(#"+this.id()+")"},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="gradientTransform"),a.Container.prototype.attr.call(this,t,e,i)}},construct:{gradient:function(t,e){return this.defs().gradient(t,e)}}}),a.extend(a.Gradient,a.FX,{from:function(t,e){return"radial"==(this._target||this).type?this.attr({fx:new a.Number(t),fy:new a.Number(e)}):this.attr({x1:new a.Number(t),y1:new a.Number(e)})},to:function(t,e){return"radial"==(this._target||this).type?this.attr({cx:new a.Number(t),cy:new a.Number(e)}):this.attr({x2:new a.Number(t),y2:new a.Number(e)})}}),a.extend(a.Defs,{gradient:function(t,e){return this.put(new a.Gradient(t)).update(e)}}),a.Stop=a.invent({create:"stop",inherit:a.Element,extend:{update:function(t){return("number"==typeof t||t instanceof a.Number)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new a.Number(t.offset)),this}}}),a.Pattern=a.invent({create:"pattern",inherit:a.Container,extend:{fill:function(){return"url(#"+this.id()+")"},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="patternTransform"),a.Container.prototype.attr.call(this,t,e,i)}},construct:{pattern:function(t,e,i){return this.defs().pattern(t,e,i)}}}),a.extend(a.Defs,{pattern:function(t,e,i){return this.put(new a.Pattern).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}),a.Shape=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Element}),a.Symbol=a.invent({create:"symbol",inherit:a.Container,construct:{symbol:function(){return this.put(new a.Symbol)}}}),a.Use=a.invent({create:"use",inherit:a.Shape,extend:{element:function(t,e){return this.attr("href",(e||"")+"#"+t,a.xlink)}},construct:{use:function(t,e){return this.put(new a.Use).element(t,e)}}}),a.Rect=a.invent({create:"rect",inherit:a.Shape,construct:{rect:function(t,e){return this.put(new a.Rect).size(t,e)}}}),a.Circle=a.invent({create:"circle",inherit:a.Shape,construct:{circle:function(t){return this.put(new a.Circle).rx(new a.Number(t).divide(2)).move(0,0)}}}),a.extend(a.Circle,a.FX,{rx:function(t){return this.attr("r",t)},ry:function(t){return this.rx(t)}}),a.Ellipse=a.invent({create:"ellipse",inherit:a.Shape,construct:{ellipse:function(t,e){return this.put(new a.Ellipse).size(t,e).move(0,0)}}}),a.extend(a.Ellipse,a.Rect,a.FX,{rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)}}),a.extend(a.Circle,a.Ellipse,{x:function(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())},y:function(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())},cx:function(t){return null==t?this.attr("cx"):this.attr("cx",t)},cy:function(t){return null==t?this.attr("cy"):this.attr("cy",t)},width:function(t){return null==t?2*this.rx():this.rx(new a.Number(t).divide(2))},height:function(t){return null==t?2*this.ry():this.ry(new a.Number(t).divide(2))},size:function(t,e){var i=u(this,t,e);return this.rx(new a.Number(i.width).divide(2)).ry(new a.Number(i.height).divide(2))}}),a.Line=a.invent({create:"line",inherit:a.Shape,extend:{array:function(){return new a.PointArray([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])},plot:function(t,e,i,s){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:i,y2:s}:new a.PointArray(t).toLine(),this.attr(t))},move:function(t,e){return this.attr(this.array().move(t,e).toLine())},size:function(t,e){var i=u(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}},construct:{line:function(t,e,i,s){return a.Line.prototype.plot.apply(this.put(new a.Line),null!=t?[t,e,i,s]:[0,0,0,0])}}}),a.Polyline=a.invent({create:"polyline",inherit:a.Shape,construct:{polyline:function(t){return this.put(new a.Polyline).plot(t||new a.PointArray)}}}),a.Polygon=a.invent({create:"polygon",inherit:a.Shape,construct:{polygon:function(t){return this.put(new a.Polygon).plot(t||new a.PointArray)}}}),a.extend(a.Polyline,a.Polygon,{array:function(){return this._array||(this._array=new a.PointArray(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new a.PointArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var i=u(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}}),a.extend(a.Line,a.Polyline,a.Polygon,{morphArray:a.PointArray,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),a.Path=a.invent({create:"path",inherit:a.Shape,extend:{morphArray:a.PathArray,array:function(){return this._array||(this._array=new a.PathArray(this.attr("d")))},plot:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new a.PathArray(t))},clear:function(){return delete this._array,this}},construct:{path:function(t){return this.put(new a.Path).plot(t||new a.PathArray)}}}),a.Image=a.invent({create:"image",inherit:a.Shape,extend:{load:function(e){if(!e)return this;var i=this,s=new t.Image;return a.on(s,"load",(function(){a.off(s);var t=i.parent(a.Pattern);null!==t&&(0==i.width()&&0==i.height()&&i.size(s.width,s.height),t&&0==t.width()&&0==t.height()&&t.size(i.width(),i.height()),"function"==typeof i._loaded&&i._loaded.call(i,{width:s.width,height:s.height,ratio:s.width/s.height,url:e}))})),a.on(s,"error",(function(t){a.off(s),"function"==typeof i._error&&i._error.call(i,t)})),this.attr("href",s.src=this.src=e,a.xlink)},loaded:function(t){return this._loaded=t,this},error:function(t){return this._error=t,this}},construct:{image:function(t,e,i){return this.put(new a.Image).load(t).size(e||0,i||e||0)}}}),a.Text=a.invent({create:function(){this.constructor.call(this,a.create("text")),this.dom.leading=new a.Number(1.3),this._rebuild=!0,this._build=!1,this.attr("font-family",a.defaults.attrs["font-family"])},inherit:a.Shape,extend:{x:function(t){return null==t?this.attr("x"):this.attr("x",t)},text:function(t){if(void 0===t){t="";for(var e=this.node.childNodes,i=0,s=e.length;i<s;++i)0!=i&&3!=e[i].nodeType&&1==a.adopt(e[i]).dom.newLined&&(t+="\n"),t+=e[i].textContent;return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else{i=0;for(var r=(t=t.split("\n")).length;i<r;i++)this.tspan(t[i]).newLine()}return this.build(!1).rebuild()},size:function(t){return this.attr("font-size",t).rebuild()},leading:function(t){return null==t?this.dom.leading:(this.dom.leading=new a.Number(t),this.rebuild())},lines:function(){var t=(this.textPath&&this.textPath()||this).node,e=a.utils.map(a.utils.filterSVGElements(t.childNodes),(function(t){return a.adopt(t)}));return new a.Set(e)},rebuild:function(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,i=0,s=this.dom.leading*new a.Number(this.attr("font-size"));this.lines().each((function(){this.dom.newLined&&(e.textPath()||this.attr("x",e.attr("x")),"\n"==this.text()?i+=s:(this.attr("dy",s+i),i=0))})),this.fire("rebuild")}return this},build:function(t){return this._build=!!t,this},setData:function(t){return this.dom=t,this.dom.leading=new a.Number(t.leading||1.3),this}},construct:{text:function(t){return this.put(new a.Text).text(t)},plain:function(t){return this.put(new a.Text).plain(t)}}}),a.Tspan=a.invent({create:"tspan",inherit:a.Shape,extend:{text:function(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?t.call(this,this):this.plain(t),this)},dx:function(t){return this.attr("dx",t)},dy:function(t){return this.attr("dy",t)},newLine:function(){var t=this.parent(a.Text);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr("font-size")).attr("x",t.x())}}}),a.extend(a.Text,a.Tspan,{plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(e.createTextNode(t)),this},tspan:function(t){var e=(this.textPath&&this.textPath()||this).node,i=new a.Tspan;return!1===this._build&&this.clear(),e.appendChild(i.node),i.text(t)},clear:function(){for(var t=(this.textPath&&this.textPath()||this).node;t.hasChildNodes();)t.removeChild(t.lastChild);return this},length:function(){return this.node.getComputedTextLength()}}),a.TextPath=a.invent({create:"textPath",inherit:a.Parent,parent:a.Text,construct:{morphArray:a.PathArray,array:function(){var t=this.track();return t?t.array():null},plot:function(t){var e=this.track(),i=null;return e&&(i=e.plot(t)),null==t?i:this},track:function(){var t=this.textPath();if(t)return t.reference("href")},textPath:function(){if(this.node.firstChild&&"textPath"==this.node.firstChild.nodeName)return a.adopt(this.node.firstChild)}}}),a.Nested=a.invent({create:function(){this.constructor.call(this,a.create("svg")),this.style("overflow","visible")},inherit:a.Container,construct:{nested:function(){return this.put(new a.Nested)}}});var l={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"==e?t:t+"-"+e}};function h(t,e,i,s){return i+s.replace(a.regex.dots," .")}function c(t){return t.toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()}))}function d(t){return t.charAt(0).toUpperCase()+t.slice(1)}function g(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function u(t,e,i){if(null==e||null==i){var a=t.bbox();null==e?e=a.width/a.height*i:null==i&&(i=a.height/a.width*e)}return{width:e,height:i}}function p(t,e,i){return{x:e*t.a+i*t.c+0,y:e*t.b+i*t.d+0}}function f(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}function x(e){for(var i=e.childNodes.length-1;i>=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e<i;e++)this.members.push(t[e]);return this},remove:function(t){var e=this.index(t);return e>-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e<i;e++)t.apply(this.members[e],[e,this.members]);return this},clear:function(){return this.members=[],this},length:function(){return this.members.length},has:function(t){return this.index(t)>=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e<i;e++)this.members[e]&&"function"==typeof this.members[e][t]&&this.members[e][t].apply(this.members[e],arguments);return"animate"==t?this.fx||(this.fx=new a.FX.Set(this)):this}})),t=[],a.FX.prototype)"function"==typeof a.FX.prototype[e]&&"function"!=typeof a.FX.Set.prototype[e]&&t.push(e);t.forEach((function(t){a.FX.Set.prototype[t]=function(){for(var e=0,i=this.set.members.length;e<i;e++)this.set.members[e].fx[t].apply(this.set.members[e].fx,arguments);return this}}))},a.extend(a.Element,{}),a.extend(a.Element,{remember:function(t,e){if("object"===i(arguments[0]))for(var a in t)this.remember(a,t[a]);else{if(1==arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0==arguments.length)this._memory={};else for(var t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return Ht(Rt,Rt.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=Rt.document?Ht(Rt,Rt.document):function(t){return Ht(t,t.document)}:Rt.SVG=Ht(Rt,Rt.document), +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;i<arguments.length;i++){var a=null!=arguments[i]?arguments[i]:{};i%2?t(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):t(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function r(t,e,i){return e&&s(t.prototype,e),i&&s(t,i),t}function o(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function n(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function h(t,e){return h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},h(t,e)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function d(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,a=l(t);if(e){var s=l(this).constructor;i=Reflect.construct(a,arguments,s)}else i=a.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return c(t)}(this,i)}}function g(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==i)return;var a,s,r=[],o=!0,n=!1;try{for(i=i.call(t);!(o=(a=i.next()).done)&&(r.push(a.value),!e||r.length!==e);o=!0);}catch(t){n=!0,s=t}finally{try{o||null==i.return||i.return()}finally{if(n)throw s}}return r}(t,e)||p(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t){return function(t){if(Array.isArray(t))return f(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||p(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){if(t){if("string"==typeof t)return f(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?f(t,e):void 0}}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=new Array(e);i<e;i++)a[i]=t[i];return a}var x=function(){function t(){a(this,t)}return r(t,[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),o=parseInt(i[1],10),n=parseInt(i[2],10);return"rgb("+(Math.round((a-r)*s)+r)+","+(Math.round((a-o)*s)+o)+","+(Math.round((a-n)*s)+n)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,o=i>>8&255,n=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===i(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e<t.length;e++)i[e]=t[e];return i}},{key:"extend",value:function(t,e){var i=this;"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var a=arguments[i];if(null!=a)for(var s in a)a.hasOwnProperty(s)&&(e[s]=a[s])}return e});var a=Object.assign({},t);return this.isObject(t)&&this.isObject(e)&&Object.keys(e).forEach((function(s){i.isObject(e[s])&&s in t?a[s]=i.extend(t[s],e[s]):Object.assign(a,o({},s,e[s]))})),a}},{key:"extendArray",value:function(e,i){var a=[];return e.map((function(e){a.push(t.extend(i,e))})),e=a}},{key:"monthMod",value:function(t){return t%12}},{key:"clone",value:function(e){if(t.is("Array",e)){for(var a=[],s=0;s<e.length;s++)a[s]=this.clone(e[s]);return a}if(t.is("Null",e))return null;if(t.is("Date",e))return e;if("object"===i(e)){var r={};for(var o in e)e.hasOwnProperty(o)&&(r[o]=this.clone(e[o]));return r}return e}},{key:"log10",value:function(t){return Math.log(t)/Math.LN10}},{key:"roundToBase10",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:"roundToBase",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:"parseNumber",value:function(t){return null===t?t:parseFloat(t)}},{key:"stripNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(t){var e=String(t).split(/[eE]/);if(1===e.length)return e[0];var i="",a=t<0?"-":"",s=e[0].replace(".",""),r=Number(e[1])+1;if(r<0){for(i=a+"0.";r++;)i+="0";return i+s.replace(/^-/,"")}for(r-=s.length;r--;)i+="0";return s+i}},{key:"getDimensions",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:"getBoundingClientRect",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:"getLargestStringFromArr",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a<i.length;a++)i[a]=parseInt(1===i[a].length?i[a]+i[a]:i[a],16);return void 0!==e&&i.push(e),"rgba("+i.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(t){return parseFloat(t.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t)}},{key:"getPolygonPos",value:function(t,e){for(var i=[],a=2*Math.PI/e,s=0;s<e;s++){var r={};r.x=t*Math.sin(s*a),r.y=-t*Math.cos(s*a),i.push(r)}return i}},{key:"polarToCartesian",value:function(t,e,i,a){var s=(a-90)*Math.PI/180;return{x:t+i*Math.cos(s),y:e+i*Math.sin(s)}}},{key:"escapeString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"isFirefox",value:function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1}},{key:"isIE11",value:function(){if(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>-1)return!0}},{key:"isIE",value:function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var a=t.indexOf("Edge/");return a>0&&parseInt(t.substring(a+5,t.indexOf(".",a)),10)}},{key:"getGCD",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:"getPrimeFactors",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:"mod",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:"setEasingFunctions",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case"linear":t="-";break;case"easein":t="<";break;case"easeout":t=">";break;case"easeinout":default:t="<>";break;case"swing":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case"bounce":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case"elastic":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:"animateCircle",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,o,n,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove("apexcharts-element-hidden"),e.classList.add("apexcharts-hidden-element-shown")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(o=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size("120%","180%","-5%","-40%"),"none"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addNormalFilter",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains("apexcharts-marker")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"addLightenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"addDarkenFilter",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:"linear",slope:r}})})),t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node)}},{key:"applyFilter",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case"none":this.addNormalFilter(t,e);break;case"lighten":this.addLightenFilter(t,e,{intensity:a});break;case"darken":this.addDarkenFilter(t,e,{intensity:a})}}},{key:"addShadow",value:function(t,e,i){var a,s=this.w,r=i.blur,o=i.top,n=i.left,l=i.color,h=i.opacity;if((null===(a=s.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.length)>0&&-1===s.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;var c=t.flood(Array.isArray(l)?l[e]:l,h).composite(t.sourceAlpha,"in").offset(n,o).gaussianBlur(r).merge(t.source);return t.blend(t.source,c)}},{key:"dropShadow",value:function(t,e){var i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=e.top,o=e.left,n=e.blur,l=e.color,h=e.opacity,c=e.noUserSpaceOnUse,d=this.w;if(t.unfilter(!0),x.isIE()&&"radialBar"===d.config.chart.type)return t;if((null===(i=d.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(a=d.config.chart.dropShadow.enabledOnSeries)||void 0===a?void 0:a.indexOf(s)))return t;return l=Array.isArray(l)?l[s]:l,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(l,h).composite(t.sourceAlpha,"in").offset(o,r).gaussianBlur(n):t.flood(l,h).composite(t.sourceAlpha,"in").offset(o,r).gaussianBlur(n).merge(t.source),t.blend(t.source,e)})),c||t.filterer.node.setAttribute("filterUnits","userSpaceOnUse"),this._scaleFilterSize(t.filterer.node),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:"_scaleFilterSize",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var o=t.split(/[,\s]/).reduce((function(t,e){var i=e.match("([a-zA-Z])(.+)");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;"Z"==o[o.length-1][0]&&o[0].length>2&&(h=["L",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c<o.length;c++){var d=n[n.length-1],g=o[c],u=g==h?o[1]:o[c+1];if(u&&d&&d.length>2&&"L"==g[0]&&u.length>2&&"L"==u[0]){var p,f,x=r(d),b=r(g),v=r(u);p=i(b,x,e),f=i(b,v,e),s(g,p),g.origPoint=b,n.push(g);var m=a(p,b,.5),y=a(b,f,.5),w=["C",m.x,m.y,y.x,y.y,f.x,f.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push(["Z"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":o,"stroke-linecap":n})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,"stroke-width":null!==n?n:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,p=void 0===u?null:u,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":o,"stroke-dasharray":x,class:g})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var o=["C",t,e,i,a,s,r].join(" ");return o}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,o){var n="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(n="a");var l=[n,t,e,i,a,s,r,o].join(" ");return l}},{key:"renderPaths",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,p=t.className,f=t.shouldClipToGrid,x=void 0===f||f,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,M=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);M?i=r:(i=o,A.globals.animationEnded=!0);var I=A.config.stroke.dashArray,T=0;T=Array.isArray(I)?I[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:p,strokeLinecap:h,strokeDashArray:T});if(z.attr("index",s),x&&z.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")}),"none"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,z)),z.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,z)),z.node.addEventListener("mousedown",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&M&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,p=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,p=void 0!==n[3]?n[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==p&&t.at(p,e,a)})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),f){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i<r.width?e.slice(0,n-3)+"...":e}},{key:"drawText",value:function(t){var i=this,a=t.x,s=t.y,r=t.text,o=t.textAnchor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.foreColor,d=t.opacity,g=t.maxWidth,u=t.cssClass,p=void 0===u?"":u,f=t.isPlainText,x=void 0===f||f,b=t.dominantBaseline,v=void 0===b?"auto":b,m=this.w;void 0===r&&(r="");var y=r;o||(o="start"),c&&c.length||(c=m.config.chart.foreColor),l=l||m.config.chart.fontFamily,h=h||"regular";var w,k={maxWidth:g,fontSize:n=n||"11px",fontFamily:l};return Array.isArray(r)?w=m.globals.dom.Paper.text((function(t){for(var a=0;a<r.length;a++)y=r[a],g&&(y=i.getTextBasedOnMaxWidth(e({text:r[a]},k))),0===a?t.tspan(y):t.tspan(y).newLine()})):(g&&(y=this.getTextBasedOnMaxWidth(e({text:r},k))),w=x?m.globals.dom.Paper.plain(r):m.globals.dom.Paper.text((function(t){return t.tspan(y)}))),w.attr({x:a,y:s,"text-anchor":o,"dominant-baseline":v,"font-size":n,"font-family":l,"font-weight":h,fill:c,class:"apexcharts-text "+p}),w.node.style.fontFamily=l,w.node.style.opacity=d,w}},{key:"createGroupWithAttributes",value:function(t,e,i,a){var s=this.group();return i.forEach((function(t){return s.add(t)})),s.attr({class:a.class?a.class:"",cy:e,cx:t}),s}},{key:"drawPlus",value:function(t,e,i,a){var s=i/2,r=this.drawLine(t,e-s,t,e+s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap),o=this.drawLine(t-s,e,t+s,e,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap);return this.createGroupWithAttributes(t,e,[r,o],a)}},{key:"drawX",value:function(t,e,i,a){var s=i/2,r=this.drawLine(t-s,e-s,t+s,e+s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap),o=this.drawLine(t-s,e+s,t+s,e-s,a.pointStrokeColor,a.pointStrokeDashArray,a.pointStrokeWidth,a.pointStrokeLineCap);return this.createGroupWithAttributes(t,e,[r,o],a)}},{key:"drawMarker",value:function(t,e,i){t=t||0;var a=i.pSize||0,s=null;if("X"===(null==i?void 0:i.shape)||"x"===(null==i?void 0:i.shape))s=this.drawX(t,e,a,i);else if("plus"===(null==i?void 0:i.shape)||"+"===(null==i?void 0:i.shape))s=this.drawPlus(t,e,a,i);else if("square"===i.shape||"rect"===i.shape){var r=void 0===i.pRadius?a/2:i.pRadius;null!==e&&a||(a=0,r=0);var o=1.2*a+r,n=this.drawRect(o,o,o,o,r);n.attr({x:t-o/2,y:e-o/2,cx:t,cy:e,class:i.class?i.class:"",fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,stroke:i.pointStrokeColor,"stroke-width":i.pointStrokeWidth?i.pointStrokeWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}),s=n}else"circle"!==i.shape&&i.shape||(x.isNumber(e)||(a=0,e=0),s=this.drawCircle(a,{cx:t,cy:e,class:i.class?i.class:"",stroke:i.pointStrokeColor,fill:i.pointFillColor,"fill-opacity":i.pointFillOpacity?i.pointFillOpacity:1,"stroke-width":i.pointStrokeWidth?i.pointStrokeWidth:0,"stroke-opacity":i.pointStrokeOpacity?i.pointStrokeOpacity:1}));return s}},{key:"pathMouseEnter",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);if("function"==typeof i.config.chart.events.dataPointMouseEnter&&i.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseEnter",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),("none"===i.config.states.active.filter.type||"true"!==t.node.getAttribute("selected"))&&"none"!==i.config.states.hover.filter.type&&!i.globals.isTouchDevice){var o=i.config.states.hover.filter;a.applyFilter(t,s,o.type,o.value)}}},{key:"pathMouseLeave",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);"function"==typeof i.config.chart.events.dataPointMouseLeave&&i.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseLeave",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),"none"!==i.config.states.active.filter.type&&"true"===t.node.getAttribute("selected")||"none"!==i.config.states.hover.filter.type&&a.getDefaultFilter(t,s)}},{key:"pathMouseDown",value:function(t,e){var i=this.w,a=new v(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10),o="false";if("true"===t.node.getAttribute("selected")){if(t.node.setAttribute("selected","false"),i.globals.selectedDataPoints[s].indexOf(r)>-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(".apexcharts-series path").members,h=i.globals.dom.Paper.select(".apexcharts-series circle, .apexcharts-series rect").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),o="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===o){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type,d.value);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&o.attr("transform",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a<e.globals.series[e.globals.maxValsInArrayIndex].length;a++){for(var s=0,r=0;r<e.globals.series.length;r++)void 0!==e.globals.series[r][a]&&-1===t.indexOf(r)&&(s+=e.globals.series[r][a]);i.push(s)}return i}},{key:"getSeriesTotalByIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:"setSeriesYAxisMappings",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn("Series '"+e.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l<o.length&&(n=o[l],i[n]=[],s);l++){var h=s[0];s.shift(),i[n].push(h),a[h]=n}s.forEach((function(t){i[n].push(t),a[t]=n})),t.seriesYAxisMap=i.map((function(t){return t})),t.seriesYAxisReverseMap=a.map((function(t){return t})),t.seriesYAxisMap.forEach((function(t,i){t.forEach((function(t){e.series[t]&&void 0===e.series[t].group&&(e.series[t].group="apexcharts-axis-".concat(i.toString()))}))}))}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;a<t.length;a++)i+=t[a];else i+=t;return i}))}},{key:"getSeriesTotalsXRange",value:function(t,e){var i=this.w;return i.globals.series.map((function(a,s){for(var r=0,o=0;o<a.length;o++)i.globals.seriesX[s][o]>t&&i.globals.seriesX[s][o]<e&&(r+=a[o]);return r}))}},{key:"getPercentSeries",value:function(){var t=this.w;t.globals.seriesPercent=t.globals.series.map((function(e,i){var a=[];if(Array.isArray(e))for(var s=0;s<e.length;s++){var r=t.globals.stackedSeriesTotals[s],o=0;r&&(o=100*e[s]/r),a.push(o)}else{var n=100*e/t.globals.seriesTotals.reduce((function(t,e){return t+e}),0);a.push(n)}return a}))}},{key:"getCalculatedRatios",value:function(){var t,e,i,a=this,s=this.w,r=s.globals,o=[],n=0,l=[],h=.1,c=0;if(r.yRange=[],r.isMultipleYAxis)for(var d=0;d<r.minYArr.length;d++)r.yRange.push(Math.abs(r.minYArr[d]-r.maxYArr[d])),l.push(0);else r.yRange.push(Math.abs(r.minY-r.maxY));r.xRange=Math.abs(r.maxX-r.minX),r.zRange=Math.abs(r.maxZ-r.minZ);for(var g=0;g<r.yRange.length;g++)o.push(r.yRange[g]/r.gridHeight);if(e=r.xRange/r.gridWidth,t=r.yRange/r.gridWidth,i=r.xRange/r.gridHeight,(n=r.zRange/r.gridHeight*16)||(n=1),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(r.hasNegs=!0),s.globals.seriesYAxisReverseMap.length>0){var u=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/o[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p<o.length;p++)l.push(u(r.minYArr[p],p))}else(l=[]).push(u(r.minY,0)),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(h=-r.minY/t,c=r.minX/e)}else(l=[]).push(0),h=0,c=0;return{yRatio:o,invertedYRatio:t,zRatio:n,xRatio:e,invertedXRatio:i,baseLineInvertedY:h,baseLineY:l,baseLineX:c}}},{key:"getLogSeries",value:function(t){var e=this,i=this.w;return i.globals.seriesLog=t.map((function(t,a){var s=i.globals.seriesYAxisReverseMap[a];return i.config.yaxis[s]&&i.config.yaxis[s].logarithmic?t.map((function(t){return null===t?null:e.getLogVal(i.config.yaxis[s].logBase,t,a)})):t})),i.globals.invalidLogScale?t:i.globals.seriesLog}},{key:"getBaseLog",value:function(t,e){return Math.log(e)/Math.log(t)}},{key:"getLogVal",value:function(t,e,i){if(e<=0)return 0;var a=this.w,s=0===a.globals.minYArr[i]?-1:this.getBaseLog(t,a.globals.minYArr[i]),r=(0===a.globals.maxYArr[i]?0:this.getBaseLog(t,a.globals.maxYArr[i]))-s;return e<1?e/r:(this.getBaseLog(t,e)-s)/r}},{key:"getLogYRatios",value:function(t){var e=this,i=this.w,a=this.w.globals;return a.yLogRatio=t.slice(),a.logYRange=a.yRange.map((function(t,s){var r=i.globals.seriesYAxisReverseMap[s];if(i.config.yaxis[r]&&e.w.config.yaxis[r].logarithmic){var o,n=-Number.MAX_VALUE,l=Number.MIN_VALUE;return a.seriesLog.forEach((function(t,e){t.forEach((function(t){i.config.yaxis[e]&&i.config.yaxis[e].logarithmic&&(n=Math.max(t,n),l=Math.min(t,l))}))})),o=Math.pow(a.yRange[s],Math.abs(l-n)/a.yRange[s]),a.yLogRatio[s]=o/a.gridHeight,o}})),a.invalidLogScale?t.slice():a.yLogRatio}},{key:"drawSeriesByGroup",value:function(t,e,i,a){var s=this.w,r=[];return t.series.length>0&&e.forEach((function(e){var o=[],n=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(o.push(t.series[a]),n.push(i))})),o.length>0&&r.push(a.draw(o,i,n))})),r}}],[{key:"checkComboSeries",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e="line"),t.length&&void 0!==t[0].type&&t.forEach((function(t){"bar"!==t.type&&"column"!==t.type&&"candlestick"!==t.type&&"boxPlot"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(t,e,i){var a,s,r,o,n,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(o=r.annotations)&&void 0!==o&&o.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(n=e)&&void 0!==n&&null!==(l=n.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4),"top"===t.label.position?s.setAttribute("y",parseFloat(s.getAttribute("y"))+r.width):s.setAttribute("y",parseFloat(s.getAttribute("y"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute("transform","rotate(-90 ".concat(n," ").concat(l,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;"vertical"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,"xaxis")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,"yaxis")})),e.config.annotations.points.map((function(t,e){i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a="y1"===t?e.y:e.y2,s=!1,r=this.w;if(this.annoCtx.invertAxis){var o=r.globals.labels;r.config.xaxis.convertedCatToNumeric&&(o=r.globals.categoryLabels);var n=o.indexOf(a),l=r.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child("+(n+1)+")");i=l?parseFloat(l.getAttribute("y")):(r.globals.gridHeight/o.length-1)*(n+1)-r.globals.barHeight,void 0!==e.seriesIndex&&r.globals.barHeight&&(i=i-r.globals.barHeight/2*(r.globals.series.length-1)+r.globals.barHeight*e.seriesIndex)}else{var h,c=r.globals.seriesYAxisMap[e.yAxisIndex][0];if(r.config.yaxis[e.yAxisIndex].logarithmic)h=(a=new y(this.annoCtx.ctx).getLogVal(r.config.yaxis[e.yAxisIndex].logBase,a,c))/r.globals.yLogRatio[c];else h=(a-r.globals.minYArr[c])/(r.globals.yRange[c]/r.globals.gridHeight);h>r.globals.gridHeight?(h=r.globals.gridHeight,s=!0):h<0&&(h=0,s=!0),i=r.globals.gridHeight-h,!e.marker||void 0!==e.y&&null!==e.y||(i=0),r.config.yaxis[e.yAxisIndex]&&r.config.yaxis[e.yAxisIndex].reversed&&(i=h)}return"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),{yP:i,clipped:s}}},{key:"getX1X2",value:function(t,e){var i,a="x1"===t?e.x:e.x2,s=this.w,r=this.annoCtx.invertAxis?s.globals.minY:s.globals.minX,o=this.annoCtx.invertAxis?s.globals.maxY:s.globals.maxX,n=this.annoCtx.invertAxis?s.globals.yRange[0]:s.globals.xRange,l=!1;return i=this.annoCtx.inversedReversedAxis?(o-a)/(n/s.globals.gridWidth):(a-r)/(n/s.globals.gridWidth),"category"!==s.config.xaxis.type&&!s.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||s.globals.dataFormatXNumeric||s.config.chart.sparkline.enabled||(i=this.getStringX(a)),"string"==typeof a&&a.indexOf("px")>-1&&(i=parseFloat(a)),null==a&&e.marker&&(i=s.globals.gridWidth),void 0!==e.seriesIndex&&s.globals.barWidth&&!this.annoCtx.invertAxis&&(i=i-s.globals.barWidth/2*(s.globals.series.length-1)+s.globals.barWidth*e.seriesIndex),i>s.globals.gridWidth?(i=s.globals.gridWidth,l=!0):i<0&&(i=0,l=!0),{x:i,clipped:l}}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child("+(a+1)+")");return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),o=r.x,n=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(x.isNumber(o)){if(null===t.x2||void 0===t.x2){if(!n){var d=this.annoCtx.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var g=this.helpers.getX1X2("x2",t);if(a=g.x,l=g.clipped,!n||!l){if(a<o){var u=o;o=a,a=u}var p=this.annoCtx.graphics.drawRect(o+t.offsetX,0+t.offsetY,a-o,s.globals.gridHeight+t.offsetY,0,t.fillColor,t.opacity,1,t.borderColor,c);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(!n||!l){var f=this.annoCtx.graphics.getTextRects(h,parseFloat(t.label.style.fontSize)),b="top"===t.label.position?4:"center"===t.label.position?s.globals.gridHeight/2+("vertical"===t.label.orientation?f.width/2:0):s.globals.gridHeight,v=this.annoCtx.graphics.drawText({x:o+t.label.offsetX,y:b+t.label.offsetY-("vertical"===t.label.orientation?"top"===t.label.position?f.width/2-12:-f.width/2:0),text:h,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-xaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});v.attr({rel:i}),e.appendChild(v.node),this.annoCtx.helpers.setOrientations(t,i)}}}},{key:"drawXAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-xaxis-annotations"});return e.config.annotations.xaxis.map((function(e,a){t.addXaxisAnnotation(e,i.node,a)})),i}}]),t}(),A=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:"isValidDate",value:function(t){return"number"!=typeof t&&!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(u(i.months)),r=["\x01"].concat(u(i.shortMonths)),o=["\x02"].concat(u(i.days)),n=["\x03"].concat(u(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length<e;)i="0"+i;return i}var h=a?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\])yyyy+/g,"$1"+h)).replace(/(^|[^\\])yy/g,"$1"+h.toString().substr(2,2))).replace(/(^|[^\\])y/g,"$1"+h);var c=(a?t.getUTCMonth():t.getMonth())+1;e=(e=(e=(e=e.replace(/(^|[^\\])MMMM+/g,"$1"+s[0])).replace(/(^|[^\\])MMM/g,"$1"+r[0])).replace(/(^|[^\\])MM/g,"$1"+l(c))).replace(/(^|[^\\])M/g,"$1"+c);var d=a?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\])dddd+/g,"$1"+o[0])).replace(/(^|[^\\])ddd/g,"$1"+n[0])).replace(/(^|[^\\])dd/g,"$1"+l(d))).replace(/(^|[^\\])d/g,"$1"+d);var g=a?t.getUTCHours():t.getHours(),p=g>12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(g))).replace(/(^|[^\\])H/g,"$1"+g)).replace(/(^|[^\\])hh+/g,"$1"+l(p))).replace(/(^|[^\\])h/g,"$1"+p);var f=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(f))).replace(/(^|[^\\])m/g,"$1"+f);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var v=g<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+v)).replace(/(^|[^\\])T/g,"$1"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+m)).replace(/(^|[^\\])t/g,"$1"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),n=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),S=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return r(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new A(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;if(x.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(x.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(x.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),C=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?"":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new S(this.ctx),p=l;o&&(h=u.xLabelFormat(c,l,p,{i:a,dateFormatter:new A(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new A(this.ctx).formatDate,w:n})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),g=x===f,i=e[a].position,h=e[a].value):"datetime"===n.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new m(this.ctx),v={};v=n.globals.rotateXLabels&&o?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(n.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var y=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&("NaN"===String(h)||s.indexOf(h)>=0&&y)&&(h=""),{x:i,text:h,textRect:v,isBold:g}}},{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x<o.textRect.width/(r.globals.rotateXLabels?Math.abs(r.config.xaxis.labels.rotate)/12:1.01)+o.x&&(e.text="")}return e}},{key:"checkForReversedLabels",value:function(t,e){var i=this.w;return i.config.yaxis[t]&&i.config.yaxis[t].reversed&&e.reverse(),e}},{key:"yAxisAllSeriesCollapsed",value:function(t){var e=this.w.globals;return!e.seriesYAxisMap[t].some((function(t){return-1===e.collapsedSeriesIndices.indexOf(t)}))}},{key:"translateYAxisIndex",value:function(t){var e=this.w,i=e.globals,a=e.config.yaxis;return i.series.length>a.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:"isYAxisHidden",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new y(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:"getYAxisForeColor",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:"drawYAxisTicks",value:function(t,e,i,a,s,r,o){var n=this.w,l=new m(this.ctx),h=n.globals.translateY+n.config.yaxis[s].labels.offsetY;if(n.globals.isBarHorizontal?h=0:"heatmap"===n.config.chart.type&&(h+=r/2),a.show&&e>0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);o.add(d),h+=r}}}}]),t}(),L=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx),this.axesUtils=new C(this.annoCtx)}return r(t,[{key:"addYaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,o=this.helpers.getY1Y2("y1",t),n=o.yP,l=o.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var g=this.annoCtx.graphics.drawLine(0+t.offsetX,n+t.offsetY,this._getYAxisAnnotationWidth(t),n+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(g.node),t.id&&g.node.classList.add(t.id)}}else{if(a=(o=this.helpers.getY1Y2("y2",t)).yP,h=o.clipped,a>n){var u=n;n=a,a=u}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),n-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:n)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),P=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:"addPointAnnotation",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",t),s=a.x,r=a.clipped,o=(a=this.helpers.getY1Y2("y1",t)).yP,n=a.clipped;if(x.isNumber(s)&&!n&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,o+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:"",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:o+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var g=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});g.attr({transform:"translate(".concat(s+t.customSVG.offsetX,", ").concat(o+t.customSVG.offsetY,")")}),g.node.innerHTML=t.customSVG.SVG,e.appendChild(g.node)}if(t.image.path){var u=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-u/2,y:o+t.image.offsetY-p/2,width:u,height:p,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&h.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener("click",t.click.bind(this,t))}}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var M={name:"en",options:{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"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},I=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,radius:2,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:"easeinout",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"transparent",locales:[M],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}},barLabels:{enabled:!1,margin:5,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.45}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:"#fff",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:"none",value:0}},hover:{filter:{type:"lighten",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken",value:.5}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"light",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new L(this),this.pointsAnnotations=new P(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-svg":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:n||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),M=L.globals.dom.baseEl.querySelector(b);M&&M.appendChild(P.node);var I=P.bbox();if(s){var T=this.graphics.drawRect(I.x-m,I.y-C,I.width+m+w,I.height+A+C,p,d||"transparent",1,g,f,u);M.insertBefore(T.node,P.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?".apexcharts-svg":g,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,n);var f=i.globals.dom.baseEl.querySelector(u);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new I,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(g,l,h);break;case"yaxis":this.addYaxisAnnotation(g,l,h);break;case"point":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(u,g);return p&&l.insertBefore(p.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations");e.globals.memory.methodsToExec.map((function(t,i){"addText"!==t.label&&"addAnnotation"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),z=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,o=t.y1,n=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],g=l.config.series[s].name?l.config.series[s].name:"",u=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(g=p(g,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new S(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new A(a).formatDate,w:l}));"function"==typeof u&&(d=u(d,f)),Number.isFinite(o)&&Number.isFinite(n)&&(h=o,c=n);var x="",b="",v=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var m=new A(a);x=m.formatDate(m.getDate(h),l.config.tooltip.x.format),b=m.formatDate(m.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:v,seriesName:g}},X=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='<span class="value start-value">\n '.concat(s,'\n </span> <span class="separator">-</span> <span class="value end-value">\n ').concat(r,"\n </span>");return'<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: '+e+'">'+(i||"")+'</span></div><div> <span class="category">'+a+": </span> "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[o].type||"rangeBar"===t.w.config.series[o].type?c:"<span>".concat(h,"</span>"):c)+" </div></div>"},E=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{chart:{animations:{easing:"swing"}},dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.hideYAxis();return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+": "+t:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1,animations:{easing:"swing"}},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"round"},fill:{opacity:.85},legend:{markers:{shape:"square",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),e(e({},this.bar()),{},{chart:{animations:{easing:"linear",speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1,colors:["#333"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:5,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=z(e(e({},t),{},{isTimeline:!0})),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=z(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return X(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:"brush",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return e(e({},t),{},{plotOptions:e(e({},t.plotOptions),{},{bar:e(e({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'<div class="apexcharts-custom-tooltip">\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": <strong>").concat(t.globals.series[e][i],"</strong>\n </div>"):'<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(t.config.chart.type,'">')+"<div>".concat(a[0],': <span class="value">')+r+"</span></div>"+"<div>".concat(a[1],': <span class="value">')+o+"</span></div>"+(n?"<div>".concat(a[2],': <span class="value">')+n+"</span></div>":"")+"<div>".concat(a[3],': <span class="value">')+l+"</span></div>"+"<div>".concat(a[4],': <span class="value">')+h+"</span></div></div>"}}]),t}(),Y=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new I,r=new E(a);this.chartType=a.chart.type,a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&"object"===i(a)){var l,h,c,d,g,u,p,f,b,v,m={};m=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),null!==(l=a.plotOptions)&&void 0!==l&&null!==(h=l.bar)&&void 0!==h&&h.isFunnel&&(m=r.funnel()),a.chart.stacked&&"bar"===a.chart.type&&(m=r.stackedBars()),null!==(c=a.chart.brush)&&void 0!==c&&c.enabled&&(m=r.brush(m)),null!==(d=a.plotOptions)&&void 0!==d&&null!==(g=d.line)&&void 0!==g&&g.isSlopeChart&&(m=r.slope()),a.chart.stacked&&"100%"===a.chart.stackType&&(a=r.stacked100(a)),null!==(u=a.plotOptions)&&void 0!==u&&null!==(p=u.bar)&&void 0!==p&&p.isDumbbell&&(a=r.dumbbell(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),(null!==(f=(a=this.checkForCatToNumericXAxis(this.chartType,m,a)).chart.sparkline)&&void 0!==f&&f.enabled||null!==(b=window.Apex.chart)&&void 0!==b&&null!==(v=b.sparkline)&&void 0!==v&&v.enabled)&&(m=r.sparkline(m)),n=x.extend(o,m)}var y=x.extend(n,window.Apex);return o=x.extend(y,a),o=this.handleUserInputErrors(o)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new E(i),o=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),n="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return o||n||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new I;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new I;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new I;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new I;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.chart.background||(t.chart.background="#424242"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),F=function(){function t(){a(this,t)}return r(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),R=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:"init",value:function(){var t=new Y(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new F).init(t)}}}]),t}(),H=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:n+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:n+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w,i=e.config.chart.type;return("bar"===i||"rangeBar"===i)&&e.config.plotOptions.bar.distributed||"heatmap"===i||"treemap"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"fillPath",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),"function"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color),o||(o="#fff",console.warn("undefined color - ApexCharts"));var h=o;if(-1===o.indexOf("rgb")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf("rgba")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),"pattern"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),"gradient"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),"image"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:"";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber<c.length?c[t.seriesNumber]:c[0]:c,width:t.width?t.width:void 0,height:t.height?t.height:void 0,patternUnits:t.patternUnits,patternID:"pattern".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d)}),i="url(#pattern".concat(e.globals.cuid).concat(t.seriesNumber+1).concat(d,")")}else i="gradient"===n?s:"pattern"===n?a:h;return t.solid&&(i=h),i}},{key:"getFillType",value:function(t){var e=this.w;return Array.isArray(e.config.fill.type)?e.config.fill.type[t]:e.config.fill.type}},{key:"getFillColors",value:function(){var t=this.w,e=t.config,i=this.opts,a=[];return t.globals.comboCharts?"line"===t.config.series[this.seriesIndex].type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors):"line"===e.chart.type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors),void 0!==i.fillColors&&(a=[],Array.isArray(i.fillColors)?a=i.fillColors.slice():a.push(i.fillColors)),a}},{key:"handlePatternFill",value:function(t){var e=t.fillConfig,i=t.patternFill,a=t.fillColor,s=t.fillOpacity,r=t.defaultColor,o=this.w.config.fill;e&&(o=e);var n=this.opts,l=new m(this.ctx),h=Array.isArray(o.pattern.strokeWidth)?o.pattern.strokeWidth[this.seriesIndex]:o.pattern.strokeWidth,c=a;Array.isArray(o.pattern.style)?i=void 0!==o.pattern.style[n.seriesNumber]?l.drawPattern(o.pattern.style[n.seriesNumber],o.pattern.width,o.pattern.height,c,h,s):r:i=l.drawPattern(o.pattern.style,o.pattern.width,o.pattern.height,c,h,s);return i}},{key:"handleGradientFill",value:function(t){var i=t.fillColor,a=t.fillOpacity,s=t.fillConfig,r=t.i,o=this.w.config.fill;s&&(o=e(e({},o),s));var n,l=this.opts,h=new m(this.ctx),c=new x,d=o.gradient.type,g=i,u=void 0===o.gradient.opacityFrom?a:Array.isArray(o.gradient.opacityFrom)?o.gradient.opacityFrom[r]:o.gradient.opacityFrom;g.indexOf("rgba")>-1&&(u=x.getOpacityFromRGBA(g));var p=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var f=o.gradient.gradientToColors[l.seriesNumber];n=f,f.indexOf("rgba")>-1&&(p=x.getOpacityFromRGBA(f))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf("rgb")>-1&&(g=x.rgb2hex(g)),n.indexOf("rgb")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,p,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),D=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length<t.globals.series.length+1)for(var e=0;e<=t.globals.series.length;e++)void 0===t.globals.markers.size[e]&&t.globals.markers.size.push(t.globals.markers.size[0])}else t.globals.markers.size=t.config.series.map((function(e){return t.config.markers.size}))}},{key:"plotChartMarkers",value:function(t,e,i,a){var s,r=arguments.length>4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(o.globals.cuid,")")),Array.isArray(l.x))for(var g=0;g<l.x.length;g++){var u=i;1===i&&0===g&&(u=0),1===i&&1===g&&(u=1);var p="apexcharts-marker";if("line"!==o.config.chart.type&&"area"!==o.config.chart.type||o.globals.comboCharts||o.config.tooltip.intersect||(p+=" no-pointer-events"),(Array.isArray(o.config.markers.size)?o.globals.markers.size[e]>0:o.config.markers.size>0)||r||d){x.isNumber(l.y[g])?p+=" w".concat(x.randomId()):p="apexcharts-nullpoint";var f=this.getMarkerConfig({cssClass:p,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(f.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(f.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(f.pSize=a),(l.x[g]<-o.globals.markers.largestSize||l.x[g]>o.globals.gridWidth+o.globals.markers.largestSize||l.y[g]<-o.globals.markers.largestSize||l.y[g]>o.globals.gridHeight+o.globals.markers.largestSize)&&(f.pSize=0),(s=c.drawMarker(l.x[g],l.y[g],f)).attr("rel",u),s.attr("j",u),s.attr("index",e),s.node.setAttribute("default-marker-size",f.pSize),new v(this.ctx).setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),O=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(o.x))for(var c=0;c<o.x.length;c++){var d=e+1,g=!0;0===e&&0===c&&(d=0),0===e&&1===c&&(d=1);var u=0,p=a.globals.markers.size[r];if(n!==1/0){var f=a.config.plotOptions.bubble;p=a.globals.seriesZ[r][d],f.zScaling&&(p/=n),f.minBubbleRadius&&p<f.minBubbleRadius&&(p=f.minBubbleRadius),f.maxBubbleRadius&&p>f.maxBubbleRadius&&(p=f.maxBubbleRadius)}a.config.chart.animations.enabled||(u=p);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,p,r,d,e);h.add(v)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new H(this.ctx),g=new D(this.ctx),u=new m(this.ctx),p=g.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:l,dataPointIndex:r,finishRadius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&"bubble"===n.config.series[s].type?a:null});a=p.pSize;var f,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:p.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[s][o]});if("circle"===p.shape?f=u.drawCircle(i):"square"!==p.shape&&"rect"!==p.shape||(f=u.drawRect(0,0,p.width-p.pointStrokeWidth/2,p.height-p.pointStrokeWidth/2,p.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),f.attr({x:t-p.width/2-p.pointStrokeWidth/2,y:e-p.height/2-p.pointStrokeWidth/2,cx:t,cy:e,fill:x,"fill-opacity":p.pointFillOpacity,stroke:p.pointStrokeColor,r:a,"stroke-width":p.pointStrokeWidth,"stroke-dasharray":p.pointStrokeDashArray,"stroke-opacity":p.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(f,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(f,0,"circle"===p.shape?a:{width:p.width,height:p.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(f)}),100)}))}if(n.globals.dataChanged&&"circle"===p.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;P<n.globals.collapsedSeries.length;P++)n.globals.collapsedSeries[P].index===s&&(L=1,a=0);0===t&&0===e&&(a=0),h.animateCircle(f,{cx:k,cy:A,r:S},{cx:t,cy:e,r:a},L,n.globals.easing)}else f.attr({r:a});return f.attr({rel:r,j:r,index:s,"default-marker-size":a}),c.setSelectionFilter(f,s,r),g.addEvents(f),f.node.classList.add("apexcharts-marker"),f}},{key:"centerTextInBubble",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),N=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"dataLabelsCorrection",value:function(t,e,i,a,s,r,o){var n=this.w,l=!1,h=new m(this.ctx).getTextRects(i,o),c=h.width,d=h.height;e<0&&(e=0),e>n.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var p=n.globals.dataLabelsRects[a][u];(t>p.x+p.width||e>p.y+p.height||e+d<p.y||t+c<p.x)&&(l=!0)}return(0===s||r)&&(l=!0),{x:t,y:e,textRects:h,drawnextLabel:l}}},{key:"drawDataLabel",value:function(t){var e=this,i=t.type,a=t.pos,s=t.i,r=t.j,o=t.isRangeStart,n=t.strokeWidth,l=void 0===n?2:n,h=this.w,c=new m(this.ctx),d=h.config.dataLabels,g=0,u=0,p=r,f=null;if(-1!==h.globals.collapsedSeriesIndices.indexOf(s)||!d.enabled||!Array.isArray(a.x))return f;f=c.group({class:"apexcharts-data-labels"});for(var x=0;x<a.x.length;x++)if(g=a.x[x]+d.offsetX,u=a.y[x]+d.offsetY+l,!isNaN(g)){1===r&&0===x&&(p=0),1===r&&1===x&&(p=1);var b=h.globals.series[s][p];"rangeArea"===i&&(b=o?h.globals.seriesRangeStart[s][p]:h.globals.seriesRangeEnd[s][p]);var v="",y=function(t){return h.config.dataLabels.formatter(t,{ctx:e.ctx,seriesIndex:s,dataPointIndex:p,w:h})};if("bubble"===h.config.chart.type)v=y(b=h.globals.seriesZ[s][p]),u=a.y[x],u=new O(this.ctx).centerTextInBubble(u,s,p).y;else void 0!==b&&(v=y(b));var w=h.config.dataLabels.textAnchor;h.globals.isSlopeChart&&(w=0===p?"end":p===h.config.series[s].data.length-1?"start":"middle"),this.plotDataLabelsText({x:g,y:u,text:v,i:s,j:p,parent:f,offsetCorrection:!0,dataLabelsConfig:h.config.dataLabels,textAnchor:w})}return f}},{key:"plotDataLabelsText",value:function(t){var e=this.w,i=new m(this.ctx),a=t.x,s=t.y,r=t.i,o=t.j,n=t.text,l=t.textAnchor,h=t.fontSize,c=t.parent,d=t.dataLabelsConfig,g=t.color,u=t.alwaysDrawDataLabel,p=t.offsetCorrection;if(!(Array.isArray(e.config.dataLabels.enabledOnSeries)&&e.config.dataLabels.enabledOnSeries.indexOf(r)<0)){var f={x:a,y:s,drawnextLabel:!0,textRects:null};p&&(f=this.dataLabelsCorrection(a,s,n,r,o,u,parseInt(d.style.fontSize,10))),e.globals.zoomed||(a=f.x,s=f.y),f.textRects&&(a<-20-f.textRects.width||a>e.globals.gridWidth+f.textRects.width+30)&&(n="");var x=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),"function"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(b=0,y=0),e.globals.isSlopeChart&&(0!==o&&(b=-2*d.offsetX+5),0!==o&&o!==e.config.series[r].data.length-1&&(b=0)),f.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"});if(w.attr({class:"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,"transparent"===i.config.chart.background?"#fff":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i<e.length;i++){var a=e[i],s=a.getBBox(),r=null;if(s.width&&s.height&&(r=this.addBackgroundToDataLabel(a,s)),r){a.parentNode.insertBefore(r.node,a);var o=a.getAttribute("fill");t.config.chart.animations.enabled&&!t.globals.resized&&!t.globals.dataChanged?r.animate().attr({fill:o}):r.attr({fill:o}),a.setAttribute("fill",t.config.dataLabels.background.foreColor)}}}},{key:"bringForward",value:function(){for(var t=this.w,e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels"),i=t.globals.dom.baseEl.querySelector(".apexcharts-plot-series:last-child"),a=0;a<e.length;a++)i&&i.insertBefore(e[a],i.nextSibling)}}]),t}(),W=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return r(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(x.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a<i.length;a++)i[a].index===e&&t.node.classList.add("apexcharts-series-collapsed")}a(i.globals.collapsedSeries),a(i.globals.ancillaryCollapsedSeries)}},{key:"toggleSeries",value:function(t){var e=this.isSeriesHidden(t);return this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,e.isHidden),e.isHidden}},{key:"showSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden&&this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!0)}},{key:"hideSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden||this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!1)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i<t.length;i++)e.globals.collapsedSeriesIndices.indexOf(i)>-1&&(t[i].data=[]);return t}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis");if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1,r=null,o=null,n=null;if(i.globals.axisCharts||"radialBar"===i.config.chart.type)if(i.globals.axisCharts){r=i.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(s,"']")),o=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(s,"']"));var l=i.globals.seriesYAxisReverseMap[s];n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(l,"']"))}else r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"']"));else r=i.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(s+1,"'] path"));for(var h=0;h<a.length;h++)a[h].classList.add(this.legendInactiveClass);null!==r&&(i.globals.axisCharts||r.parentNode.classList.remove(this.legendInactiveClass),r.classList.remove(this.legendInactiveClass),null!==o&&o.classList.remove(this.legendInactiveClass),null!==n&&n.classList.remove(this.legendInactiveClass))}else if("mouseout"===t.type)for(var c=0;c<a.length;c++)a[c].classList.remove(this.legendInactiveClass)}},{key:"highlightRangeInSeries",value:function(t,e){var i=this,a=this.w,s=a.globals.dom.baseEl.getElementsByClassName("apexcharts-heatmap-rect"),r=function(t){for(var e=0;e<s.length;e++)s[e].classList[t](i.legendInactiveClass)};if("mousemove"===t.type){var o=parseInt(e.getAttribute("rel"),10)-1;r("add"),function(t){for(var e=0;e<s.length;e++){var a=parseInt(s[e].getAttribute("val"),10);a>=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r<s.length:r>=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},o=0;o<s.length;o++)if(s[o].hasAttribute("pathTo")){var n=s[o].getAttribute("pathTo");r.paths.push({d:n})}t.globals.previousPaths.push(r)}t.globals.previousPaths=[];["line","area","bar","rangebar","rangeArea","candlestick","radar"].forEach((function(i){for(var a,s=(a=i,t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(a,"-series .apexcharts-series"))),r=0;r<s.length;r++)e(s,r,i)})),this.handlePrevBubbleScatterPaths("bubble"),this.handlePrevBubbleScatterPaths("scatter");var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series"));if(i.length>0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r<i.length;r++)s(r);t.globals.previousPaths.push(a)},s=0;s<i.length;s++)a(s);t.globals.axisCharts||(t.globals.previousPaths=t.globals.series)}},{key:"handlePrevBubbleScatterPaths",value:function(t){var e=this.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t,"-series .apexcharts-series"));if(i.length>0)for(var a=0;a<i.length;a++){for(var s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t,"-series .apexcharts-series[data\\:realIndex='").concat(a,"'] circle")),r=[],o=0;o<s.length;o++)r.push({x:s[o].getAttribute("cx"),y:s[o].getAttribute("cy"),r:s[o].getAttribute("r")});e.globals.previousPaths.push(r)}}},{key:"clearPreviousPaths",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1}},{key:"handleNoData",value:function(){var t=this.w,e=t.config.noData,i=new m(this.ctx),a=t.globals.svgWidth/2,s=t.globals.svgHeight/2,r="middle";if(t.globals.noData=!0,t.globals.animationEnded=!0,"left"===e.align?(a=10,r="start"):"right"===e.align&&(a=t.globals.svgWidth-10,r="end"),"top"===e.verticalAlign?s=50:"bottom"===e.verticalAlign&&(s=t.globals.svgHeight-50),a+=e.offsetX,s=s+parseInt(e.style.fontSize,10)+2+e.offsetY,void 0!==e.text&&""!==e.text){var o=i.drawText({x:a,y:s,text:e.text,textAnchor:r,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:"apexcharts-text-nodata"});t.globals.dom.Paper.add(o)}}},{key:"setNullSeriesToZeroValues",value:function(t){for(var e=this.w,i=0;i<t.length;i++)if(0===t[i].length)for(var a=0;a<t[e.globals.maxValsInArrayIndex].length;a++)t[i].push(0);return t}},{key:"hasAllSeriesEqualX",value:function(){for(var t=!0,e=this.w,i=this.filteredSeriesX(),a=0;a<i.length-1;a++)if(i[a][0]!==i[a+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t,t}},{key:"filteredSeriesX",value:function(){var t=this.w.globals.seriesX.map((function(t){return t.length>0?t:[]}));return t}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new W(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r<t[e].data.length;r++)if(void 0!==t[e].data[r][1]&&(Array.isArray(t[e].data[r][1])&&4===t[e].data[r][1].length&&!s?this.twoDSeries.push(x.parseNumber(t[e].data[r][1][3])):t[e].data[r].length>=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n<t[e].data.length;n++)void 0!==t[e].data[n][2]&&(this.threeDSeries.push(t[e].data[n][2]),a.isDataXYZ=!0)}},{key:"handleFormatXY",value:function(t,e){var i=this.w.config,a=this.w.globals,s=new A(this.ctx),r=e;a.collapsedSeriesIndices.indexOf(e)>-1&&(r=this.activeSeriesIndex);for(var o=0;o<t[e].data.length;o++)void 0!==t[e].data[o].y&&(Array.isArray(t[e].data[o].y)?this.twoDSeries.push(x.parseNumber(t[e].data[o].y[t[e].data[o].y.length-1])):this.twoDSeries.push(x.parseNumber(t[e].data[o].y))),void 0!==t[e].data[o].goals&&Array.isArray(t[e].data[o].goals)?(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(t[e].data[o].goals)):(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(null));for(var n=0;n<t[r].data.length;n++){var l="string"==typeof t[r].data[n].x,h=Array.isArray(t[r].data[n].x),c=!h&&!!s.isValidDate(t[r].data[n].x);if(l||c)if(l||i.xaxis.convertedCatToNumeric){var d=a.isBarHorizontal&&a.isRangeData;"datetime"!==i.xaxis.type||d?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[n].x),isNaN(t[r].data[n].x)||"category"===this.w.config.xaxis.type||"string"==typeof t[r].data[n].x||(a.isXNumeric=!0)):this.twoDSeriesX.push(s.parseDate(t[r].data[n].x))}else"datetime"===i.xaxis.type?this.twoDSeriesX.push(s.parseDate(t[r].data[n].x.toString())):(a.dataFormatXNumeric=!0,a.isXNumeric=!0,this.twoDSeriesX.push(parseFloat(t[r].data[n].x)));else h?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[n].x)):(a.isXNumeric=!0,a.dataFormatXNumeric=!0,this.twoDSeriesX.push(t[r].data[n].x))}if(t[e].data[0]&&void 0!==t[e].data[0].z){for(var g=0;g<t[e].data.length;g++)this.threeDSeries.push(t[e].data[g].z);a.isDataXYZ=!0}}},{key:"handleRangeData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleRangeDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleRangeDataFormat("xy",t,e)),i.seriesRangeStart.push(void 0===a.start?[]:a.start),i.seriesRangeEnd.push(void 0===a.end?[]:a.end),i.seriesRange.push(a.rangeUniques),i.seriesRange.forEach((function(t,e){t&&t.forEach((function(t,e){t.y.forEach((function(e,i){for(var a=0;a<t.y.length;a++)if(i!==a){var s=e.y1,r=e.y2,o=t.y[a].y1;s<=t.y[a].y2&&o<=r&&(t.overlaps.indexOf(e.rangeName)<0&&t.overlaps.push(e.rangeName),t.overlaps.indexOf(t.y[a].rangeName)<0&&t.overlaps.push(t.y[a].rangeName))}}))}))})),a}},{key:"handleCandleStickBoxData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleCandleStickBoxDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleCandleStickBoxDataFormat("xy",t,e)),i.seriesCandleO[e]=a.o,i.seriesCandleH[e]=a.h,i.seriesCandleM[e]=a.m,i.seriesCandleL[e]=a.l,i.seriesCandleC[e]=a.c,a}},{key:"handleRangeDataFormat",value:function(t,e,i){var a=[],s=[],r=e[i].data.filter((function(t,e,i){return e===i.findIndex((function(e){return e.x===t.x}))})).map((function(t,e){return{x:t.x,overlaps:[],y:[]}}));if("array"===t)for(var o=0;o<e[i].data.length;o++)Array.isArray(e[i].data[o])?(a.push(e[i].data[o][1][0]),s.push(e[i].data[o][1][1])):(a.push(e[i].data[o]),s.push(e[i].data[o]));else if("xy"===t)for(var n=function(t){var o=Array.isArray(e[i].data[t].y),n=x.randomId(),l=e[i].data[t].x,h={y1:o?e[i].data[t].y[0]:e[i].data[t].y,y2:o?e[i].data[t].y[1]:e[i].data[t].y,rangeName:n};e[i].data[t].rangeName=n;var c=r.findIndex((function(t){return t.x===l}));r[c].y.push(h),a.push(h.y1),s.push(h.y2)},l=0;l<e[i].data.length;l++)n(l);return{start:a,end:s,rangeUniques:r}}},{key:"handleCandleStickBoxDataFormat",value:function(t,e,i){var a=this.w,s="boxPlot"===a.config.chart.type||"boxPlot"===a.config.series[i].type,r=[],o=[],n=[],l=[],h=[];if("array"===t)if(s&&6===e[i].data[0].length||!s&&5===e[i].data[0].length)for(var c=0;c<e[i].data.length;c++)r.push(e[i].data[c][1]),o.push(e[i].data[c][2]),s?(n.push(e[i].data[c][3]),l.push(e[i].data[c][4]),h.push(e[i].data[c][5])):(l.push(e[i].data[c][3]),h.push(e[i].data[c][4]));else for(var d=0;d<e[i].data.length;d++)Array.isArray(e[i].data[d][1])&&(r.push(e[i].data[d][1][0]),o.push(e[i].data[d][1][1]),s?(n.push(e[i].data[d][1][2]),l.push(e[i].data[d][1][3]),h.push(e[i].data[d][1][4])):(l.push(e[i].data[d][1][2]),h.push(e[i].data[d][1][3])));else if("xy"===t)for(var g=0;g<e[i].data.length;g++)Array.isArray(e[i].data[g].y)&&(r.push(e[i].data[g].y[0]),o.push(e[i].data[g].y[1]),s?(n.push(e[i].data[g].y[2]),l.push(e[i].data[g].y[3]),h.push(e[i].data[g].y[4])):(l.push(e[i].data[g].y[2]),h.push(e[i].data[g].y[3])));return{o:r,h:o,m:n,l:l,c:h}}},{key:"parseDataAxisCharts",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new A(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push("series-"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var n=[],l=u(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);n[i]||(n[i]=[]),n[i].push(s.seriesNames[e])})),s.seriesGroups=n;for(var h=function(){for(var t=0;t<o.length;t++)if("string"==typeof o[t]){if(!r.isValidDate(o[t]))throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");e.twoDSeriesX.push(r.parseDate(o[t]))}else e.twoDSeriesX.push(o[t])},c=0;c<t.length;c++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===t[c].data)return void console.error("It is a possibility that you may have not included 'data' property in series.");if("rangeBar"!==a.chart.type&&"rangeArea"!==a.chart.type&&"rangeBar"!==t[c].type&&"rangeArea"!==t[c].type||(s.isRangeData=!0,"rangeBar"!==a.chart.type&&"rangeArea"!==a.chart.type||this.handleRangeData(t,c)),this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,c):this.isFormatXY()&&this.handleFormatXY(t,c),"candlestick"!==a.chart.type&&"candlestick"!==t[c].type&&"boxPlot"!==a.chart.type&&"boxPlot"!==t[c].type||this.handleCandleStickBoxData(t,c),s.series.push(this.twoDSeries),s.labels.push(this.twoDSeriesX),s.seriesX.push(this.twoDSeriesX),s.seriesGoals=this.seriesGoals,c!==this.activeSeriesIndex||this.fallbackToCategory||(s.isXNumeric=!0);else{"datetime"===a.xaxis.type?(s.isXNumeric=!0,h(),s.seriesX.push(this.twoDSeriesX)):"numeric"===a.xaxis.type&&(s.isXNumeric=!0,o.length>0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return x.parseNumber(t)}));s.series.push(d)}s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a<e.series.length;a++)void 0===e.seriesNames[a]&&e.seriesNames.push("series-"+(a+1));return this.w}},{key:"handleExternalLabelsData",value:function(t){var e=this.w.config,i=this.w.globals;if(e.xaxis.categories.length>0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new E(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o<s[r].length;o++)a.push(o+1);else for(var n=0;n<e.series[e.maxValsInArrayIndex].length;n++)a.push(n+1);e.seriesX=[];for(var l=0;l<t.length;l++)e.seriesX.push(a);this.w.globals.isBarHorizontal||(e.isXNumeric=!0)}if(0===a.length){a=e.axisCharts?[]:e.series.map((function(t,e){return e+1}));for(var h=0;h<t.length;h++)e.seriesX.push(a)}e.labels=a,i.xaxis.convertedCatToNumeric&&(e.categoryLabels=a.map((function(t){return i.xaxis.labels.formatter(t)}))),e.noLabelsProvided=!0}},{key:"parseData",value:function(t){var e=this.w,i=e.config,a=e.globals;if(this.excludeCollapsedSeriesInYAxis(),this.fallbackToCategory=!1,this.ctx.core.resetGlobals(),this.ctx.core.isMultipleY(),a.axisCharts?(this.parseDataAxisCharts(t),this.coreUtils.getLargestSeries()):this.parseDataNonAxisCharts(t),i.chart.stacked){var s=new W(this.ctx);a.series=s.setNullSeriesToZeroValues(a.series)}this.coreUtils.getSeriesTotals(),a.axisCharts&&(a.stackedSeriesTotals=this.coreUtils.getStackedSeriesTotals(),a.stackedSeriesTotalsByGroups=this.coreUtils.getStackedSeriesTotalsByGroups()),this.coreUtils.getPercentSeries(),a.dataFormatXNumeric||a.isXNumeric&&("numeric"!==i.xaxis.type||0!==i.labels.length||0!==i.xaxis.categories.length)||this.handleExternalLabelsData(t);for(var r=this.coreUtils.getCategoryLabels(a.labels),o=0;o<r.length;o++)if(Array.isArray(r[o])){a.isMultiLineX=!0;break}}},{key:"excludeCollapsedSeriesInYAxis",value:function(){var t=this.w,e=[];t.globals.seriesYAxisMap.forEach((function(i,a){var s=0;i.forEach((function(e){-1!==t.globals.collapsedSeriesIndices.indexOf(e)&&s++})),s>0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"fixSvgStringForIe11",value:function(t){if(!x.isIE11())return t.replace(/ /g," ");var e=0,i=t.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g,(function(t){return 2===++e?'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev"':t}));return i=(i=i.replace(/xmlns:NS\d+=""/g,"")).replace(/NS\d+:(\w+:\w+=")/g,"$1")}},{key:"getSvgString",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:"cleanup",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-xcrosshairs"),i=t.globals.dom.baseEl.getElementsByClassName("apexcharts-ycrosshairs"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-zoom-rect, .apexcharts-selection-rect");Array.prototype.forEach.call(a,(function(t){t.setAttribute("width",0)})),e&&e[0]&&(e[0].setAttribute("x",-500),e[0].setAttribute("x1",-500),e[0].setAttribute("x2",-500)),i&&i[0]&&(i[0].setAttribute("y",-100),i[0].setAttribute("y1",-100),i[0].setAttribute("y2",-100))}},{key:"svgUrl",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:"image/svg+xml;charset=utf-8"});return URL.createObjectURL(e)}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o="transparent"===a.config.chart.background?"#fff":a.config.chart.background,n=r.getContext("2d");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d="data:image/svg+xml,"+encodeURIComponent(l),g=new Image;g.crossOrigin="anonymous",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},g.src=d}}))}},{key:"exportToSVG",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,".svg")}},{key:"exportToPng",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,o=t.lineDelimiter,n=void 0===o?"\n":o,l=this.w;i||(i=l.config.series);var h,c,d=[],g=[],p="",f=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),b=function(t){return"datetime"===l.config.xaxis.type&&String(t).length>=10},v=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),m=new B(this.ctx),y=new C(this.ctx),w=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new W(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=y.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?"nullvalue":(Array.isArray(i)&&(i=i.join(" ")),x.isNumber(i)?i:i.split(r).join(""))},k=function(t,e){if(d.length&&0===e&&g.push(d.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(v)).map((function(){return""}));for(var a=0;a<t.data.length;a++){d=[];var s=w(a);if("nullvalue"!==s){if(s||(m.isFormatXY()?s=i[e].data[a].x:m.isFormat2DArray()&&(s=i[e].data[a]?i[e].data[a][0]:"")),0===e){d.push(b(s)?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join(""));for(var o=0;o<l.globals.series.length;o++){var n;if(m.isFormatXY())d.push(null===(n=i[o].data[a])||void 0===n?void 0:n.y);else d.push(f[o][a])}}("candlestick"===l.config.chart.type||t.type&&"candlestick"===t.type)&&(d.pop(),d.push(l.globals.seriesCandleO[e][a]),d.push(l.globals.seriesCandleH[e][a]),d.push(l.globals.seriesCandleL[e][a]),d.push(l.globals.seriesCandleC[e][a])),("boxPlot"===l.config.chart.type||t.type&&"boxPlot"===t.type)&&(d.pop(),d.push(l.globals.seriesCandleO[e][a]),d.push(l.globals.seriesCandleH[e][a]),d.push(l.globals.seriesCandleM[e][a]),d.push(l.globals.seriesCandleL[e][a]),d.push(l.globals.seriesCandleC[e][a])),"rangeBar"===l.config.chart.type&&(d.pop(),d.push(l.globals.seriesRangeStart[e][a]),d.push(l.globals.seriesRangeEnd[e][a])),d.length&&g.push(d.join(r))}}}};d.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(d.push("minimum"),d.push("q1"),d.push("median"),d.push("q3"),d.push("maximum")):"candlestick"===l.config.chart.type?(d.push("open"),d.push("high"),d.push("low"),d.push("close")):"rangeBar"===l.config.chart.type?(d.push("minimum"),d.push("maximum")):i.map((function(t,e){var i=(t.name?t.name:"series-".concat(e))+"";l.globals.axisCharts&&d.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(d.push(l.config.chart.toolbar.export.csv.headerValue),g.push(d.join(r))),l.globals.allSeriesHasEqualX||!l.globals.axisCharts||l.config.xaxis.categories.length||l.config.labels.length?i.map((function(t,e){l.globals.axisCharts?k(t,e):((d=[]).push(l.globals.labels[e].split(r).join("")),d.push(f[e]),g.push(d.join(r)))})):(h=new Set,c={},i.forEach((function(t,e){null==t||t.data.forEach((function(t){var a,s;if(m.isFormatXY())a=t.x,s=t.y;else{if(!m.isFormat2DArray())return;a=t[0],s=t[1]}c[a]||(c[a]=Array(i.length).fill("")),c[a][e]=s,h.add(a)}))})),d.length&&g.push(d.join(r)),Array.from(h).sort().forEach((function(t){g.push([b(t)&&"datetime"===l.config.xaxis.type?l.config.chart.toolbar.export.csv.dateFormatter(t):x.isNumber(t)?t:t.split(r).join(""),c[t].join(r)])}))),p+=g.join(n),this.triggerDownload("data:text/csv; charset=utf-8,"+encodeURIComponent("\ufeff"+p),a||l.config.chart.toolbar.export.csv.filename,".csv")}},{key:"triggerDownload",value:function(t,e,i){var a=document.createElement("a");a.href=t,a.download=(e||this.w.globals.chartID)+i,document.body.appendChild(a),a.click(),document.body.removeChild(a)}}]),t}(),V=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.axesUtils=new C(e),this.xaxisLabels=s.globals.labels.slice(),s.globals.timescaleLabels.length>0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r<this.xaxisLabels.length;r++)s.push(this.xaxisLabels[r]);if(this.drawXAxisLabelAndGroup(!0,e,a,s,t.globals.isXNumeric,(function(t,e){return e})),t.globals.hasXaxisGroups){var o=t.globals.groups;s=[];for(var n=0;n<o.length;n++)s.push(o[n].title);var l={};t.config.xaxis.group.style&&(l.xaxisFontSize=t.config.xaxis.group.style.fontSize,l.xaxisFontFamily=t.config.xaxis.group.style.fontFamily,l.xaxisForeColors=t.config.xaxis.group.style.colors,l.fontWeight=t.config.xaxis.group.style.fontWeight,l.cssClass=t.config.xaxis.group.style.cssClass),this.drawXAxisLabelAndGroup(!1,e,a,s,!1,(function(t,e){return o[t].cols*e}),l)}if(void 0!==t.config.xaxis.title.text){var h=e.group({class:"apexcharts-xaxis-title"}),c=e.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.offY+parseFloat(this.xaxisFontSize)+("bottom"===t.config.xaxis.position?t.globals.xAxisLabelsHeight:-t.globals.xAxisLabelsHeight-10)+t.config.xaxis.title.offsetY,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});h.add(c),i.add(h)}if(t.config.xaxis.axisBorder.show){var d=t.globals.barPadForNumericAxis,g=e.drawLine(t.globals.padHorizontal+t.config.xaxis.axisBorder.offsetX-d,this.offY,this.xaxisBorderWidth+d,this.offY,t.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(g):i.add(g)}return i}},{key:"drawXAxisLabelAndGroup",value:function(t,e,i,a,s,r){var o,n=this,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m="category"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/Math.min(y,v-1),b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:g,fontFamily:u,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}s<v-1&&(b+=r(s+1,o))},k=0;k<=v-1;k++)w(k)}},{key:"drawXaxisInversed",value:function(t){var e,i,a=this,s=this.w,r=new m(this.ctx),o=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,n=r.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),l=r.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+o+", 0)"});n.add(l);var h=[];if(s.config.yaxis[t].show)for(var c=0;c<this.xaxisLabels.length;c++)h.push(this.xaxisLabels[c]);e=s.globals.gridHeight/h.length,i=-e/2.2;var d=s.globals.yLabelFormatters[0],g=s.config.yaxis[0].labels;if(g.show)for(var u=function(o){var n=void 0===h[o]?"":h[o];n=d(n,{seriesIndex:t,dataPointIndex:o,w:s});var c=a.axesUtils.getYAxisForeColor(g.style.colors,t),u=0;Array.isArray(n)&&(u=n.length/2*parseInt(g.style.fontSize,10));var p=g.offsetX-15,f="end";a.yaxis.opposite&&(f="start"),"left"===s.config.yaxis[0].labels.align?(p=g.offsetX,f="start"):"center"===s.config.yaxis[0].labels.align?(p=g.offsetX,f="middle"):"right"===s.config.yaxis[0].labels.align&&(f="end");var x=r.drawText({x:p,y:i+e+g.offsetY-u,text:n,textAnchor:f,foreColor:Array.isArray(c)?c[o]:c,fontSize:g.style.fontSize,fontFamily:g.style.fontFamily,fontWeight:g.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+g.style.cssClass,maxWidth:g.maxWidth});l.add(x),x.on("click",(function(t){if("function"==typeof s.config.chart.events.xAxisLabelClick){var e=Object.assign({},s,{labelIndex:o});s.config.chart.events.xAxisLabelClick(t,a.ctx,e)}}));var b=document.createElementNS(s.globals.SVGNS,"title");if(b.textContent=Array.isArray(n)?n.join(" "):n,x.node.appendChild(b),0!==s.config.yaxis[t].labels.rotate){var v=r.rotateAroundCenter(x.node);x.node.setAttribute("transform","rotate(".concat(s.config.yaxis[t].labels.rotate," 0 ").concat(v.y,")"))}i+=e},p=0;p<=h.length-1;p++)u(p);if(void 0!==s.config.yaxis[0].title.text){var f=r.group({class:"apexcharts-yaxis-title apexcharts-xaxis-title-inversed",transform:"translate("+o+", 0)"}),x=r.drawText({x:s.config.yaxis[0].title.offsetX,y:s.globals.gridHeight/2+s.config.yaxis[0].title.offsetY,text:s.config.yaxis[0].title.text,textAnchor:"middle",foreColor:s.config.yaxis[0].title.style.color,fontSize:s.config.yaxis[0].title.style.fontSize,fontWeight:s.config.yaxis[0].title.style.fontWeight,fontFamily:s.config.yaxis[0].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+s.config.yaxis[0].title.style.cssClass});f.add(x),n.add(f)}var b=0;this.isCategoryBarHorizontal&&s.config.yaxis[0].opposite&&(b=s.globals.gridWidth);var v=s.config.xaxis.axisBorder;if(v.show){var y=r.drawLine(s.globals.padHorizontal+v.offsetX+b,1+v.offsetY,s.globals.padHorizontal+v.offsetX+b,s.globals.gridHeight+v.offsetY,v.color,0);this.elgrid&&this.elgrid.elGridBorders&&s.config.grid.show?this.elgrid.elGridBorders.add(y):n.add(y)}return s.config.yaxis[0].axisTicks.show&&this.axesUtils.drawYAxisTicks(b,h.length,s.config.yaxis[0].axisBorder,s.config.yaxis[0].axisTicks,0,e,n),n}},{key:"drawXaxisTicks",value:function(t,e,i){var a=this.w,s=t;if(!(t<0||t-2>a.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s<i;s++)a=this.xaxisLabels[s].position,e.push(a);else for(var r=i,o=0;o<r;o++){var n=r;t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(n-=1),a+=t.globals.gridWidth/n,e.push(a)}return e}},{key:"xAxisLabelCorrections",value:function(){var t=this.w,e=new m(this.ctx),i=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text tspan");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var o=0;o<a.length;o++){var n=e.rotateAroundCenter(a[o]);n.y=n.y-1,n.x=n.x+1,a[o].setAttribute("transform","rotate(".concat(t.config.xaxis.labels.rotate," ").concat(n.x," ").concat(n.y,")")),a[o].setAttribute("text-anchor","end");i.setAttribute("transform","translate(0, ".concat(-10,")"));var l=a[o].childNodes;t.config.xaxis.labels.trim&&Array.prototype.forEach.call(l,(function(i){e.placeTextWithEllipsis(i,i.textContent,t.globals.xAxisLabelsHeight-("bottom"===t.config.legend.position?20:10))}))}else!function(){for(var i=t.globals.gridWidth/(t.globals.labels.length+1),s=0;s<a.length;s++){var r=a[s].childNodes;t.config.xaxis.labels.trim&&"datetime"!==t.config.xaxis.type&&Array.prototype.forEach.call(r,(function(t){e.placeTextWithEllipsis(t,t.textContent,i)}))}}();if(s.length>0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d<r.length;d++)e.placeTextWithEllipsis(r[d],r[d].textContent,t.config.yaxis[0].labels.maxWidth-(t.config.yaxis[0].title.text?2*parseFloat(t.config.yaxis[0].title.style.fontSize):0)-15)}}}]),t}(),j=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.xaxisLabels=i.globals.labels.slice(),this.axesUtils=new C(e),this.isRangeBar=i.globals.seriesRange.length&&i.globals.isBarHorizontal,i.globals.timescaleLabels.length>0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMask.setAttribute("id","gridRectMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elGridRectMarkerMask.setAttribute("id","gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elForecastMask.setAttribute("id","forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,"clipPath"),e.dom.elNonForecastMask.setAttribute("id","nonForecastMask".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;("bar"===r||"rangeBar"===r||"candlestick"===r||"boxPlot"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2-2,e.gridWidth+a+n+o+4,e.gridHeight+a+4,0,"#fff");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector("defs");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d<e&&g<c.length;g++)d+=c[g].cols;d===e&&(h=.6*l.globals.xAxisLabelsHeight)}}new V(this.ctx).drawXaxisTicks(i,h,l.globals.dom.elGraphical)}}},{key:"_drawGridLine",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w,h=!1,c=n.node.classList.contains("apexcharts-gridlines-horizontal"),d=l.config.grid.strokeDashArray,g=l.globals.barPadForNumericAxis;(0===a&&0===r||0===i&&0===s)&&(h=!0),a===l.globals.gridHeight&&r===l.globals.gridHeight&&(h=!0),!l.globals.isBarHorizontal||0!==e&&e!==o-1||(h=!0);var u=new m(this).drawLine(i-(c?g:0),a,s+(c?g:0),r,l.config.grid.borderColor,d);u.node.classList.add("apexcharts-gridline"),h&&l.config.grid.show?this.elGridBorders.add(u):n.add(u)}},{key:"_drawGridBandRect",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.type,n=this.w,l=new m(this.ctx),h=n.globals.barPadForNumericAxis;if("column"!==o||"datetime"!==n.config.xaxis.type){var c=n.config.grid[o].colors[e],d=l.drawRect(i-("row"===o?h:0),a,s+("row"===o?2*h:0),r,0,c,n.config.grid[o].opacity);this.elg.add(d),d.attr("clip-path","url(#gridRectMask".concat(n.globals.cuid,")")),d.node.classList.add("apexcharts-grid-".concat(o))}}},{key:"_drawXYLines",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r,o=s.globals.padHorizontal,n=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,o=t.x2,n=t.y2,l=0;l<a;l++)s=e.xaxisLabels[l].position,o=e.xaxisLabels[l].position,e._drawGridLines({i:l,x1:s,y1:r,x2:o,y2:n,xCount:i,parent:e.elgridLinesV})}({xC:i,x1:o,y1:0,x2:r,y2:n}):(s.globals.isXNumeric&&(i=s.globals.xAxisScale.result.length),function(t){for(var a=t.xC,r=t.x1,o=t.y1,n=t.x2,l=t.y2,h=0;h<a+(s.globals.isXNumeric?0:1);h++)0===h&&1===a&&1===s.globals.dataPoints&&(n=r=s.globals.gridWidth/2),e._drawGridLines({i:h,x1:r,y1:o,x2:n,y2:l,xCount:i,parent:e.elgridLinesV}),n=r+=s.globals.gridWidth/(s.globals.isXNumeric?a-1:a)}({xC:i,x1:o,y1:0,x2:r,y2:n}))}if(s.config.grid.yaxis.lines.show){var l=0,h=0,c=s.globals.gridWidth,d=a+1;this.isRangeBar&&(d=s.globals.labels.length);for(var g=0;g<d+(this.isRangeBar?1:0);g++)this._drawGridLine({i:g,xCount:d+(this.isRangeBar?1:0),x1:0,y1:l,x2:c,y2:h,parent:this.elgridLinesH}),h=l+=s.globals.gridHeight/(this.isRangeBar?d:a)}}},{key:"_drawInvertedXYLines",value:function(t){var e=t.xCount,i=this.w;if(i.config.grid.xaxis.lines.show||i.config.xaxis.axisTicks.show)for(var a,s=i.globals.padHorizontal,r=i.globals.gridHeight,o=0;o<e+1;o++){i.config.grid.xaxis.lines.show&&this._drawGridLine({i:o,xCount:e+1,x1:s,y1:0,x2:a,y2:r,parent:this.elgridLinesV}),new V(this.ctx).drawXaxisTicks(s,0,i.globals.dom.elGraphical),a=s+=i.globals.gridWidth/e}if(i.config.grid.yaxis.lines.show)for(var n=0,l=0,h=i.globals.gridWidth,c=0;c<i.globals.dataPoints+1;c++)this._drawGridLine({i:c,xCount:i.globals.dataPoints+1,x1:0,y1:n,x2:h,y2:l,parent:this.elgridLinesH}),l=n+=i.globals.gridHeight/i.globals.dataPoints}},{key:"renderGrid",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx);this.elg=i.group({class:"apexcharts-grid"}),this.elgridLinesH=i.group({class:"apexcharts-gridlines-horizontal"}),this.elgridLinesV=i.group({class:"apexcharts-gridlines-vertical"}),this.elGridBorders=i.group({class:"apexcharts-grid-borders"}),this.elg.add(this.elgridLinesH),this.elg.add(this.elgridLinesV),t.config.grid.show||(this.elgridLinesV.hide(),this.elgridLinesH.hide(),this.elGridBorders.hide());for(var a=0;a<e.seriesYAxisMap.length&&-1!==e.ignoreYAxisIndexes.indexOf(a);)a++;a===e.seriesYAxisMap.length&&(a=0);var s,r=e.yAxisScale[a].result.length-1;if(!e.isBarHorizontal||this.isRangeBar){var o,n,l;if(s=this.xaxisLabels.length,this.isRangeBar)r=e.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(s=t.config.xaxis.tickAmount),(null===(o=e.yAxisScale)||void 0===o||null===(n=o[a])||void 0===n||null===(l=n.result)||void 0===l?void 0:l.length)>0&&"datetime"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:"drawGridBands",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o<e;o++,n++)n>=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:"row"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||"on"!==i.config.xaxis.tickPlacement||"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g<t;g++,u++)u>=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:"column"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"niceScale",value:function(t,e){var i,a,s,r,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[o],a=Math.max((h.svgHeight-100)/15,2)),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,g=d?i.tickAmount:i.forceNiceScale?h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)]:10;if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(g=h.multiAxisTickAmount,d=!0),g="dataPoints"===g?h.dataPoints-1:Math.abs(Math.round(g)),(t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=x.isNumber(i.min)?i.min:0,e=x.isNumber(i.max)?i.max:t+g,h.allSeriesCollapsed=!1),t>e){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var u=e;e=t,t=u}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];g<1&&(g=1);var f=g,b=Math.abs(e-t);if(i.forceNiceScale){!s&&t>0&&t/b<.15&&(t=0,s=!0),!r&&e<0&&-e/b<.15&&(e=0,r=!0),b=Math.abs(e-t)}var v=b/f,m=v,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(v=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&"datetime"!==i.type?(v=i.stepSize,c=!0):c&&(v=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(v));v*=Math.pow(10,y-A)}if(s&&r){var S=b/f;if(d)if(c)if(0!=x.mod(b,v)){var C=x.getGCD(v,S);v=S/C<10?C:S}else 0==x.mod(v,S)?v=S:(S=v,d=!1);else v=S;else if(c)0==x.mod(b,v)?S=v:v=S;else if(0==x.mod(b,v))S=v;else{S=b/(f=Math.ceil(b/v));var L=x.getGCD(b,v);b/L<a&&(S=L),v=S}f=Math.round(b/v)}else{if(s||r){if(r)if(d)t=e-v*f;else{var P=t;t=v*Math.floor(t/v),Math.abs(e-t)/x.getGCD(b,v)>a&&(t=e-v*g,t+=v*Math.floor((P-t)/v))}else if(s)if(d)e=t+v*f;else{var M=e;e=v*Math.ceil(e/v),Math.abs(e-t)/x.getGCD(b,v)>a&&(e=t+v*g,e+=v*Math.ceil((M-e)/v))}}else if(d){var I=v/(e-t>e?1:2),T=I*Math.floor(t/I);Math.abs(T-t)<=I/2?e=(t=T)+v*f:t=(e=I*Math.ceil(e/I))-v*f}else t=v*Math.floor(t/v),e=v*Math.ceil(e/v);b=Math.abs(e-t),v=x.getGCD(b,v),f=Math.round(b/v)}if(d||s||r||(f=Math.ceil((b-n)/(v+n)))>16&&x.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>b&&(f=b,v=Math.round(b/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=x.getPrimeFactors(f),X=z.length-1,E=f;t:for(var Y=0;Y<X;Y++)for(var F=0;F<=X-Y;F++){for(var R=Math.min(F+Y,X),H=E,D=1,O=F;O<=R;O++)D*=z[O];if((H/=D)<a){E=H;break t}}v=E===f?b:b/E,f=Math.round(b/v)}h.isMultipleYAxis&&0==h.multiAxisTickAmount&&h.ignoreYAxisIndexes.indexOf(o)<0&&(h.multiAxisTickAmount=f);var N=t-v,W=v*n;do{N+=v,p.push(x.stripNumber(N,7))}while(e-N>W);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t);"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),i===Number.MAX_VALUE&&(i=5,s=1);for(var o=[],n=t;i>=0;)o.push(n),n+=s,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r<s;r++)a.push(Math.pow(i,r));return{result:a,niceMin:a[0],niceMax:a[a.length-1]}}},{key:"logarithmicScale",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.log(e)/Math.log(i),r=Math.log(t)/Math.log(i),o=s-r,n=Math.round(o),l=o/n,h=0,c=r;h<n;h++,c+=l)a.push(Math.pow(i,c));return a.push(Math.pow(i,s)),{result:a,niceMin:t,niceMax:e}}},{key:"_adjustTicksForSmallRange",value:function(t,e,i){var a=t;if(void 0!==e&&this.w.config.yaxis[e].labels.formatter&&void 0===this.w.config.yaxis[e].tickAmount){var s=Number(this.w.config.yaxis[e].labels.formatter(1));x.isNumber(s)&&0===this.w.globals.yValueDecimal&&(a=Math.ceil(i))}return a<t?a:t}},{key:"setYScaleForIndex",value:function(t,e,i){var a=this.w.globals,s=this.w.config,r=a.isBarHorizontal?s.xaxis:s.yaxis[t];void 0===a.yAxisScale[t]&&(a.yAxisScale[t]=[]);var o=Math.abs(i-e);r.logarithmic&&o<=5&&(a.invalidLogScale=!0),r.logarithmic&&o>5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&x.isNumber(i)&&e!==Number.MAX_VALUE&&x.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals,s=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,i.config.xaxis.tickAmount?i.config.xaxis.tickAmount:s<10&&s>1?s+1:10,0,i.config.xaxis.stepSize):a.xAxisScale=this.linearScale(0,10,10),a.xAxisScale}},{key:"setSeriesYAxisMappings",value:function(){var t=this.w.globals,e=this.w.config;t.minYArr,t.maxYArr;var i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var o=[];e.yaxis.forEach((function(t,a){var n=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,o){if(e.name===t){var l=o;a===o||r?!r||s.indexOf(o)>-1?i[a].push([a,o]):console.warn("Series '"+e.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[o].push([o,a]),l=a),n=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}n||o.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var n=e.yaxis.length-1,l=0;l<o.length&&(n=o[l],i[n]=[],s);l++){var h=s[0];s.shift(),i[n].push(h),a[h]=n}s.forEach((function(t){i[n].push(t),a[t]=n})),t.seriesYAxisMap=i.map((function(t){return t})),t.seriesYAxisReverseMap=a.map((function(t){return t}))}},{key:"scaleMultipleYAxes",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,o){var n=[];a.forEach((function(t){var i=e.series[t].group;n.indexOf(i)<0&&n.push(i)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,g=c,u=d;if(e.chart.stacked)!function(){var t=i.seriesX[a[0]],s=[],r=[],p=[];n.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:"axis-".concat(o),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,n.forEach((function(t,a){if(e.series[c].group===t)for(var o=0;o<i.series[c].length;o++){var n=i.series[c][o];n>=0?r[a][o]+=n:p[a][o]+=n,s[a][o]+=n,g=Math.min(g,n),u=Math.max(u,n)}}))),"bar"!==l&&"column"!==l||i.barGroups.push(h)},x=0;x<a.length;x++)f(x);l||(l=e.chart.type),"bar"===l||"column"===l?n.forEach((function(t,e){c=Math.min(c,Math.min.apply(null,p[e])),d=Math.max(d,Math.max.apply(null,r[e]))})):(n.forEach((function(t,e){g=Math.min(g,Math.min.apply(null,s[e])),u=Math.max(u,Math.max.apply(null,s[e]))})),c=g,d=u),c===Number.MIN_VALUE&&d===Number.MIN_VALUE&&(d=-Number.MAX_VALUE)}();else for(var p=0;p<a.length;p++){var f=a[p];c=Math.min(c,s[f]),d=Math.max(d,r[f]),!(i.collapsedSeriesIndices.indexOf(f)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(f)<0)||(i.allSeriesCollapsed=!1)}void 0!==e.yaxis[o].min&&(c="function"==typeof e.yaxis[o].min?e.yaxis[o].min(c):e.yaxis[o].min),void 0!==e.yaxis[o].max&&(d="function"==typeof e.yaxis[o].max?e.yaxis[o].max(d):e.yaxis[o].max),i.barGroups=i.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.setYScaleForIndex(o,c,d),a.forEach((function(t){s[t]=i.yAxisScale[o].niceMin,r[t]=i.yAxisScale[o].niceMax}))}():t.setYScaleForIndex(o,0,-Number.MAX_VALUE)}))}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=0,h=0,c=void 0;if(r.seriesX.length>=a){var d,g;l=0,h=(c=u(new Set((d=[]).concat.apply(d,u(r.seriesX.slice(t,a)))))).length-1;var p=null===(g=r.brushSource)||void 0===g?void 0:g.w.config.chart.brush;if(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=p&&p.enabled&&null!=p&&p.autoScaleYaxis){if(s.xaxis.min)for(l=0;l<h&&c[l]<s.xaxis.min;l++);if(s.xaxis.max)for(;h>l&&c[h]>s.xaxis.max;h--);}}var f=r.series,b=f,v=f;"candlestick"===s.chart.type?(b=r.seriesCandleL,v=r.seriesCandleH):"boxPlot"===s.chart.type?(b=r.seriesCandleO,v=r.seriesCandleC):r.isRangeData&&(b=r.seriesRangeStart,v=r.seriesRangeEnd);for(var m=t;m<a;m++){r.dataPoints=Math.max(r.dataPoints,f[m].length);var y=s.series[m].type;r.categoryLabels.length&&(r.dataPoints=r.categoryLabels.filter((function(t){return void 0!==t})).length),r.labels.length&&"datetime"!==s.xaxis.type&&0!==r.series.reduce((function(t,e){return t+e.length}),0)&&(r.dataPoints=Math.max(r.dataPoints,r.labels.length)),c||(l=0,h=r.series[m].length);for(var w=l;w<=h&&w<r.series[m].length;w++){var k=f[m][w];if(null!==k&&x.isNumber(k)){switch(void 0!==v[m][w]&&(o=Math.max(o,v[m][w]),e=Math.min(e,v[m][w])),void 0!==b[m][w]&&(e=Math.min(e,b[m][w]),i=Math.max(i,b[m][w])),y){case"candlestick":void 0!==r.seriesCandleC[m][w]&&(o=Math.max(o,r.seriesCandleH[m][w]),e=Math.min(e,r.seriesCandleL[m][w]));break;case"boxPlot":void 0!==r.seriesCandleC[m][w]&&(o=Math.max(o,r.seriesCandleC[m][w]),e=Math.min(e,r.seriesCandleO[m][w]))}y&&"candlestick"!==y&&"boxPlot"!==y&&"rangeArea"!==y&&"rangeBar"!==y&&(o=Math.max(o,r.series[m][w]),e=Math.min(e,r.series[m][w])),i=o,r.seriesGoals[m]&&r.seriesGoals[m][w]&&Array.isArray(r.seriesGoals[m][w])&&r.seriesGoals[m][w].forEach((function(t){n!==Number.MIN_VALUE&&(n=Math.min(n,t.value),e=n),o=Math.max(o,t.value),i=o})),x.isFloat(k)&&(k=x.noExponents(k),r.yValueDecimal=Math.max(r.yValueDecimal,k.toString().split(".")[1].length)),n>b[m][w]&&b[m][w]<0&&(n=b[m][w])}else r.hasNullValues=!0}"bar"!==y&&"column"!==y||(n<0&&o<0&&(o=0,i=Math.max(i,0)),n===Number.MIN_VALUE&&(n=0,e=Math.min(e,0)))}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),"bar"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;s<t.series.length;s++)i=this.getMinYMaxY(s),t.minYArr[s]=i.lowestY,t.maxYArr[s]=i.highestY,a=Math.min(a,i.lowestY)}if(i=this.getMinYMaxY(0,a,null,t.series.length),"bar"===e.chart.type?(t.minY=i.minY,t.maxY=i.maxY):(t.minY=i.lowestY,t.maxY=i.highestY),a=i.lowestY,e.chart.stacked&&this._setStackedMinMax(),"line"===e.chart.type||"area"===e.chart.type||"scatter"===e.chart.type||"candlestick"===e.chart.type||"boxPlot"===e.chart.type||"rangeBar"===e.chart.type&&!t.isBarHorizontal?t.minY===Number.MIN_VALUE&&a!==-Number.MAX_VALUE&&a!==t.maxY&&(t.minY=a):t.minY=i.minY,e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.scaleMultipleYAxes(),t.minY=a):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.minY,t.maxYArr[0]=t.maxY),t.barGroups=[],t.lineGroups=[],t.areaGroups=[],e.series.forEach((function(i){switch(i.type||e.chart.type){case"bar":case"column":t.barGroups.push(i.group);break;case"line":t.lineGroups.push(i.group);break;case"area":t.areaGroups.push(i.group)}})),t.barGroups=t.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.lineGroups=t.lineGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.areaGroups=t.areaGroups.filter((function(t,e,i){return i.indexOf(t)===e})),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;e<t.series.length;e++)if(t.labels[e])for(var i=0;i<t.labels[e].length;i++)null!==t.labels[e][i]&&x.isNumber(t.labels[e][i])&&(t.maxX=Math.max(t.maxX,t.labels[e][i]),t.initialMaxX=Math.max(t.maxX,t.labels[e][i]),t.minX=Math.min(t.minX,t.labels[e][i]),t.initialMinX=Math.min(t.minX,t.labels[e][i]))}(),t.noLabelsProvided&&0===e.xaxis.categories.length&&(t.maxX=t.labels[t.labels.length-1],t.initialMaxX=t.labels[t.labels.length-1],t.minX=1,t.initialMinX=1),t.isXNumeric||t.noLabelsProvided||t.dataFormatXNumeric){var a;if(void 0===e.xaxis.tickAmount?(a=Math.round(t.svgWidth/150),"numeric"===e.xaxis.type&&t.dataPoints<30&&(a=t.dataPoints-1),a>t.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):"dataPoints"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r<t.maxX;r++)s.push(r+1);t.xAxisScale={result:s,niceMin:s[0],niceMax:s[s.length-1]}}else t.xAxisScale=this.scales.setXScale(t.minX,t.maxX);else t.xAxisScale=this.scales.linearScale(0,a,a,0,e.xaxis.stepSize),t.noLabelsProvided&&t.labels.length>0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var i=0;i<t.seriesZ[e].length;i++)null!==t.seriesZ[e][i]&&x.isNumber(t.seriesZ[e][i])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][i]),t.minZ=Math.min(t.minZ,t.seriesZ[e][i]))}},{key:"_handleSingleDataPoint",value:function(){var t=this.w.globals,e=this.w.config;if(t.minX===t.maxX){var i=new A(this.ctx);if("datetime"===e.xaxis.type){var a=i.getDate(t.minX);e.xaxis.labels.datetimeUTC?a.setUTCDate(a.getUTCDate()-2):a.setDate(a.getDate()-2),t.minX=new Date(a).getTime();var s=i.getDate(t.maxX);e.xaxis.labels.datetimeUTC?s.setUTCDate(s.getUTCDate()+2):s.setDate(s.getDate()+2),t.maxX=new Date(s).getTime()}else("numeric"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided)&&(t.minX=t.minX-2,t.initialMinX=t.minX,t.maxX=t.maxX+2,t.initialMaxX=t.maxX)}}},{key:"_getMinXDiff",value:function(){var t=this.w.globals;t.isXNumeric&&t.seriesX.forEach((function(e,i){1===e.length&&e.push(t.seriesX[t.maxValsInArrayIndex][t.seriesX[t.maxValsInArrayIndex].length-1]);var a=e.slice();a.sort((function(t,e){return t-e})),a.forEach((function(e,i){if(i>0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var o=0;o<e.series[e.maxValsInArrayIndex].length;o++){var n,l,h,c;void 0===a[i][o]&&(a[i][o]=0,s[i][o]=0),(t.w.config.chart.stacked&&!e.comboCharts||t.w.config.chart.stacked&&e.comboCharts&&(!t.w.config.chart.stackOnlyBar||"bar"===(null===(n=t.w.config.series)||void 0===n||null===(l=n[r])||void 0===l?void 0:l.type)||"column"===(null===(h=t.w.config.series)||void 0===h||null===(c=h[r])||void 0===c?void 0:c.type)))&&null!==e.series[r][o]&&x.isNumber(e.series[r][o])&&(e.series[r][o]>0?a[i][o]+=parseFloat(e.series[r][o])+1e-4:s[i][o]+=parseFloat(e.series[r][o]))}}))})),Object.entries(a).forEach((function(t){var i=g(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),q=function(){function t(e,i){a(this,t),this.ctx=e,this.elgrid=i,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX=0,"bottom"===s.config.xaxis.position&&(this.xAxisoffX=s.globals.gridHeight),this.drawnLabels=[],this.axesUtils=new C(e)}return r(t,[{key:"drawYaxis",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.yaxis[t].labels.style,r=s.fontSize,o=s.fontFamily,n=s.fontWeight,l=a.group({class:"apexcharts-yaxis",rel:t,transform:"translate("+i.globals.translateYAxisX[t]+", 0)"});if(this.axesUtils.isYAxisHidden(t))return l;var h=a.group({class:"apexcharts-yaxis-texts-g"});l.add(h);var c=i.globals.yAxisScale[t].result.length-1,d=i.globals.gridHeight/c,g=i.globals.yLabelFormatters[t],u=i.globals.yAxisScale[t].result.slice();u=this.axesUtils.checkForReversedLabels(t,u);var p="";if(i.config.yaxis[t].labels.show){var f=i.globals.translateY+i.config.yaxis[t].labels.offsetY;i.globals.isBarHorizontal?f=0:"heatmap"===i.config.chart.type&&(f-=d/2),f+=parseInt(i.config.yaxis[t].labels.style.fontSize,10)/3;for(var x=function(l){var x=u[l];x=g(x,l,i);var b=i.config.yaxis[t].labels.padding;i.config.yaxis[t].opposite&&0!==i.config.yaxis.length&&(b*=-1);var v="end";i.config.yaxis[t].opposite&&(v="start"),"left"===i.config.yaxis[t].labels.align?v="start":"center"===i.config.yaxis[t].labels.align?v="middle":"right"===i.config.yaxis[t].labels.align&&(v="end");var m=e.axesUtils.getYAxisForeColor(s.colors,t),y=a.drawText({x:b,y:f,text:x,textAnchor:v,fontSize:r,fontFamily:o,fontWeight:n,maxWidth:i.config.yaxis[t].labels.maxWidth,foreColor:Array.isArray(m)?m[l]:m,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+s.cssClass});l===c&&(p=y),h.add(y);var w=document.createElementNS(i.globals.SVGNS,"title");if(w.textContent=Array.isArray(x)?x.join(" "):x,y.node.appendChild(w),0!==i.config.yaxis[t].labels.rotate){var k=a.rotateAroundCenter(p.node),A=a.rotateAroundCenter(y.node);y.node.setAttribute("transform","rotate(".concat(i.config.yaxis[t].labels.rotate," ").concat(k.x," ").concat(A.y,")"))}f+=d},b=c;b>=0;b--)x(b)}if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:"apexcharts-yaxis-title"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:"end",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g<d:g>=0;d?g++:g--){var u=h[g];u=l(u,g,e);var p=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var f=this.axesUtils.getLabel(h,c,p,g,this.drawnLabels,this.xaxisFontSize);p=f.x,u=f.text,this.drawnLabels.push(f.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=""),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var x=i.drawText({x:p,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label "+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,"title");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(" .apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute("x",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"));r=x.listToArray(r);var o=s.getBoundingClientRect();"left"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","start")})),a.opposite||s.setAttribute("transform","translate(-".concat(o.width,", 0)"))):"center"===a.labels.align?(r.forEach((function(t,e){t.setAttribute("text-anchor","middle")})),s.setAttribute("transform","translate(".concat(o.width/2*(a.opposite?1:-1),", 0)"))):"right"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute("text-anchor","end")})),a.opposite&&s.setAttribute("transform","translate(".concat(o.width,", 0)")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r<s;r++)a[r].apply(null,e)}}},{key:"setupEventHandlers",value:function(){var t=this,e=this.w,i=this.ctx,a=e.globals.dom.baseEl.querySelector(e.globals.chartClass);this.ctx.eventList.forEach((function(t){a.addEventListener(t,(function(t){var a=Object.assign({},e,{seriesIndex:e.globals.axisCharts?e.globals.capturedSeriesIndex:0,dataPointIndex:e.globals.capturedDataPointIndex});"mousemove"===t.type||"touchmove"===t.type?"function"==typeof e.config.chart.events.mouseMove&&e.config.chart.events.mouseMove(t,i,a):"mouseleave"===t.type||"touchleave"===t.type?"function"==typeof e.config.chart.events.mouseLeave&&e.config.chart.events.mouseLeave(t,i,a):("mouseup"===t.type&&1===t.which||"touchend"===t.type)&&("function"==typeof e.config.chart.events.click&&e.config.chart.events.click(t,i,a),i.ctx.events.fireEvent("click",[t,i,a]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(i){e.globals.dom.baseEl.addEventListener(i,t.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(t){var e=this.w,i=t.target.className;if("click"===t.type){var a=e.globals.dom.baseEl.querySelector(".apexcharts-menu");a&&a.classList.contains("apexcharts-menu-open")&&"apexcharts-menu-icon"!==i&&a.classList.remove("apexcharts-menu-open")}e.globals.clientX="touchmove"===t.type?t.touches[0].clientX:t.clientX,e.globals.clientY="touchmove"===t.type?t.touches[0].clientY:t.clientY}}]),t}(),$=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"setCurrentLocaleValues",value:function(t){var e=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&window.Apex.chart.locales.length>0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=x.extend(M,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,o=this.w.config,n=new V(this.ctx,e),l=new q(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=n.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=n.drawXaxis(),r.dom.elGraphical.add(i),o.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,p=s.blur,f=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(y=e.drawGradient("vertical",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:p,color:f,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Y({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=x.clone(i.globals.initialConfig);n.series=x.clone(i.config.series);var l=y.extendArrayProps(r,n,i);t=x.extend(l,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h<s.length;h++)if(o<s[h].breakpoint){var c=y.extendArrayProps(r,s[h].options,i);t=x.extend(c,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}};if(t){var n=y.extendArrayProps(r,t,i);n=x.extend(i.config,n),o(n=x.extend(n,t))}else o({})}}},{key:"overrideResponsiveOptions",value:function(t){var e=new Y(t).init({responsiveOverride:!0});this.w.config=e}}]),t}(),tt=function(){function t(e){a(this,t),this.ctx=e,this.colors=[],this.w=e.w;var i=this.w;this.isColorFn=!1,this.isHeatmapDistributed="treemap"===i.config.chart.type&&i.config.plotOptions.treemap.distributed||"heatmap"===i.config.chart.type&&i.config.plotOptions.heatmap.distributed,this.isBarDistributed=i.config.plotOptions.bar.distributed&&("bar"===i.config.chart.type||"rangeBar"===i.config.chart.type)}return r(t,[{key:"init",value:function(){this.setDefaultColors()}},{key:"setDefaultColors",value:function(){var t,e=this,i=this.w,a=new x;if(i.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(i.config.theme.mode)),void 0===i.config.colors||0===(null===(t=i.config.colors)||void 0===t?void 0:t.length)?i.globals.colors=this.predefined():(i.globals.colors=i.config.colors,Array.isArray(i.config.colors)&&i.config.colors.length>0&&"function"==typeof i.config.colors[0]&&(i.globals.colors=i.config.series.map((function(t,a){var s=i.config.colors[a];return s||(s=i.config.colors[0]),"function"==typeof s?(e.isColorFn=!0,s({value:i.globals.axisCharts?i.globals.series[a][0]?i.globals.series[a][0]:0:i.globals.series[a],seriesIndex:a,dataPointIndex:a,w:i})):s})))),i.globals.seriesColors.map((function(t,e){t&&(i.globals.colors[e]=t)})),i.config.theme.monochrome.enabled){var s=[],r=i.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(r=i.globals.series[0].length*i.globals.series.length);for(var o=i.config.theme.monochrome.color,n=1/(r/i.config.theme.monochrome.shadeIntensity),l=i.config.theme.monochrome.shadeTo,h=0,c=0;c<r;c++){var d=void 0;"dark"===l?(d=a.shadeColor(-1*h,o),h+=n):(d=a.shadeColor(h,o),h+=n),s.push(d)}i.globals.colors=s.slice()}var g=i.globals.colors.slice();this.pushExtraColors(i.globals.colors);["fill","stroke"].forEach((function(t){void 0===i.config[t].colors?i.globals[t].colors=e.isColorFn?i.config.colors:g:i.globals[t].colors=i.config[t].colors.slice(),e.pushExtraColors(i.globals[t].colors)})),void 0===i.config.dataLabels.style.colors?i.globals.dataLabels.style.colors=g:i.globals.dataLabels.style.colors=i.config.dataLabels.style.colors.slice(),this.pushExtraColors(i.globals.dataLabels.style.colors,50),void 0===i.config.plotOptions.radar.polygons.fill.colors?i.globals.radarPolygons.fill.colors=["dark"===i.config.theme.mode?"#424242":"none"]:i.globals.radarPolygons.fill.colors=i.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(i.globals.radarPolygons.fill.colors,20),void 0===i.config.markers.colors?i.globals.markers.colors=g:i.globals.markers.colors=i.config.markers.colors.slice(),this.pushExtraColors(i.globals.markers.colors)}},{key:"pushExtraColors",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.length<s)for(var r=s-t.length,o=0;o<r;o++)t.push(t[o])}},{key:"updateThemeOptions",value:function(t){t.chart=t.chart||{},t.tooltip=t.tooltip||{};var e=t.theme.mode||"light",i=t.theme.palette?t.theme.palette:"dark"===e?"palette4":"palette1",a=t.chart.foreColor?t.chart.foreColor:"dark"===e?"#f6f7f8":"#373d3f";return t.tooltip.theme=e,t.chart.foreColor=a,t.theme.palette=i,t}},{key:"predefined",value:function(){switch(this.w.config.theme.palette){case"palette1":default:this.colors=["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"];break;case"palette2":this.colors=["#3f51b5","#03a9f4","#4caf50","#f9ce1d","#FF9800"];break;case"palette3":this.colors=["#33b2df","#546E7A","#d4526e","#13d8aa","#A5978B"];break;case"palette4":this.colors=["#4ecdc4","#c7f464","#81D4FA","#fd6a6a","#546E7A"];break;case"palette5":this.colors=["#2b908f","#f9a3a4","#90ee7e","#fa4443","#69d2e7"];break;case"palette6":this.colors=["#449DD1","#F86624","#EA3546","#662E9B","#C5D86D"];break;case"palette7":this.colors=["#D7263D","#1B998B","#2E294E","#F46036","#E2C044"];break;case"palette8":this.colors=["#662E9B","#F86624","#F9C80E","#EA3546","#43BCCD"];break;case"palette9":this.colors=["#5C4742","#A5978B","#8D5B4C","#5A2A27","#C4BBAF"];break;case"palette10":this.colors=["#A300D6","#7D02EB","#5653FE","#2983FF","#00B1F2"]}return this.colors}}]),t}(),et=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"draw",value:function(){this.drawTitleSubtitle("title"),this.drawTitleSubtitle("subtitle")}},{key:"drawTitleSubtitle",value:function(t){var e=this.w,i="title"===t?e.config.title:e.config.subtitle,a=e.globals.svgWidth/2,s=i.offsetY,r="middle";if("left"===i.align?(a=10,r="start"):"right"===i.align&&(a=e.globals.svgWidth-10,r="end"),a+=i.offsetX,s=s+parseInt(i.style.fontSize,10)+i.margin/2,void 0!==i.text){var o=new m(this.ctx).drawText({x:a,y:s,text:i.text,textAnchor:r,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,foreColor:i.style.color,opacity:1});o.node.setAttribute("class","apexcharts-".concat(t,"-text")),e.globals.dom.Paper.add(o)}}}]),t}(),it=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getTitleSubtitleCoords",value:function(t){var e=this.w,i=0,a=0,s="title"===t?e.config.title.floating:e.config.subtitle.floating,r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(t,"-text"));if(null!==r&&!s){var o=r.getBoundingClientRect();i=o.width,a=e.globals.axisCharts?o.height+5:o.height}return{width:i,height:a}}},{key:"getLegendsRect",value:function(){var t=this.w,e=t.globals.dom.elLegendWrap;t.config.legend.height||"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||(e.style.maxHeight=t.globals.svgHeight/2+"px");var i=Object.assign({},x.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.dCtx.lgRect={x:i.x,y:i.y,height:i.height,width:0===i.height?0:i.width}:this.dCtx.lgRect={x:0,y:0,height:0,width:0},"left"!==t.config.legend.position&&"right"!==t.config.legend.position||1.5*this.dCtx.lgRect.width>t.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,o){var n;n=e.globals.series[r][o],a=e.config.dataLabels.formatter(n,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:o,w:e}),i.push(a)}))}));var a=x.getLargestStringFromArr(i),s=new m(this.dCtx.ctx),r=e.config.dataLabels.style,o=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*o.width,height:o.height}}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new S(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new A(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new A(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(o=r="1");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.right<o&&!a.rotateXLabels&&(a.skipLastTimelinelabel=!0):"datetime"!==r&&e.dCtx.gridPad.right<o/2-e.dCtx.yAxisWidthRight&&!a.rotateXLabels&&!i.config.xaxis.labels.trim&&("between"!==i.config.xaxis.tickPlacement||i.globals.isBarHorizontal)&&(e.dCtx.xPadRight=o/2+1)}(t)};s.yaxis.forEach((function(t,i){n?(e.dCtx.gridPad.left<o&&(e.dCtx.xPadLeft=o/2+1),e.dCtx.xPadRight=o/2+1):l(t,i)}))}}]),t}(),st=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"getyAxisLabelsCoords",value:function(){var t=this,e=this.w,i=[],a=10,s=new C(this.dCtx.ctx);return e.config.yaxis.map((function(r,o){var n={seriesIndex:o,dataPointIndex:-1,w:e},l=e.globals.yAxisScale[o],h=0;if(!s.isYAxisHidden(o)&&r.labels.show&&void 0!==r.labels.minWidth&&(h=r.labels.minWidth),!s.isYAxisHidden(o)&&r.labels.show&&l.result.length){var c=e.globals.yLabelFormatters[o],d=l.niceMin===Number.MIN_VALUE?0:l.niceMin,g=l.result.reduce((function(t,e){var i,a;return(null===(i=String(c(t,n)))||void 0===i?void 0:i.length)>(null===(a=String(c(e,n)))||void 0===a?void 0:a.length)?t:e}),d),u=g=c(g,n);if(void 0!==g&&0!==g.length||(g=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();g=x.getLargestStringFromArr(p),g=c(g,{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,p)}var f=new m(t.dCtx.ctx),b="rotate(".concat(r.labels.rotate," 0 0)"),v=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(h>y.width||h>v.width?h:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new C(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return"bar"===t||"rangeBar"===t||"candlestick"===t||"boxPlot"===t},r=i.chart.type,o=0,n=s(r)?i.series.length:1;if(a.comboBarCount>0&&(n=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(n-=1)})),i.chart.stacked&&(n=1),(s(r)||a.comboBarCount>0)&&a.isXNumeric&&!a.isBarHorizontal&&n>0){var l,h,c=Math.abs(a.initialMaxX-a.initialMinX);c<=3&&(c=a.dataPoints),l=c/t,a.minXDiff&&a.minXDiff/l>0&&(h=a.minXDiff/l),h>t/2&&(h/=2),(o=h*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(o=1),a.barPadForNumericAxis=o}return o}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;["title","subtitle"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new C(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,u(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=Math.min(e.svgWidth,e.gridHeight),e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error("Legend position not supported")}}},{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeight<a.config.xaxis.labels.minHeight&&(this.xAxisHeight=a.config.xaxis.labels.minHeight),a.config.xaxis.floating&&(this.xAxisHeight=0);var h=0,c=0;a.config.yaxis.forEach((function(t){h+=t.labels.minWidth,c+=t.labels.maxWidth})),this.yAxisWidth<h&&(this.yAxisWidth=h),this.yAxisWidth>c&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:"getLegendStyles",value:function(){var t,e,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode("\n .apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n }\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n flex-wrap: wrap\n }\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n flex-direction: column;\n bottom: 0;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n justify-content: flex-start;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n justify-content: center;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n justify-content: flex-end;\n }\n .apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n }\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\n display: flex;\n align-items: center;\n }\n .apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n }\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n }\n .apexcharts-legend-marker {\n position: relative;\n display: inline-block;\n cursor: pointer;\n margin-right: 3px;\n border-style: solid;\n }\n\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\n display: inline-block;\n }\n .apexcharts-legend-series.apexcharts-no-click {\n cursor: auto;\n }\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n }\n .apexcharts-inactive-legend {\n opacity: 0.45;\n }");return a.appendChild(r),a}},{key:"getLegendBBox",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(" .apexcharts-series[rel='".concat(t+1,"'] path")),n=a.config.chart.type;if("pie"===n||"polarArea"===n||"donut"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire("click")}}},{key:"hideSeries",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=a.globals,r=x.clone(a.config.series);if(s.axisCharts){var o=a.config.yaxis[s.seriesYAxisReverseMap[i]];if(o&&o.show&&o.showAlways)s.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(s.ancillaryCollapsedSeries.push({index:i,data:r[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),s.ancillaryCollapsedSeriesIndices.push(i));else if(s.collapsedSeriesIndices.indexOf(i)<0){s.collapsedSeries.push({index:i,data:r[i].data.slice(),type:e.parentNode.className.baseVal.split("-")[1]}),s.collapsedSeriesIndices.push(i);var n=s.risingSeries.indexOf(i);s.risingSeries.splice(n,1)}}else s.collapsedSeries.push({index:i,data:r[i]}),s.collapsedSeriesIndices.push(i);for(var l=e.childNodes,h=0;h<l.length;h++)l[h].classList.contains("apexcharts-series-markers-wrap")&&(l[h].classList.contains("apexcharts-hide")?l[h].classList.remove("apexcharts-hide"):l[h].classList.add("apexcharts-hide"));s.allSeriesCollapsed=s.collapsedSeries.length+s.ancillaryCollapsedSeries.length===a.config.series.length,r=this._getSeriesBasedOnCollapsedState(r),this.lgCtx.ctx.updateHelpers._updateSeries(r,a.config.chart.animations.dynamicAnimation.enabled)}},{key:"riseCollapsedSeries",value:function(t,e,i){var a=this.w,s=x.clone(a.config.series);if(t.length>0){for(var r=0;r<t.length;r++)t[r].index===i&&(a.globals.axisCharts?(s[i].data=t[r].data.slice(),t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i)):(s[i]=t[r].data,t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i)));s=this._getSeriesBasedOnCollapsedState(s),this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}}},{key:"_getSeriesBasedOnCollapsedState",value:function(t){var e=this.w,i=0;return e.globals.axisCharts?t.forEach((function(a,s){e.globals.collapsedSeriesIndices.indexOf(s)<0&&e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)<0||(t[s].data=[],i++)})):t.forEach((function(a,s){!e.globals.collapsedSeriesIndices.indexOf(s)<0&&(t[s]=0,i++)})),e.globals.allSeriesCollapsed=i===t.length,t}}]),t}(),lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName("head")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"drawLegends",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if("heatmap"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+" - "+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h,c=o(a[l],{seriesIndex:l,w:e}),d=!1,g=!1;if(e.globals.collapsedSeries.length>0)for(var u=0;u<e.globals.collapsedSeries.length;u++)e.globals.collapsedSeries[u].index===l&&(d=!0);if(e.globals.ancillaryCollapsedSeriesIndices.length>0)for(var p=0;p<e.globals.ancillaryCollapsedSeriesIndices.length;p++)e.globals.ancillaryCollapsedSeriesIndices[p]===l&&(g=!0);var f=document.createElement("span");f.classList.add("apexcharts-legend-marker");var b=e.config.legend.markers.offsetX,v=e.config.legend.markers.offsetY,w=e.config.legend.markers.height,k=e.config.legend.markers.width,A=e.config.legend.markers.strokeWidth,S=e.config.legend.markers.strokeColor,C=e.config.legend.markers.radius,L=f.style;L.background=s[l],L.color=s[l],L.setProperty("background",s[l],"important"),e.config.legend.markers.fillColors&&e.config.legend.markers.fillColors[l]&&(L.background=e.config.legend.markers.fillColors[l]),void 0!==e.globals.seriesColors[l]&&(L.background=e.globals.seriesColors[l],L.color=e.globals.seriesColors[l]),L.height=Array.isArray(w)?parseFloat(w[l])+"px":parseFloat(w)+"px",L.width=Array.isArray(k)?parseFloat(k[l])+"px":parseFloat(k)+"px",L.left=(Array.isArray(b)?parseFloat(b[l]):parseFloat(b))+"px",L.top=(Array.isArray(v)?parseFloat(v[l]):parseFloat(v))+"px",L.borderWidth=Array.isArray(A)?A[l]:A,L.borderColor=Array.isArray(S)?S[l]:S,L.borderRadius=Array.isArray(C)?parseFloat(C[l])+"px":parseFloat(C)+"px",e.config.legend.markers.customHTML&&(Array.isArray(e.config.legend.markers.customHTML)?e.config.legend.markers.customHTML[l]&&(f.innerHTML=e.config.legend.markers.customHTML[l]()):f.innerHTML=e.config.legend.markers.customHTML()),m.setAttrs(f,{rel:l+1,"data:collapsed":d||g}),(d||g)&&f.classList.add("apexcharts-inactive-legend");var P=document.createElement("div"),M=document.createElement("span");M.classList.add("apexcharts-legend-text"),M.innerHTML=Array.isArray(c)?c.join(" "):c;var I=e.config.legend.labels.useSeriesColors?e.globals.colors[l]:Array.isArray(e.config.legend.labels.colors)?null===(h=e.config.legend.labels.colors)||void 0===h?void 0:h[l]:e.config.legend.labels.colors;I||(I=e.config.chart.foreColor),M.style.color=I,M.style.fontSize=parseFloat(e.config.legend.fontSize)+"px",M.style.fontWeight=e.config.legend.fontWeight,M.style.fontFamily=i||e.config.chart.fontFamily,m.setAttrs(M,{rel:l+1,i:l,"data:default-text":encodeURIComponent(c),"data:collapsed":d||g}),P.appendChild(f),P.appendChild(M);var T=new y(this.ctx);if(!e.config.legend.showForZeroSeries)0===T.getSeriesTotalByIndex(l)&&T.seriesHaveSameValues(l)&&!T.isSeriesNull(l)&&-1===e.globals.collapsedSeriesIndices.indexOf(l)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(l)&&P.classList.add("apexcharts-hidden-zero-series");e.config.legend.showForNullSeries||T.isSeriesNull(l)&&-1===e.globals.collapsedSeriesIndices.indexOf(l)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(l)&&P.classList.add("apexcharts-hidden-null-series"),e.globals.dom.elLegendWrap.appendChild(P),e.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(e.config.legend.horizontalAlign)),e.globals.dom.elLegendWrap.classList.add("apx-legend-position-"+e.config.legend.position),P.classList.add("apexcharts-legend-series"),P.style.margin="".concat(e.config.legend.itemMargin.vertical,"px ").concat(e.config.legend.itemMargin.horizontal,"px"),e.globals.dom.elLegendWrap.style.width=e.config.legend.width?e.config.legend.width+"px":"",e.globals.dom.elLegendWrap.style.height=e.config.legend.height?e.config.legend.height+"px":"",m.setAttrs(P,{rel:l+1,seriesName:x.escapeString(a[l]),"data:collapsed":d||g}),(d||g)&&P.classList.add("apexcharts-inactive-legend"),e.config.legend.onItemClick.toggleDataSeries||P.classList.add("apexcharts-no-click")}e.globals.dom.elWrap.addEventListener("click",t.onLegendClick,!0),e.config.legend.onItemHover.highlightDataSeries&&0===e.config.legend.customLegendItems.length&&(e.globals.dom.elWrap.addEventListener("mousemove",t.onLegendHovered,!0),e.globals.dom.elWrap.addEventListener("mouseout",t.onLegendHovered,!0))}},{key:"setLegendWrapXY",value:function(t,e){var i=this.w,a=i.globals.dom.elLegendWrap,s=a.getBoundingClientRect(),r=0,o=0;if("bottom"===i.config.legend.position)o+=i.globals.svgHeight-s.height/2;else if("top"===i.config.legend.position){var n=new ot(this.ctx),l=n.dimHelpers.getTitleSubtitleCoords("title").height,h=n.dimHelpers.getTitleSubtitleCoords("subtitle").height;o=o+(l>0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=o+"px","bottom"===i.config.legend.position?(a.style.top="auto",a.style.bottom=5-i.config.legend.offsetY+"px"):"right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords("title"),s=i.dimHelpers.getTitleSubtitleCoords("subtitle"),r=0;"bottom"===t.config.legend.position?r=-e.clwh/1.8:"top"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new W(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new W(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s<this.t.customIcons.length;s++)this.elCustomIcons.push(i());var r=[],o=function(i,a,s){var o=i.toLowerCase();t.t[o]&&e.config.chart.zoom.enabled&&r.push({el:a,icon:"string"==typeof t.t[o]?t.t[o]:s,title:t.localeValues[i],class:"apexcharts-".concat(o,"-icon")})};o("zoomIn",this.elZoomIn,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'),o("zoomOut",this.elZoomOut,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n <path d="M0 0h24v24H0V0z" fill="none"/>\n <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>':'<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};n("zoom"),n("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <defs>\n <path d="M0 0h24v24H0z" id="a"/>\n </defs>\n <clipPath id="b">\n <use overflow="visible" xlink:href="#a"/>\n </clipPath>\n <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),o("reset",this.elZoomReset,'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n <path d="M0 0h24v24H0z" fill="none"/>\n</svg>'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l<this.elCustomIcons.length;l++)r.push({el:this.elCustomIcons[l],icon:this.t.customIcons[l].icon,title:this.t.customIcons[l].title,index:this.t.customIcons[l].index,class:"apexcharts-toolbar-custom-icon "+this.t.customIcons[l].class});r.forEach((function(t,e){t.index&&x.moveIndexInArray(r,e,t.index)}));for(var h=0;h<r.length;h++)m.setAttrs(r[h].el,{class:r[h].class,title:r[h].title}),r[h].el.innerHTML=r[h].icon,a.appendChild(r[h].el);this._createHamburgerMenu(a),e.globals.zoomEnabled?this.elZoom.classList.add(this.selectedClass):e.globals.panEnabled?this.elPan.classList.add(this.selectedClass):e.globals.selectionEnabled&&this.elSelection.classList.add(this.selectedClass),this.addToolbarEventListeners()}},{key:"_createHamburgerMenu",value:function(t){this.elMenuItems=[],t.appendChild(this.elMenu),m.setAttrs(this.elMenu,{class:"apexcharts-menu"});for(var e=[{name:"exportSVG",title:this.localeValues.exportToSVG},{name:"exportPNG",title:this.localeValues.exportToPNG},{name:"exportCSV",title:this.localeValues.exportToCSV}],i=0;i<e.length;i++)this.elMenuItems.push(document.createElement("div")),this.elMenuItems[i].innerHTML=e[i].title,m.setAttrs(this.elMenuItems[i],{class:"apexcharts-menu-item ".concat(e[i].name),title:e[i].title}),this.elMenu.appendChild(this.elMenuItems[i])}},{key:"addToolbarEventListeners",value:function(){var t=this;this.elZoomReset.addEventListener("click",this.handleZoomReset.bind(this)),this.elSelection.addEventListener("click",this.toggleZoomSelection.bind(this,"selection")),this.elZoom.addEventListener("click",this.toggleZoomSelection.bind(this,"zoom")),this.elZoomIn.addEventListener("click",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener("click",this.handleZoomOut.bind(this)),this.elPan.addEventListener("click",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener("click",this.toggleMenu.bind(this)),this.elMenuItems.forEach((function(e){e.classList.contains("exportSVG")?e.addEventListener("click",t.handleDownload.bind(t,"svg")):e.classList.contains("exportPNG")?e.addEventListener("click",t.handleDownload.bind(t,"png")):e.classList.contains("exportCSV")&&e.addEventListener("click",t.handleDownload.bind(t,"csv"))}));for(var e=0;e<this.t.customIcons.length;e++)this.elCustomIcons[e].addEventListener("click",this.t.customIcons[e].click.bind(this,this.ctx,this.ctx.w))}},{key:"toggleZoomSelection",value:function(t){this.ctx.getSyncedCharts().forEach((function(e){e.ctx.toolbar.toggleOtherControls();var i="selection"===t?e.ctx.toolbar.elSelection:e.ctx.toolbar.elZoom,a="selection"===t?"selectionEnabled":"zoomEnabled";e.w.globals[a]=!e.w.globals[a],i.classList.contains(e.ctx.toolbar.selectedClass)?i.classList.remove(e.ctx.toolbar.selectedClass):i.classList.add(e.ctx.toolbar.selectedClass)}))}},{key:"getToolbarIconsReference",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"))}},{key:"enableZoomPanFromToolbar",value:function(t){this.toggleOtherControls(),"pan"===t?this.w.globals.panEnabled=!0:this.w.globals.zoomEnabled=!0;var e="pan"===t?this.elPan:this.elZoom,i="pan"===t?this.elZoom:this.elPan;e&&e.classList.add(this.selectedClass),i&&i.classList.remove(this.selectedClass)}},{key:"togglePanning",value:function(){this.ctx.getSyncedCharts().forEach((function(t){t.ctx.toolbar.toggleOtherControls(),t.w.globals.panEnabled=!t.w.globals.panEnabled,t.ctx.toolbar.elPan.classList.contains(t.ctx.toolbar.selectedClass)?t.ctx.toolbar.elPan.classList.remove(t.ctx.toolbar.selectedClass):t.ctx.toolbar.elPan.classList.add(t.ctx.toolbar.selectedClass)}))}},{key:"toggleOtherControls",value:function(){var t=this,e=this.w;e.globals.panEnabled=!1,e.globals.zoomEnabled=!1,e.globals.selectionEnabled=!1,this.getToolbarIconsReference(),[this.elPan,this.elSelection,this.elZoom].forEach((function(e){e&&e.classList.remove(t.selectedClass)}))}},{key:"handleZoomIn",value:function(){var t=this.w;t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY);var e=(this.minX+this.maxX)/2,i=(this.minX+e)/2,a=(this.maxX+e)/2,s=this._getNewMinXMaxX(i,a);t.globals.disableZoomIn||this.zoomUpdateOptions(s.minX,s.maxX)}},{key:"handleZoomOut",value:function(){var t=this.w;if(t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY),!("datetime"===t.config.xaxis.type&&new Date(this.minX).getUTCFullYear()<1e3)){var e=(this.minX+this.maxX)/2,i=this.minX-(e-this.minX),a=this.maxX-(e-this.maxX),s=this._getNewMinXMaxX(i,a);t.globals.disableZoomOut||this.zoomUpdateOptions(s.minX,s.maxX)}}},{key:"_getNewMinXMaxX",value:function(t,e){var i=this.w.config.xaxis.convertedCatToNumeric;return{minX:i?Math.floor(t):t,maxX:i?Math.floor(e):e}}},{key:"zoomUpdateOptions",value:function(t,e){var i=this.w;if(void 0!==t||void 0!==e){if(!(i.config.xaxis.convertedCatToNumeric&&(t<1&&(t=1,e=i.globals.dataPoints),e-t<2))){var a={min:t,max:e},s=this.getBeforeZoomRange(a);s&&(a=s.xaxis);var r={xaxis:a},o=x.clone(i.globals.initialConfig.yaxis);i.config.chart.group||(r.yaxis=o),this.w.globals.zoomed=!0,this.ctx.updateHelpers._updateOptions(r,!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback(a,o)}}else this.handleZoomReset()}},{key:"zoomCallback",value:function(t,e){"function"==typeof this.ev.zoomed&&this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e})}},{key:"getBeforeZoomRange",value:function(t,e){var i=null;return"function"==typeof this.ev.beforeZoom&&(i=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),i}},{key:"toggleMenu",value:function(){var t=this;window.setTimeout((function(){t.elMenu.classList.contains("apexcharts-menu-open")?t.elMenu.classList.remove("apexcharts-menu-open"):t.elMenu.classList.add("apexcharts-menu-open")}),0)}},{key:"handleDownload",value:function(t){var e=this.w,i=new G(this.ctx);switch(t){case"svg":i.exportToSVG(this.ctx);break;case"png":i.exportToPng(this.ctx);break;case"csv":i.exportToCSV({series:e.config.series,columnDelimiter:e.config.chart.toolbar.export.csv.columnDelimiter})}}},{key:"handleZoomReset",value:function(t){this.ctx.getSyncedCharts().forEach((function(t){var e=t.w;if(e.globals.lastXAxis.min=e.globals.initialConfig.xaxis.min,e.globals.lastXAxis.max=e.globals.initialConfig.xaxis.max,t.updateHelpers.revertDefaultAxisMinMax(),"function"==typeof e.config.chart.events.beforeResetZoom){var i=e.config.chart.events.beforeResetZoom(t,e);i&&t.updateHelpers.revertDefaultAxisMinMax(i)}"function"==typeof e.config.chart.events.zoomed&&t.ctx.toolbar.zoomCallback({min:e.config.xaxis.min,max:e.config.xaxis.max}),e.globals.zoomed=!1;var a=t.ctx.series.emptyCollapsedSeries(x.clone(e.globals.initialSeries));t.updateHelpers._updateSeries(a,e.config.chart.animations.dynamicAnimation.enabled)}))}},{key:"destroy",value:function(){this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),t}(),ct=function(t){n(i,t);var e=d(i);function i(t){var s;return a(this,i),(s=e.call(this,t)).ctx=t,s.w=t.w,s.dragged=!1,s.graphics=new m(s.ctx),s.eventList=["mousedown","mouseleave","mousemove","touchstart","touchmove","mouseup","touchend"],s.clientX=0,s.clientY=0,s.startX=0,s.endX=0,s.dragX=0,s.startY=0,s.endY=0,s.dragY=0,s.moveDirection="none",s}return r(i,[{key:"init",value:function(t){var e=this,i=t.xyRatios,a=this.w,s=this;this.xyRatios=i,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=a.globals.dom.baseEl.querySelector(".apexcharts-grid"),this.zoomRect.node.classList.add("apexcharts-zoom-rect"),this.selectionRect.node.classList.add("apexcharts-selection-rect"),a.globals.dom.elGraphical.add(this.zoomRect),a.globals.dom.elGraphical.add(this.selectionRect),"x"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:a.globals.gridWidth,maxY:a.globals.gridHeight}).on("dragmove",this.selectionDragging.bind(this,"dragging")):"y"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:a.globals.gridWidth}).on("dragmove",this.selectionDragging.bind(this,"dragging")):this.slDraggableRect=this.selectionRect.draggable().on("dragmove",this.selectionDragging.bind(this,"dragging")),this.preselectedSelection(),this.hoverArea=a.globals.dom.baseEl.querySelector("".concat(a.globals.chartClass," .apexcharts-svg")),this.hoverArea.classList.add("apexcharts-zoomable"),this.eventList.forEach((function(t){e.hoverArea.addEventListener(t,s.svgMouseEvents.bind(s,i),{capture:!1,passive:!0})}))}},{key:"destroy",value:function(){this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:"svgMouseEvents",value:function(t,e){var i=this.w,a=this,s=this.ctx.toolbar,r=i.globals.zoomEnabled?i.config.chart.zoom.type:i.config.chart.selection.type,o=i.config.chart.toolbar.autoSelected;if(e.shiftKey?(this.shiftWasPressed=!0,s.enableZoomPanFromToolbar("pan"===o?"zoom":"pan")):this.shiftWasPressed&&(s.enableZoomPanFromToolbar(o),this.shiftWasPressed=!1),e.target){var n,l=e.target.classList;if(e.target.parentNode&&null!==e.target.parentNode&&(n=e.target.parentNode.classList),!(l.contains("apexcharts-selection-rect")||l.contains("apexcharts-legend-marker")||l.contains("apexcharts-legend-text")||n&&n.contains("apexcharts-toolbar"))){if(a.clientX="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientX:"touchend"===e.type?e.changedTouches[0].clientX:e.clientX,a.clientY="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientY:"touchend"===e.type?e.changedTouches[0].clientY:e.clientY,"mousedown"===e.type&&1===e.which){var h=a.gridRect.getBoundingClientRect();a.startX=a.clientX-h.left,a.startY=a.clientY-h.top,a.dragged=!1,a.w.globals.mousedown=!0}if(("mousemove"===e.type&&1===e.which||"touchmove"===e.type)&&(a.dragged=!0,i.globals.panEnabled?(i.globals.selection=null,a.w.globals.mousedown&&a.panDragging({context:a,zoomtype:r,xyRatios:t})):(a.w.globals.mousedown&&i.globals.zoomEnabled||a.w.globals.mousedown&&i.globals.selectionEnabled)&&(a.selection=a.selectionDrawing({context:a,zoomtype:r}))),"mouseup"===e.type||"touchend"===e.type||"mouseleave"===e.type){var c=a.gridRect.getBoundingClientRect();a.w.globals.mousedown&&(a.endX=a.clientX-c.left,a.endY=a.clientY-c.top,a.dragX=Math.abs(a.endX-a.startX),a.dragY=Math.abs(a.endY-a.startY),(i.globals.zoomEnabled||i.globals.selectionEnabled)&&a.selectionDrawn({context:a,zoomtype:r}),i.globals.panEnabled&&i.config.xaxis.convertedCatToNumeric&&a.delayedPanScrolled()),i.globals.zoomEnabled&&a.hideSelectionRect(this.selectionRect),a.dragged=!1,a.w.globals.mousedown=!1}this.makeSelectionRectDraggable()}}}},{key:"makeSelectionRectDraggable",value:function(){var t=this.w;if(this.selectionRect){var e=this.selectionRect.node.getBoundingClientRect();e.width>0&&e.height>0&&this.slDraggableRect.selectize({points:"l, r",pointSize:8,pointType:"rect"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on("resizing",this.selectionDragging.bind(this,"resizing"))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:"translate("+o+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g="x"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging("resizing"),g}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;"resizing"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n("x"),y:n("y"),width:n("width"),height:n("height")};a.globals.selection=l,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,o,n,l=i.gridRect.getBoundingClientRect(),h=r.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(h.left-l.left)*s.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(h.right-l.left)*s.invertedYRatio,o=0,n=1):(t=a.globals.xAxisScale.niceMin+(h.left-l.left)*s.xRatio,e=a.globals.xAxisScale.niceMin+(h.right-l.left)*s.xRatio,o=a.globals.yAxisScale[0].niceMin+(l.bottom-h.bottom)*s.yRatio[0],n=a.globals.yAxisScale[0].niceMax-(h.top-l.top)*s.yRatio[0]);var c={xaxis:{min:t,max:e},yaxis:{min:o,max:n}};a.config.chart.events.selection(i.ctx,c),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,c)}),o))}},{key:"selectionDrawn",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){if(a.globals.seriesYAxisMap[e].length>0){var i=a.globals.seriesYAxisMap[e][0];d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[i]*s.endY)}})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),p=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),"xy"!==i&&"x"!==i||(p={min:h,max:c}),"xy"!==i&&"y"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),o){var f=o.getBeforeZoomRange(p,u);f&&(p=f.xaxis?f.xaxis:p,u=f.yaxis?f.yaxis:u)}var b={xaxis:p};a.config.chart.group||(b.yaxis=u),s.ctx.updateHelpers._updateOptions(b,!1,s.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof a.config.chart.events.zoomed&&o.zoomCallback(p,u)}else if(a.globals.selectionEnabled){var v,m=null;v={min:h,max:c},"xy"!==i&&"y"!==i||(m=x.clone(a.config.yaxis)).forEach((function(t,e){m[e].min=g[e],m[e].max=d[e]})),a.globals.selection=s.selection,"function"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:v,yaxis:m})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:"delayedPanScrolled",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;"left"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):"right"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),"left"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(t<i.globals.initialMinX||e>i.globals.initialMaxX)&&(t=o,e=n);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(ht),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(g/h),f=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(g/h),p-=1);var b=null,v=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return x.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,p=v.j,null!==b&&(m=r.globals.seriesXvalues[b],p=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:b,j:r.globals.isBarHorizontal?f:p,hoverX:g,hoverY:u}}},{key:"closestInMultiArray",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a<=h&&(h=a,n=i)}))})),-1!==n){var c=a[r][n],d=Math.abs(e-c);o=r,a.forEach((function(t,i){var a=Math.abs(e-t[n]);a<=d&&(d=a,o=i)}))}return{index:o,j:n}}},{key:"getFirstActiveXArray",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s<a.length;s++)if(-1!==a[s]&&-1===e.globals.collapsedSeriesIndices.indexOf(s)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)){i=a[s];break}return i}},{key:"closestInArray",value:function(t,e){for(var i=e[0],a=null,s=Math.abs(t-i),r=0;r<e.length;r++){var o=Math.abs(t-e[r]);o<s&&(s=o,a=r)}return{index:a}}},{key:"isXoverlap",value:function(t){var e=[],i=this.w.globals.seriesX.filter((function(t){return void 0!==t[0]}));if(i.length>0)for(var a=0;a<i.length-1;a++)void 0!==i[a][t]&&void 0!==i[a+1][t]&&i[a][t]!==i[a+1][t]&&e.push("unEqual");return 0===e.length}},{key:"isInitialSeriesSameLen",value:function(){for(var t=!0,e=this.w.globals.initialSeries,i=0;i<e.length-1;i++)if(e[i].data.length!==e[i+1].data.length){t=!1;break}return t}},{key:"getBarsHeight",value:function(t){return u(t).reduce((function(t,e){return t+e.getBBox().height}),0)}},{key:"getElMarkers",value:function(t){return"number"==typeof t?this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-series-markers-wrap > *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");(t=u(t)).sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return a<i?1:a>i?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(".apexcharts-marker"))})),e}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s<a.length;s++)"enable"===t?(a[s].classList.add("apexcharts-active"),a[s].style.display=e.config.tooltip.items.display):(a[s].classList.remove("apexcharts-active"),a[s].style.display="none")}}]),t}(),gt=function(){function t(e){a(this,t),this.w=e.w,this.ctx=e.ctx,this.ttCtx=e,this.tooltipUtil=new dt(e)}return r(t,[{key:"drawSeriesTexts",value:function(t){var e=t.shared,i=void 0===e||e,a=t.ttItems,s=t.i,r=void 0===s?0:s,o=t.j,n=void 0===o?null:o,l=t.y1,h=t.y2,c=t.e,d=this.w;void 0!==d.config.tooltip.custom?this.handleCustomTooltip({i:r,j:n,y1:l,y2:h,w:d}):this.toggleActiveInactiveSeries(i);var g=this.getValuesToPrint({i:r,j:n});this.printLabels({i:r,j:n,values:g,ttItems:a,shared:i,e:c});var u=this.ttCtx.getElTooltip();this.ttCtx.tooltipRect.ttWidth=u.getBoundingClientRect().width,this.ttCtx.tooltipRect.ttHeight=u.getBoundingClientRect().height}},{key:"printLabels",value:function(t){var i,a=this,s=t.i,r=t.j,o=t.values,n=t.ttItems,l=t.shared,h=t.e,c=this.w,d=[],g=function(t){return c.globals.seriesGoals[t]&&c.globals.seriesGoals[t][r]&&Array.isArray(c.globals.seriesGoals[t][r])},u=o.xVal,p=o.zVal,f=o.xAxisTTVal,x="",b=c.globals.colors[s];null!==r&&c.config.plotOptions.bar.distributed&&(b=c.globals.colors[r]);for(var v=function(t,o){var v=a.getFormatters(s);x=a.getSeriesName({fn:v.yLbTitleFormatter,index:s,seriesIndex:s,j:r}),"treemap"===c.config.chart.type&&(x=v.yLbTitleFormatter(String(c.config.series[s].data[r].x),{series:c.globals.series,seriesIndex:s,dataPointIndex:r,w:c}));var m=c.config.tooltip.inverseOrder?o:t;if(c.globals.axisCharts){var y=function(t){var e,i,a,s;return c.globals.isRangeData?v.yLbFormatter(null===(e=c.globals.seriesRangeStart)||void 0===e||null===(i=e[t])||void 0===i?void 0:i[r],{series:c.globals.seriesRangeStart,seriesIndex:t,dataPointIndex:r,w:c})+" - "+v.yLbFormatter(null===(a=c.globals.seriesRangeEnd)||void 0===a||null===(s=a[t])||void 0===s?void 0:s[r],{series:c.globals.seriesRangeEnd,seriesIndex:t,dataPointIndex:r,w:c}):v.yLbFormatter(c.globals.series[t][r],{series:c.globals.series,seriesIndex:t,dataPointIndex:r,w:c})};if(l)v=a.getFormatters(m),x=a.getSeriesName({fn:v.yLbTitleFormatter,index:m,seriesIndex:s,j:r}),b=c.globals.colors[m],i=y(m),g(m)&&(d=c.globals.seriesGoals[m][r].map((function(t){return{attrs:t,val:v.yLbFormatter(t.value,{seriesIndex:m,dataPointIndex:r,w:c})}})));else{var w,k=null==h||null===(w=h.target)||void 0===w?void 0:w.getAttribute("fill");k&&(b=-1!==k.indexOf("url")?document.querySelector(k.substr(4).slice(0,-1)).childNodes[0].getAttribute("stroke"):k),i=y(s),g(s)&&Array.isArray(c.globals.seriesGoals[s][r])&&(d=c.globals.seriesGoals[s][r].map((function(t){return{attrs:t,val:v.yLbFormatter(t.value,{seriesIndex:s,dataPointIndex:r,w:c})}})))}}null===r&&(i=v.yLbFormatter(c.globals.series[s],e(e({},c),{},{seriesIndex:s,dataPointIndex:s}))),a.DOMHandling({i:s,t:m,j:r,ttItems:n,values:{val:i,goalVals:d,xVal:u,xAxisTTVal:f,zVal:p},seriesName:x,shared:l,pColor:b})},m=0,y=c.globals.series.length-1;m<c.globals.series.length;m++,y--)v(m,y)}},{key:"getFormatters",value:function(t){var e,i=this.w,a=i.globals.yLabelFormatters[t];return void 0!==i.globals.ttVal?Array.isArray(i.globals.ttVal)?(a=i.globals.ttVal[t]&&i.globals.ttVal[t].formatter,e=i.globals.ttVal[t]&&i.globals.ttVal[t].title&&i.globals.ttVal[t].title.formatter):(a=i.globals.ttVal.formatter,"function"==typeof i.globals.ttVal.title.formatter&&(e=i.globals.ttVal.title.formatter)):e=i.config.tooltip.y.title.formatter,"function"!=typeof a&&(a=i.globals.yLabelFormatters[0]?i.globals.yLabelFormatters[0]:function(t){return t}),"function"!=typeof e&&(e=function(t){return t}),{yLbFormatter:a,yLbTitleFormatter:e}}},{key:"getSeriesName",value:function(t){var e=t.fn,i=t.index,a=t.seriesIndex,s=t.j,r=this.w;return e(String(r.globals.seriesNames[i]),{series:r.globals.series,seriesIndex:a,dataPointIndex:s,w:r})}},{key:"DOMHandling",value:function(t){t.i;var e=t.t,i=t.j,a=t.ttItems,s=t.values,r=t.seriesName,o=t.shared,n=t.pColor,l=this.w,h=this.ttCtx,c=s.val,d=s.goalVals,g=s.xVal,u=s.xAxisTTVal,p=s.zVal,f=null;f=a[e].children,l.config.tooltip.fillSeriesColor&&(a[e].style.backgroundColor=n,f[0].style.display="none"),h.showTooltipTitle&&(null===h.tooltipTitle&&(h.tooltipTitle=l.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")),h.tooltipTitle.innerHTML=g),h.isXAxisTooltipEnabled&&(h.xaxisTooltipText.innerHTML=""!==u?u:g);var x=a[e].querySelector(".apexcharts-tooltip-text-y-label");x&&(x.innerHTML=r||"");var b=a[e].querySelector(".apexcharts-tooltip-text-y-value");b&&(b.innerHTML=void 0!==c?c:""),f[0]&&f[0].classList.contains("apexcharts-tooltip-marker")&&(l.config.tooltip.marker.fillColors&&Array.isArray(l.config.tooltip.marker.fillColors)&&(n=l.config.tooltip.marker.fillColors[e]),f[0].style.backgroundColor=n),l.config.tooltip.marker.show||(f[0].style.display="none");var v=a[e].querySelector(".apexcharts-tooltip-text-goals-label"),m=a[e].querySelector(".apexcharts-tooltip-text-goals-value");if(d.length&&l.globals.seriesGoals[e]){var y=function(){var t="<div >",e="<div>";d.forEach((function(i,a){t+=' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '.concat(i.attrs.strokeColor,'; height: 3px; border-radius: 0; top: 5px;"></span> ').concat(i.attrs.name,"</div>"),e+="<div>".concat(i.val,"</div>")})),v.innerHTML=t+"</div>",m.innerHTML=e+"</div>"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML="",m.innerHTML=""):y()}else v.innerHTML="",m.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");if(o&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(".apexcharts-tooltip-marker"),k=a[e].querySelector(".apexcharts-tooltip-text");0==parseFloat(c)?(w.style.display="none",k.style.display="none"):(w.style.display="block",k.style.display="block")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display}}},{key:"toggleActiveInactiveSeries",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var i=e.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group");i&&(i.classList.add("apexcharts-active"),i.style.display=e.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",o="",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new S(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new A(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(o)?o.join(" "):o,zVal:n}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r<s.length;r++)parseInt(s[r].getAttribute("rel"),10)===e&&(a.marker.resetPointsSize(),a.marker.enlargeCurrentPoint(e,s[r]));else a.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:"moveDynamicPointOnHover",value:function(t,e){var i,a,s=this.w,r=this.ttCtx,o=s.globals.pointsArray,n=r.tooltipUtil.getHoverMarkerSize(e),l=s.config.series[e].type;if(!l||"column"!==l&&"candlestick"!==l&&"boxPlot"!==l){i=o[e][t][0],a=o[e][t][1]?o[e][t][1]:0;var h=s.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-series-markers circle"));h&&a<s.globals.gridHeight&&a>0&&(h.setAttribute("r",n),h.setAttribute("cx",i),h.setAttribute("cy",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new W(this.ctx).getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h<a.globals.series.length;h++){var c=o[h];if(a.globals.comboCharts&&void 0===c&&l.splice(h,0,null),c&&c.length){var d=o[h][t][1],g=void 0;if(l[h].setAttribute("cx",s),"rangeArea"===a.config.chart.type&&!a.globals.comboCharts){var u=t+a.globals.series[h].length;g=o[h][u][1],d-=Math.abs(d-g)/2}null!==d&&!isNaN(d)&&d<a.globals.gridHeight+n&&d+n>0?(l[h]&&l[h].setAttribute("r",n),l[h]&&l[h].setAttribute("cy",d)):l[h]&&l[h].setAttribute("r",0)}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,n)}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length,r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new W(this.ctx).getActiveConfigSeriesIndex("desc")+1);var o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));o||"number"!=typeof e||(o=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var n=o?parseFloat(o.getAttribute("cx")):0,l=o?parseFloat(o.getAttribute("cy")):0,h=o?parseFloat(o.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=o&&(o.classList.contains("apexcharts-candlestick-area")||o.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(o&&!d&&(n-=s%2!=0?h/2:0),o&&d&&i.globals.comboCharts&&(n-=h/2)):i.globals.isBarHorizontal||(n=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(n)&&(n=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(n),a.fixedTooltip||this.moveTooltip(n,l||i.globals.gridHeight)}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new m(this.ctx),i=new D(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s<a.length;s++){var r=a[s].querySelector(".apexcharts-series-markers-wrap");if(null!==r){var o=void 0,n="apexcharts-marker w".concat((Math.random()+1).toString(36).substring(4));"line"!==t.config.chart.type&&"area"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(n+=" no-pointer-events");var l=i.getMarkerConfig({cssClass:n,seriesIndex:Number(r.getAttribute("data:realIndex"))});(o=e.drawMarker(0,0,l)).node.setAttribute("default-marker-size",0);var h=document.createElementNS(t.globals.SVGNS,"g");h.classList.add("apexcharts-series-markers"),h.appendChild(o.node),r.appendChild(h)}}}},{key:"enlargeCurrentPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),o=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var n=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-n.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),o=e.config.markers.hover.size,n=0;n<r.length;n++){var l=r[n].getAttribute("rel"),h=r[n].getAttribute("index");if(void 0===o&&(o=e.globals.markers.size[h]+e.config.markers.hover.sizeOffset),s===parseInt(l,10)){i.newPointSize(s,r[n]);var c=r[n].getAttribute("cx"),d=r[n].getAttribute("cy");i.tooltipPosition.moveXCrosshairs(c),a.fixedTooltip||i.tooltipPosition.moveTooltip(c,d,o)}else i.oldPointSize(r[n])}}},{key:"newPointSize",value:function(t,e){var i=this.w,a=i.config.markers.hover.size,s=0===t?e.parentNode.firstChild:e.parentNode.lastChild;if("0"!==s.getAttribute("default-marker-size")){var r=parseInt(s.getAttribute("index"),10);void 0===a&&(a=i.globals.markers.size[r]+i.config.markers.hover.sizeOffset),a<0&&(a=0),s.setAttribute("r",a)}}},{key:"oldPointSize",value:function(t){var e=parseFloat(t.getAttribute("default-marker-size"));t.setAttribute("r",e)}},{key:"resetPointsSize",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),e=0;e<t.length;e++){var i=parseFloat(t[e].getAttribute("default-marker-size"));x.isNumber(i)&&i>=0?t[e].setAttribute("r",i):t[e].setAttribute("r",0)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w;var i=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!i.globals.isBarHorizontal&&"rangeBar"===i.config.chart.type&&i.config.plotOptions.bar.rangeBarGroupRows}return r(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),g=this.getAttr(e,"width"),u=this.getAttr(e,"height");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var p=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-p.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-p.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var g=x.findAncestor(s.paths,"apexcharts-series");g&&(e=parseInt(g.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-o.tooltipRect.ttHeight);var p=parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),f=r.globals.isMultipleYAxis?r.config.yaxis[p]&&r.config.yaxis[p].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!f?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(f&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!f||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),c=c+r.globals.translateY-o.tooltipRect.ttHeight/2,n.style.left=h+r.globals.translateX+"px",n.style.top=c+"px")}},{key:"getBarTooltipXY",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,o=this.ttCtx,n=0,l=0,h=0,c=0,d=0,g=i.target.classList;if(g.contains("apexcharts-bar-area")||g.contains("apexcharts-candlestick-area")||g.contains("apexcharts-boxPlot-area")||g.contains("apexcharts-rangebar-area")){var u=i.target,p=u.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,v=parseInt(u.getAttribute("cx"),10),m=parseInt(u.getAttribute("cy"),10);c=parseFloat(u.getAttribute("barWidth"));var y="touchmove"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(u.getAttribute("j"),10),n=parseInt(u.parentNode.getAttribute("rel"),10)-1;var w=u.getAttribute("data-range-y1"),k=u.getAttribute("data-range-y2");s.globals.comboCharts&&(n=parseInt(u.parentNode.getAttribute("data:realIndex"),10));var A=function(t){return s.globals.isXNumeric?v-b/2:e.isVerticalGroupedRangeBar?v+b/2:v-o.dataPointsDividedWidth+b/2},S=function(){return m-o.dataPointsDividedHeight+x/2-o.tooltipRect.ttHeight/2};o.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:n,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!o.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=S()):(l=A(),h=i.clientY-f.top-o.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=v)<o.xyRatios.baseLineInvertedY&&(l=v-o.tooltipRect.ttWidth),h=S()):(l=A(),h=m)}return{x:l,y:h,barHeight:d,barWidth:c,i:n,j:r}}}]),t}(),xt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:"drawXaxisTooltip",value:function(){var t=this.w,e=this.ttCtx,i="bottom"===t.config.xaxis.position;e.xaxisOffY=i?t.globals.gridHeight+1:-t.globals.xAxisHeight-t.config.xaxis.axisTicks.height+3;var a=i?"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom":"apexcharts-xaxistooltip apexcharts-xaxistooltip-top",s=t.globals.dom.elWrap;e.isXAxisTooltipEnabled&&(null===t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip")&&(e.xaxisTooltip=document.createElement("div"),e.xaxisTooltip.setAttribute("class",a+" apexcharts-theme-"+t.config.tooltip.theme),s.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement("div"),e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),e.xaxisTooltipText.style.fontFamily=t.config.xaxis.tooltip.style.fontFamily||t.config.chart.fontFamily,e.xaxisTooltipText.style.fontSize=t.config.xaxis.tooltip.style.fontSize,e.xaxisTooltip.appendChild(e.xaxisTooltipText)))}},{key:"drawYaxisTooltip",value:function(){for(var t=this.w,e=this.ttCtx,i=0;i<t.config.yaxis.length;i++){var a=t.config.yaxis[i].opposite||t.config.yaxis[i].crosshairs.opposite;e.yaxisOffX=a?t.globals.gridWidth+1:1;var s="apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i,a?" apexcharts-yaxistooltip-right":" apexcharts-yaxistooltip-left"),r=t.globals.dom.elWrap;null===t.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i))&&(e.yaxisTooltip=document.createElement("div"),e.yaxisTooltip.setAttribute("class",s+" apexcharts-theme-"+t.config.tooltip.theme),r.appendChild(e.yaxisTooltip),0===i&&(e.yaxisTooltipText=[]),e.yaxisTooltipText[i]=document.createElement("div"),e.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]))}}},{key:"setXCrosshairWidth",value:function(){var t=this.w,e=this.ttCtx,i=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width,10),t.globals.comboCharts){var a=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==a&&"barWidth"===t.config.xaxis.crosshairs.width){var s=parseFloat(a.getAttribute("barWidth"));e.xcrosshairsWidth=s}else if("tickWidth"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}}else if("tickWidth"===t.config.xaxis.crosshairs.width){var o=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/o}else if("barWidth"===t.config.xaxis.crosshairs.width){var n=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==n){var l=parseFloat(n.getAttribute("barWidth"));e.xcrosshairsWidth=l}else e.xcrosshairsWidth=1}t.globals.isBarHorizontal&&(e.xcrosshairsWidth=0),null!==i&&e.xcrosshairsWidth>0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}},{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,o=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&o.length>0){var n=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=o[0];i.yRatio.length>1&&function(t){throw new TypeError('"'+t+'" is read-only')}("translationsIndex");var c=(e-l.top)*i.yRatio[0],d=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(d-c);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(d-c)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=n(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new pt(this),this.intersect=new ft(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement("div");o.classList.add("apexcharts-tooltip-series-group"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add("apexcharts-tooltip-series-group-hidden");var n=document.createElement("span");n.classList.add("apexcharts-tooltip-marker"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement("div");l.classList.add("apexcharts-tooltip-text"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o<t;o++)r(o);return a}},{key:"addSVGEvents",value:function(){var t=this.w,e=t.config.chart.type,i=this.getElTooltip(),a=!("bar"!==e&&"candlestick"!==e&&"boxPlot"!==e&&"rangeBar"!==e),s="area"===e||"line"===e||"scatter"===e||"bubble"===e||"radar"===e,r=t.globals.dom.Paper.node,o=this.getElGrid();o&&(this.seriesBound=o.getBoundingClientRect());var n,l=[],h=[],c={hoverArea:r,elGrid:o,tooltipEl:i,tooltipY:l,tooltipX:h,ttItems:this.ttItems};if(t.globals.axisCharts&&(s?n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"):a?n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"):"heatmap"!==e&&"treemap"!==e||(n=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap")),n&&n.length))for(var d=0;d<n.length;d++)l.push(n[d].getAttribute("cy")),h.push(n[d].getAttribute("cx"));if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||a&&this.tooltipUtil.hasBars()&&this.tConfig.shared)this.addPathsEventListeners([r],c);else if(a&&!t.globals.comboCharts||s&&this.showOnIntersect)this.addDatapointEventsListeners(c);else if(!t.globals.axisCharts||"heatmap"===e||"treemap"===e){var g=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");this.addPathsEventListeners(g,c)}if(this.showOnIntersect){var u=t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker");u.length>0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf("bottom")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=o+"px",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s<t.length;s++)a(s)}},{key:"onSeriesHover",value:function(t,e){var i=this,a=Date.now()-this.lastHoverTime;a>=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new W(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,l<o.top||l>o.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var p=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=p.x,i=p.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var f=0;f<r.config.yaxis.length;f++)this.axesTooltip.drawYaxisTooltipText(f,l,this.xyRatios);s.tooltipEl.classList.add("apexcharts-active")}else"mouseout"!==a.type&&"touchend"!==a.type||this.handleMouseOut(s)}}},{key:"nonAxisChartsTooltips",value:function(t){var e=t.e,i=t.opt,a=t.tooltipRect,s=this.w,r=i.paths.getAttribute("rel"),o=this.getElTooltip(),n=s.globals.dom.elWrap.getBoundingClientRect();if("mousemove"===e.type||"touchmove"===e.type){o.classList.add("apexcharts-active"),this.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:parseInt(r,10)-1,shared:!1});var l=s.globals.clientX-n.left-a.ttWidth/2,h=s.globals.clientY-n.top-a.ttHeight-10;if(o.style.left=l+"px",o.style.top=h+"px",s.config.legend.tooltipHoverFormatter){var c=r-1,d=(0,s.config.legend.tooltipHoverFormatter)(this.legendLabels[c].getAttribute("data:default-text"),{seriesIndex:c,dataPointIndex:c,w:s});this.legendLabels[c].innerHTML=d}}else"mouseout"!==e.type&&"touchend"!==e.type||(o.classList.remove("apexcharts-active"),s.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)})))}},{key:"handleStickyTooltip",value:function(t,e,i,a){var s=this.w,r=this.tooltipUtil.getNearestValues({context:this,hoverArea:a.hoverArea,elGrid:a.elGrid,clientX:e,clientY:i}),o=r.j,n=r.capturedSeries;s.globals.collapsedSeriesIndices.includes(n)&&(n=null);var l=a.elGrid.getBoundingClientRect();if(r.hoverX<0||r.hoverX>l.width)this.handleMouseOut(a);else if(null!==n)this.handleStickyCapturedSeries(t,n,a,o);else if(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,o,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(".apexcharts-bar-area"),a=0;a<i.length;a++)e.pathMouseLeave(i[a])}},{key:"handleMouseOut",value:function(t){var e=this.w,i=this.getElXCrosshairs();if(t.tooltipEl.classList.remove("apexcharts-active"),this.deactivateHoverFilter(),"bubble"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==i&&i.classList.remove("apexcharts-active"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove("apexcharts-active"),this.isXAxisTooltipEnabled&&this.xaxisTooltip.classList.remove("apexcharts-active"),this.yaxisTooltips.length){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));for(var a=0;a<this.yaxisTTEls.length;a++)this.yaxisTTEls[a].classList.remove("apexcharts-active")}e.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}))}},{key:"markerClick",value:function(t,e,i){var a=this.w;"function"==typeof a.config.chart.events.markerClick&&a.config.chart.events.markerClick(t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}),this.ctx.events.fireEvent("markerClick",[t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}])}},{key:"create",value:function(t,i,a,s,r){var o,n,l,h,c,d,g,u,p,f,x,b,v,y,w,k,A=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,S=this.w,C=i;"mouseup"===t.type&&this.markerClick(t,a,s),null===A&&(A=this.tConfig.shared);var L=this.tooltipUtil.hasMarkers(a),P=this.tooltipUtil.getElBars();if(S.config.legend.tooltipHoverFormatter){var M=S.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T<I.length;T++){var z=I[T],X=parseInt(z.getAttribute("i"),10),E=decodeURIComponent(z.getAttribute("data:default-text")),Y=M(E,{seriesIndex:A?X:a,dataPointIndex:s,w:S});if(A)z.innerHTML=S.globals.collapsedSeriesIndices.indexOf(X)<0?Y:E;else if(z.innerHTML=X===a?Y:E,a===X)break}}var F=e(e({ttItems:r,i:a,j:s},void 0!==(null===(o=S.globals.seriesRange)||void 0===o||null===(n=o[a])||void 0===n||null===(l=n[s])||void 0===l||null===(h=l.y[0])||void 0===h?void 0:h.y1)&&{y1:null===(c=S.globals.seriesRange)||void 0===c||null===(d=c[a])||void 0===d||null===(g=d[s])||void 0===g||null===(u=g.y[0])||void 0===u?void 0:u.y1}),void 0!==(null===(p=S.globals.seriesRange)||void 0===p||null===(f=p[a])||void 0===f||null===(x=f[s])||void 0===x||null===(b=x.y[0])||void 0===b?void 0:b.y2)&&{y2:null===(v=S.globals.seriesRange)||void 0===v||null===(y=v[a])||void 0===y||null===(w=y[s])||void 0===w||null===(k=w.y[0])||void 0===k?void 0:k.y2});if(A){if(C.tooltipLabels.drawSeriesTexts(e(e({},F),{},{shared:!this.showOnIntersect&&this.tConfig.shared})),L)S.globals.markers.largestSize>0?C.marker.enlargePoints(s):C.tooltipPosition.moveDynamicPointsOnHover(s);else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(P),this.barSeriesHeight>0)){var R=new m(this.ctx),H=S.globals.dom.Paper.select(".apexcharts-bar-area[j='".concat(s,"']"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(s,a);for(var D=0;D<H.length;D++)R.pathMouseEnter(H[D])}}else C.tooltipLabels.drawSeriesTexts(e({shared:!1},F)),this.tooltipUtil.hasBars()&&C.tooltipPosition.moveStickyTooltipOverBars(s,a),L&&C.tooltipPosition.moveMarkers(a,s)}}]),t}(),vt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}return r(t,[{key:"handleBarDataLabels",value:function(t){var e,i,a=t.x,s=t.y,r=t.y1,o=t.y2,n=t.i,l=t.j,h=t.realIndex,c=t.columnGroupIndex,d=t.series,g=t.barHeight,u=t.barWidth,p=t.barXPosition,f=t.barYPosition,x=t.visibleSeries,b=t.renderedPath,v=this.w,y=new m(this.barCtx.ctx),w=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[h]:this.barCtx.strokeWidth;v.globals.isXNumeric&&!v.globals.isBarHorizontal?(e=a+parseFloat(u*(x+1)),i=s+parseFloat(g*(x+1))-w):(e=a+parseFloat(u*x),i=s+parseFloat(g*x));var k,A=null,S=a,C=s,L={},P=v.config.dataLabels,M=this.barCtx.barOptions.dataLabels,I=this.barCtx.barOptions.dataLabels.total;void 0!==f&&this.barCtx.isRangeBar&&(i=f,C=f),void 0!==p&&this.barCtx.isVerticalGroupedRangeBar&&(e=p,S=p);var T=P.offsetX,z=P.offsetY,X={width:0,height:0};if(v.config.dataLabels.enabled){var E=this.barCtx.series[n][l];X=y.getTextRects(v.globals.yLabelFormatters[0](E),parseFloat(P.style.fontSize))}var Y={x:a,y:s,i:n,j:l,realIndex:h,columnGroupIndex:c,renderedPath:b,bcx:e,bcy:i,barHeight:g,barWidth:u,textRects:X,strokeWidth:w,dataLabelsX:S,dataLabelsY:C,dataLabelsConfig:P,barDataLabelsConfig:M,barTotalDataLabelsConfig:I,offX:T,offY:z};return L=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(Y):this.calculateColumnsDataLabelsPosition(Y),b.attr({cy:L.bcy,cx:L.bcx,j:l,val:d[n][l],barHeight:g,barWidth:u}),k=this.drawCalculatedDataLabels({x:L.dataLabelsX,y:L.dataLabelsY,val:this.barCtx.isRangeBar?[r,o]:d[n][l],i:h,j:l,barWidth:u,barHeight:g,textRects:X,dataLabelsConfig:P}),v.config.chart.stacked&&I.enabled&&(A=this.drawTotalDataLabels({x:L.totalDataLabelsX,y:L.totalDataLabelsY,barWidth:u,barHeight:g,realIndex:h,textAnchor:L.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:h,j:l}),dataLabelsConfig:P,barTotalDataLabelsConfig:I})),{dataLabels:k,totalDataLabels:A}}},{key:"getStackedTotalDataLabel",value:function(t){var i=t.realIndex,a=t.j,s=this.w,r=this.barCtx.stackedSeriesTotals[a];return this.totalFormatter&&(r=this.totalFormatter(r,e(e({},s),{},{seriesIndex:i,dataPointIndex:a,w:s}))),r}},{key:"calculateColumnsDataLabelsPosition",value:function(t){var e,i,a=this.w,s=t.i,r=t.j,o=t.realIndex,n=t.columnGroupIndex,l=t.y,h=t.bcx,c=t.barWidth,d=t.barHeight,g=t.textRects,u=t.dataLabelsX,p=t.dataLabelsY,f=t.dataLabelsConfig,x=t.barDataLabelsConfig,b=t.barTotalDataLabelsConfig,v=t.strokeWidth,y=t.offX,w=t.offY,k=h;d=Math.abs(d);var A="vertical"===a.config.plotOptions.bar.dataLabels.orientation,S=this.barCtx.barHelpers.getZeroValueEncounters({i:s,j:r}).zeroEncounters;h=h-v/2+n*c;var C=a.globals.gridWidth/a.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?u+=c/2:(u=a.globals.isXNumeric?h-c/2+y:h-C+c/2+y,S>0&&a.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(u-=c*S)),A){u=u+g.height/2-v/2-2}var L=this.barCtx.series[s][r]<0,P=l;switch(this.barCtx.isReversed&&(P=l+(L?d:-d),l-=d),x.position){case"center":p=A?L?P-d/2+w:P+d/2-w:L?P-d/2+g.height/2+w:P+d/2+g.height/2-w;break;case"bottom":p=A?L?P-d+w:P+d-w:L?P-d+g.height+v+w:P+d-g.height/2+v-w;break;case"top":p=A?L?P+w:P-w:L?P-g.height/2-w:P+g.height+w}if(this.barCtx.lastActiveBarSerieIndex===o&&b.enabled){var M=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:o,j:r}),f.fontSize);e=L?P-M.height/2-w-b.offsetY+18:P+M.height+w+b.offsetY-18,i=k+(a.globals.isXNumeric?c*(a.globals.barGroups.length-1)-c/2:-(c*a.globals.barGroups.length-c/2-2*v))+b.offsetX}return a.config.chart.stacked||(p<0?p=0+v:p+g.height/3>a.globals.gridHeight&&(p=a.globals.gridHeight-v)),{bcx:h,bcy:l,dataLabelsX:u,dataLabelsY:p,totalDataLabelsX:i,totalDataLabelsY:e,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.columnGroupIndex,n=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,g=t.strokeWidth,u=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,v=e.globals.gridHeight/e.globals.dataPoints;h=Math.abs(h);var y,w,k=(n+=o*l)-(this.barCtx.isRangeBar?0:v)+l/2+c.height/2+b-3,A="start",S=this.barCtx.series[a][s]<0,C=i;switch(this.barCtx.isReversed&&(C=i+(S?-h:h),i=e.globals.gridWidth-h,A=S?"start":"end"),p.position){case"center":d=S?C+h/2-x:Math.max(c.width/2,C-h/2)+x;break;case"bottom":d=S?C+h-g-Math.round(c.width/2)-x:C-h+g+Math.round(c.width/2)+x;break;case"top":d=S?C-g+Math.round(c.width/2)-x:C-g-Math.round(c.width/2)+x}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var L=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),u.fontSize);S?(y=C-g-x-f.offsetX,A="end"):y=C+x+f.offsetX+(this.barCtx.isReversed?-(h+g):g),w=k-c.height/2+L.height/2+f.offsetY+g}return e.config.chart.stacked||(d<0?d=d+c.width+g:d+c.width/2>e.globals.gridWidth&&(d=e.globals.gridWidth-c.width-g)),{bcx:i,bcy:n,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g="rotate(0)";"vertical"===d.config.plotOptions.bar.dataLabels.orientation&&(g="rotate(-90, ".concat(i,", ").concat(a,")"));var u=new N(this.barCtx.ctx),p=new m(this.barCtx.ctx),f=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:g});var v="";void 0!==s&&(v=f(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d}))),!s&&d.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(v="");var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if("vertical"===d.config.plotOptions.bar.dataLabels.orientation&&("top"===w&&(c.textAnchor=y?"end":"start"),"center"===w&&(c.textAnchor="middle"),"bottom"===w&&(c.textAnchor=y?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)h<p.getTextRects(v,parseFloat(c.style.fontSize)).width&&(v="");d.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(h)&&(v=""):n.height/1.6>Math.abs(l)&&(v=""));var k=e({},c);this.barCtx.isHorizontal&&s<0&&("start"===c.textAnchor?k.textAnchor="end":"end"===c.textAnchor&&(k.textAnchor="start")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:"drawTotalDataLabels",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.barWidth,o=t.barHeight,n=t.realIndex,l=t.textAnchor,h=t.barTotalDataLabelsConfig,c=this.w,d=new m(this.barCtx.ctx);return h.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===n&&(e=d.drawText({x:i-(!c.globals.isBarHorizontal&&c.globals.barGroups.length?r*(c.globals.barGroups.length-1)/2:0),y:a-(c.globals.isBarHorizontal&&c.globals.barGroups.length?o*(c.globals.barGroups.length-1)/2:0),foreColor:h.style.color,text:s,textAnchor:l,fontFamily:h.style.fontFamily,fontSize:h.style.fontSize,fontWeight:h.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i<t.length;i++)if(t[i].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;a<t[i].length;a++)e.globals.seriesX[i][a]>e.globals.minX&&e.globals.seriesX[i][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1),this.barCtx.zeroSerieses=[],e.globals.comboCharts||this.checkZeroSeries({series:t})}},{key:"initialPositions",value:function(){var t,e,i,a,s,r,o,n,l=this.w,h=l.globals.dataPoints;this.barCtx.isRangeBar&&(h=l.globals.labels.length);var c=this.barCtx.seriesLen;if(l.config.plotOptions.bar.rangeBarGroupRows&&(c=1),this.barCtx.isHorizontal)s=(i=l.globals.gridHeight/h)/c,l.globals.isXNumeric&&(s=(i=l.globals.gridHeight/this.barCtx.totalItems)/this.barCtx.seriesLen),s=s*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(s=parseInt(this.barCtx.barOptions.barHeight,10)),n=this.barCtx.baseLineInvertedY+l.globals.padHorizontal+(this.barCtx.isReversed?l.globals.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(n=l.globals.gridWidth/2),e=(i-s*this.barCtx.seriesLen)/2;else{if(a=l.globals.gridWidth/this.barCtx.visibleItems,l.config.xaxis.convertedCatToNumeric&&(a=l.globals.gridWidth/l.globals.dataPoints),r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100,l.globals.isXNumeric){var d=this.barCtx.xRatio;l.globals.minXDiff&&.5!==l.globals.minXDiff&&l.globals.minXDiff/d>0&&(a=l.globals.minXDiff/d),(r=a/c*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.columnWidth,10)),o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return l.globals.barHeight=s,l.globals.barWidth=r,{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:"initializeStackedPrevVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:"initializeStackedXYVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new H(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[e]:l.config.fill.type})}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"shouldApplyRadius",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&"last"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new W(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.columnWidthOffset&&(p=a-d.config.series[l].data[c].columnWidthOffset/2,u=i+d.config.series[l].data[c].columnWidthOffset);var f=o/2,x=p+f,b=p+u-f;s+=.001-f,r+=.001+f;var v=g.move(x,s),y=g.move(x,s),w=g.line(b,s);if(d.globals.previousPaths.length>0&&(y=this.barCtx.getPreviousPath(l,c,!1)),v=v+g.line(x,r)+g.line(b,r)+g.line(b,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),y=y+g.line(x,s)+w+w+w+w+w+g.line(x,s)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).yArrj.push(r-f),k.yArrjF.push(Math.abs(s-r+o)),k.yArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:y}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.seriesGroup,l=t.realIndex,h=t.i,c=t.j,d=t.w,g=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[l]:o)||(o=0);var u=i,p=a;null!==(e=d.config.series[l].data[c])&&void 0!==e&&e.barHeightOffset&&(u=i-d.config.series[l].data[c].barHeightOffset/2,p=a+d.config.series[l].data[c].barHeightOffset);var f=o/2,x=u+f,b=u+p-f;s+=.001-f,r+=.001+f;var v=g.move(s,x),y=g.move(s,x);d.globals.previousPaths.length>0&&(y=this.barCtx.getPreviousPath(l,c,!1));var w=g.line(s,b);if(v=v+g.line(r,x)+g.line(r,b)+w+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),y=y+g.line(s,x)+w+w+w+w+w+g.line(s,x)+("around"===d.config.plotOptions.bar.borderRadiusApplication?" Z":" z"),this.shouldApplyRadius(l)&&(v=g.roundPathCorners(v,d.config.plotOptions.bar.borderRadius)),d.config.chart.stacked){var k=this.barCtx;(k=this.barCtx[n]).xArrj.push(r+f),k.xArrjF.push(Math.abs(s-r)),k.xArrjVal.push(this.barCtx.series[h][c])}return{pathTo:v,pathFrom:y}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a<e.length;a++){for(var s=0,r=0;r<e[i.globals.maxValsInArrayIndex].length;r++)s+=e[a][r];0===s&&this.barCtx.zeroSerieses.push(a)}}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(t,i,a,s,r,n){var l=this,h=this.w,c=[],d=function(e,s){var r;c.push((o(r={},t,"x"===t?l.getXForValue(e,i,!1):l.getYForValue(e,a,n,!1)),o(r,"attrs",s),r))};if(h.globals.seriesGoals[s]&&h.globals.seriesGoals[s][r]&&Array.isArray(h.globals.seriesGoals[s][r])&&h.globals.seriesGoals[s][r].forEach((function(t){d(t.value,t)})),this.barCtx.barOptions.isDumbbell&&h.globals.seriesRange.length){var g=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:h.globals.colors,u={strokeHeight:"x"===t?0:h.globals.markers.size[s],strokeWidth:"x"===t?h.globals.markers.size[s]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(g[s])?g[s][0]:g[s]};d(h.globals.seriesRangeStart[s][r],u),d(h.globals.seriesRangeEnd[s][r],e(e({},u),{},{strokeColor:Array.isArray(g[s])?g[s][1]:g[s]}))}return c}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=n.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=n.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:"drawBarShadow",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,o=e.x1,n=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=n+i.barHeight,g=new m(this.barCtx.ctx),u=new x,p=g.move(o,d)+g.line(r,d)+g.line(l,c)+g.line(h,c)+g.line(o,d)+("around"===s.config.plotOptions.bar.borderRadiusApplication?" Z":" z");return g.drawPath({d:p,fill:u.shadeColor(.5,x.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadows"})}},{key:"getZeroValueEncounters",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,o=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t<i&&0===e&&o++})),{nonZeroColumns:r,zeroEncounters:o}}},{key:"getGroupIndex",value:function(t){var e=this.w,i=e.globals.seriesGroups.findIndex((function(i){return i.indexOf(e.globals.seriesNames[t])>-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new W(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:"apexcharts-bar-series apexcharts-plot-series"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,l=0;n<t.length;n++,l++){var h,c,d,g,u=void 0,p=void 0,f=[],b=[],v=a.globals.comboCharts?i[n]:n,w=this.barHelpers.getGroupIndex(v).columnGroupIndex,k=s.group({class:"apexcharts-series",rel:n+1,seriesName:x.escapeString(a.globals.seriesNames[v]),"data:realIndex":v});this.ctx.series.addCollapsedClassToSeries(k,v),t[n].length>0&&(this.visibleI=this.visibleI+1);var A=0,S=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[v],this.translationsIndex=v);var C=this.translationsIndex;this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var L=this.barHelpers.initialPositions();p=L.y,A=L.barHeight,c=L.yDivision,g=L.zeroW,u=L.x,S=L.barWidth,h=L.xDivision,d=L.zeroH,this.horizontal||b.push(u+S/2);var P=s.group({class:"apexcharts-datalabels","data:realIndex":v});a.globals.delayedElements.push({el:P.node}),P.node.classList.add("apexcharts-element-hidden");var M=s.group({class:"apexcharts-bar-goals-markers"}),I=s.group({class:"apexcharts-bar-shadows"});a.globals.delayedElements.push({el:I.node}),I.node.classList.add("apexcharts-element-hidden");for(var T=0;T<t[n].length;T++){var z=this.barHelpers.getStrokeWidth(n,T,v),X=null,E={indexes:{i:n,j:T,realIndex:v,translationsIndex:C,bc:l},x:u,y:p,strokeWidth:z,elSeries:k};this.isHorizontal?(X=this.drawBarPaths(e(e({},E),{},{barHeight:A,zeroW:g,yDivision:c})),S=this.series[n][T]/this.invertedYRatio):(X=this.drawColumnPaths(e(e({},E),{},{xDivision:h,barWidth:S,zeroH:d})),A=this.series[n][T]/this.yRatio[C]);var Y=this.barHelpers.getPathFillColor(t,n,T,v);if(this.isFunnel&&this.barOptions.isFunnel3d&&this.pathArr.length&&T>0){var F=this.barHelpers.drawBarShadow({color:"string"==typeof Y&&-1===(null==Y?void 0:Y.indexOf("url"))?Y:x.hexToRgba(a.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:X});F&&I.add(F)}this.pathArr.push(X);var R=this.barHelpers.drawGoalLine({barXPosition:X.barXPosition,barYPosition:X.barYPosition,goalX:X.goalX,goalY:X.goalY,barHeight:A,barWidth:S});R&&M.add(R),p=X.y,u=X.x,T>0&&b.push(u+S/2),f.push(p),this.renderSeries({realIndex:v,pathFill:Y,j:T,i:n,columnGroupIndex:w,pathFrom:X.pathFrom,pathTo:X.pathTo,strokeWidth:z,elSeries:k,x:u,y:p,series:t,barHeight:X.barHeight?X.barHeight:A,barWidth:X.barWidth?X.barWidth:S,elDataLabelsWrap:P,elGoalsMarkers:M,elBarShadows:I,visibleSeries:this.visibleI,type:"bar"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=f,o.add(k)}return o}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.columnGroupIndex,n=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,g=t.y,u=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,y=t.barXPosition,w=t.barYPosition,k=t.elDataLabelsWrap,A=t.elGoalsMarkers,S=t.elBarShadows,C=t.visibleSeries,L=t.type,P=this.w,M=new m(this.ctx);if(!a){var I="function"==typeof P.globals.stroke.colors[e]?function(t){var e,i=P.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=""),"function"==typeof e)?e({value:P.globals.series[t][s],dataPointIndex:s,w:P}):e}(e):P.globals.stroke.colors[e];a=this.barOptions.distributed?P.globals.stroke.colors[s]:I}P.config.series[r].data[s]&&P.config.series[r].data[s].strokeColor&&(a=P.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var T=s/P.config.chart.animations.animateGradually.delay*(P.config.chart.animations.speed/P.globals.dataPoints)/2.4,z=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:n,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:P.config.stroke.lineCap,fill:i,animationDelay:T,initialSpeed:P.config.chart.animations.speed,dataChangeSpeed:P.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(L,"-area")});z.attr("clip-path","url(#gridRectMask".concat(P.globals.cuid,")"));var X=P.config.forecastDataPoints;X.count>0&&s>=P.globals.dataPoints-X.count&&(z.node.setAttribute("stroke-dasharray",X.dashArray),z.node.setAttribute("stroke-width",X.strokeWidth),z.node.setAttribute("fill-opacity",X.fillOpacity)),void 0!==u&&void 0!==p&&(z.attr("data-range-y1",u),z.attr("data-range-y2",p)),new v(this.ctx).setSelectionFilter(z,e,s),c.add(z);var E=new vt(this).handleBarDataLabels({x:d,y:g,y1:u,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:o,barHeight:x,barWidth:b,barXPosition:y,barYPosition:w,renderedPath:z,visibleSeries:C});return null!==E.dataLabels&&k.add(E.dataLabels),E.totalDataLabels&&k.add(E.totalDataLabels),c.add(k),A&&c.add(A),S&&c.add(S),c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,g=i.j;if(c.globals.isXNumeric)e=(n=(c.globals.seriesX[d][g]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var u=0,p=0;c.globals.seriesPercent.forEach((function(t,e){t[g]&&u++,e<d&&0===t[g]&&p++})),u>0&&(a=this.seriesLen*a/u),e=n+a*this.visibleI,e-=a*p}else e=n+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][g],r)-r)/2),o=this.barHelpers.getXForValue(this.series[d][g],r);var f=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:d,j:g,w:c});return c.globals.isXNumeric||(n+=l),this.barHelpers.barBackground({j:g,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:f.pathTo,pathFrom:f.pathFrom,x1:r,x:o,y:n,goalX:this.barHelpers.getGoalValues("x",r,null,d,g),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,o=t.barWidth,n=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,g=i.translationsIndex,u=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:o});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:u,j:p}),v=b.nonZeroColumns,m=b.zeroEncounters;v>0&&(o=this.seriesLen*o/v),e=a+o*this.visibleI,e-=o*m}else e=a+o*this.visibleI;s=this.barHelpers.getYForValue(this.series[u][p],n,g);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:o,y1:n,y2:s,strokeWidth:l,series:this.series,realIndex:d,i:u,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:u,x1:e-l/2-o*this.visibleI,x2:o*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,n,u,p,g),barXPosition:e,barWidth:o}}},{key:"getBarXForNumericXAxis",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,o=a;return r.globals.seriesX[a].length||(o=r.globals.maxValsInArrayIndex),r.globals.seriesX[o][s]&&(e=(r.globals.seriesX[o][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:"getPreviousPath",value:function(t,e){for(var i,a=this.w,s=0;s<a.globals.previousPaths.length;s++){var r=a.globals.previousPaths[s];r.paths&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===s.config.chart.stackType&&(t=s.globals.comboCharts?i.map((function(t){return s.globals.seriesPercent[t]})):s.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var o=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,l=0,h=function(r,h){var c=void 0,d=void 0,g=void 0,u=void 0,p=s.globals.comboCharts?i[r]:r,f=a.barHelpers.getGroupIndex(p),b=f.groupIndex,v=f.columnGroupIndex;a.groupCtx=a[s.globals.seriesGroups[b]];var m=[],y=[],w=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[p][0],w=p),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var k=a.graphics.group({class:"apexcharts-series",seriesName:x.escapeString(s.globals.seriesNames[p]),rel:r+1,"data:realIndex":p});a.ctx.series.addCollapsedClassToSeries(k,p);var A=a.graphics.group({class:"apexcharts-datalabels","data:realIndex":p}),S=a.graphics.group({class:"apexcharts-bar-goals-markers"}),C=0,L=0,P=a.initialPositions(n,l,c,d,g,u,w);l=P.y,C=P.barHeight,d=P.yDivision,u=P.zeroW,n=P.x,L=P.barWidth,c=P.xDivision,g=P.zeroH,s.globals.barHeight=C,s.globals.barWidth=L,a.barHelpers.initializeStackedXYVars(a),1===a.groupCtx.prevY.length&&a.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(a.groupCtx.prevY[0]=a.groupCtx.prevY[0].map((function(){return g})),a.groupCtx.prevYF[0]=a.groupCtx.prevYF[0].map((function(){return 0})));for(var M=0;M<s.globals.dataPoints;M++){var I=a.barHelpers.getStrokeWidth(r,M,p),T={indexes:{i:r,j:M,realIndex:p,translationsIndex:w,bc:h},strokeWidth:I,x:n,y:l,elSeries:k,columnGroupIndex:v,seriesGroup:s.globals.seriesGroups[b]},z=null;a.isHorizontal?(z=a.drawStackedBarPaths(e(e({},T),{},{zeroW:u,barHeight:C,yDivision:d})),L=a.series[r][M]/a.invertedYRatio):(z=a.drawStackedColumnPaths(e(e({},T),{},{xDivision:c,barWidth:L,zeroH:g})),C=a.series[r][M]/a.yRatio[w]);var X=a.barHelpers.drawGoalLine({barXPosition:z.barXPosition,barYPosition:z.barYPosition,goalX:z.goalX,goalY:z.goalY,barHeight:C,barWidth:L});X&&S.add(X),l=z.y,n=z.x,m.push(n),y.push(l);var E=a.barHelpers.getPathFillColor(t,r,M,p);k=a.renderSeries({realIndex:p,pathFill:E,j:M,i:r,columnGroupIndex:v,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:l,series:t,barHeight:C,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:S,type:"bar",visibleSeries:0})}s.globals.seriesXvalues[p]=m,s.globals.seriesYvalues[p]=y,a.groupCtx.prevY.push(a.groupCtx.yArrj),a.groupCtx.prevYF.push(a.groupCtx.yArrjF),a.groupCtx.prevYVal.push(a.groupCtx.yArrjVal),a.groupCtx.prevX.push(a.groupCtx.xArrj),a.groupCtx.prevXF.push(a.groupCtx.xArrjF),a.groupCtx.prevXVal.push(a.groupCtx.xArrjVal),o.add(k)},c=0,d=0;c<t.length;c++,d++)h(c,d);return o}},{key:"initialPositions",value:function(t,e,i,a,s,r,o){var n,l,h=this.w;if(this.isHorizontal){a=h.globals.gridHeight/h.globals.dataPoints;var c=h.config.plotOptions.bar.barHeight;n=-1===String(c).indexOf("%")?parseInt(c,10):a*parseInt(c,10)/100,r=h.globals.padHorizontal+(this.isReversed?h.globals.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-n)/2}else{l=i=h.globals.gridWidth/h.globals.dataPoints;var d=h.config.plotOptions.bar.columnWidth;h.globals.isXNumeric&&h.globals.dataPoints>1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf("%")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=h.globals.gridHeight-this.baseLineY[o]-(this.isReversed?h.globals.gridHeight:0),t=h.globals.padHorizontal+(i-l)/2}var g=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:n/g,barWidth:l/g,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,g=this.w,u=n+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,v=0,m=0;m<this.groupCtx.prevXF.length;m++)v+=this.groupCtx.prevXF[m][f];var y;if((y=h.indexOf(g.config.series[x].name))>0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+v-2*(this.isReversed?v:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-v+2*(this.isReversed?v:0)),e=w}else e=r;o=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:u,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:g});return this.barHelpers.barBackground({j:f,i:p,y1:u,y2:a,elSeries:d}),n+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f,b),barXPosition:e,barYPosition:u,x:o,y:n}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,g=e.j,u=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][g];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,v=i+n*r,m=0,y=0;y<this.groupCtx.prevYF.length;y++)m+=isNaN(this.groupCtx.prevYF[y][g])?0:this.groupCtx.prevYF[y][g];var w=d;if(l&&(w=l.indexOf(c.globals.seriesNames[p])),w>0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][g]===c.globals.seriesX[p][g]){var k,A,S,C=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L<C;L++){var P;if(!isNaN(null===(P=this.groupCtx.prevY[w-L])||void 0===P?void 0:P[g])){S=this.groupCtx.prevY[w-L][g];break}}for(var M=1;M<C;M++){var I,T;if((null===(I=this.groupCtx.prevYVal[w-M])||void 0===I?void 0:I[g])<0){A=this.series[d][g]>=0?S-m+2*(this.isReversed?m:0):S;break}if((null===(T=this.groupCtx.prevYVal[w-M])||void 0===T?void 0:T[g])>=0){A=this.series[d][g]>=0?S:S+m-2*(this.isReversed?m:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:A}else b=o;a=this.series[d][g]?b-this.series[d][g]/this.yRatio[f]+2*(this.isReversed?this.series[d][g]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:v,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:g,w:c});return this.barHelpers.barBackground({bc:u,j:g,i:d,x1:v,x2:r,elSeries:h}),i+=s,{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,o,d,g),barXPosition:v,x:c.globals.isXNumeric?i-s:i,y:a}}}]),s}(yt),kt=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i,a){var s=this,r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=new H(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=r.config.plotOptions.bar.horizontal;var h=new y(this.ctx,r);t=h.getLogSeries(t),this.series=t,this.yRatio=h.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var c=o.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),d=function(i){s.isBoxPlot="boxPlot"===r.config.chart.type||"boxPlot"===r.config.series[i].type;var n,h,d,g,u=void 0,p=void 0,f=[],b=[],v=r.globals.comboCharts?a[i]:i,m=s.barHelpers.getGroupIndex(v).columnGroupIndex,y=o.group({class:"apexcharts-series",seriesName:x.escapeString(r.globals.seriesNames[v]),rel:i+1,"data:realIndex":v});s.ctx.series.addCollapsedClassToSeries(y,v),t[i].length>0&&(s.visibleI=s.visibleI+1);var w,k,A=0;s.yRatio.length>1&&(s.yaxisIndex=r.globals.seriesYAxisReverseMap[v][0],A=v);var S=s.barHelpers.initialPositions();p=S.y,w=S.barHeight,h=S.yDivision,g=S.zeroW,u=S.x,k=S.barWidth,n=S.xDivision,d=S.zeroH,b.push(u+k/2);for(var C=o.group({class:"apexcharts-datalabels","data:realIndex":v}),L=function(a){var o=s.barHelpers.getStrokeWidth(i,a,v),c=null,x={indexes:{i:i,j:a,realIndex:v,translationsIndex:A},x:u,y:p,strokeWidth:o,elSeries:y};c=s.isHorizontal?s.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:h,barHeight:w,zeroW:g})):s.drawVerticalBoxPaths(e(e({},x),{},{xDivision:n,barWidth:k,zeroH:d})),p=c.y,u=c.x,a>0&&b.push(u+k/2),f.push(p),c.pathTo.forEach((function(e,n){var h=!s.isBoxPlot&&s.candlestickOptions.wick.useFillColor?c.color[n]:r.globals.stroke.colors[i],d=l.fillPath({seriesNumber:v,dataPointIndex:a,color:c.color[n],value:t[i][a]});s.renderSeries({realIndex:v,pathFill:d,lineFill:h,j:a,i:i,pathFrom:c.pathFrom,pathTo:e,strokeWidth:o,elSeries:y,x:u,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:C,visibleSeries:s.visibleI,type:r.config.chart.type})}))},P=0;P<r.globals.dataPoints;P++)L(P);r.globals.seriesXvalues[v]=b,r.globals.seriesYvalues[v]=f,c.add(y)},g=0;g<t.length;g++)d(g);return c}},{key:"drawVerticalBoxPaths",value:function(t){var e=t.indexes,i=t.x;t.y;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=!0,g=n.config.plotOptions.candlestick.colors.upward,u=n.config.plotOptions.candlestick.colors.downward,p="";this.isBoxPlot&&(p=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var f=this.yRatio[e.translationsIndex],x=e.realIndex,b=this.getOHLCValue(x,c),v=r,y=r;b.o>b.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/f,k=r-k/f,v=r-b.h/f,y=r-b.l/f,A=r-b.m/f);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+"z"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?p:d?[g]:[u]}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,p=this.getOHLCValue(u,c),f=r,x=r,b=Math.min(p.o,p.c),v=Math.max(p.o,p.c),y=p.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,f=r+p.h/g,x=r+p.l/g,y=r+p.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(f,w+s/2)+l.line(f,w+s/2-s/4)+l.line(f,w+s/2+s/4)+l.line(f,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+"z"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(yt),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,"treemap"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l="dark"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.min<a.globals.minY?r.colorScale.min:a.globals.minY,c=r.colorScale.max>a.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new N(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var g=l.offsetX,u=l.offsetY,p=i+g,f=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new m(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h<l.length:h>=0;n?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,p=0;p<l[h].length;p++){var f=this.helpers.getShadeColor(e.config.chart.type,h,p,this.negRange),b=f.color,y=f.colorProps;if("image"===e.config.fill.type)b=new H(this.ctx).fillPath({seriesNumber:h,dataPointIndex:p,opacity:e.globals.hasNegs?y.percent<0?1-(1+y.percent/100):u+y.percent/100:y.percent/100,patternID:x.randomId(),width:e.config.fill.image.width?e.config.fill.image.width:s,height:e.config.fill.image.height?e.config.fill.image.height:r});var w=this.rectRadius,k=i.drawRect(g,o,s,r,w);if(k.attr({cx:g,cy:o}),k.node.classList.add("apexcharts-heatmap-rect"),c.add(k),k.attr({fill:b,i:h,index:h,j:p,val:t[h][p],"stroke-width":this.strokeWidth,stroke:e.config.plotOptions.heatmap.useFillColorAsStroke?b:e.globals.stroke.colors[0],color:b}),this.helpers.addListeners(k),e.config.chart.animations.enabled&&!e.globals.dataChanged){var A=1;e.globals.resized||(A=e.config.chart.animations.speed),this.animateHeatMap(k,g,o,s,r,A)}if(e.globals.dataChanged){var S=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){S=this.dynamicAnim.speed;var C=e.globals.previousPaths[h]&&e.globals.previousPaths[h][p]&&e.globals.previousPaths[h][p].color;C||(C="rgba(255, 255, 255, 0)"),this.animateHeatColor(k,x.isColorHex(C)?C:x.rgb2hex(C),x.isColorHex(b)?b:x.rgb2hex(b),S)}}var L=(0,e.config.dataLabels.formatter)(e.globals.series[h][p],{value:e.globals.series[h][p],seriesIndex:h,dataPointIndex:p,w:e}),P=this.helpers.calculateDataLabels({text:L,x:g+s/2,y:o+r/2,i:h,j:p,colorProps:y,series:l});null!==P&&c.add(P),g+=s}o+=r,a.add(c)}var M=e.globals.yAxisScale[0].result.slice();return e.config.yaxis[0].reversed?M.unshift(""):M.push(""),e.globals.yAxisScale[0].result=M,a}},{key:"animateHeatMap",value:function(t,e,i,a,s,r){var o=new b(this.ctx);o.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){o.animationCompleted(t)}))}},{key:"animateHeatColor",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),Ct=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"drawYAxisTexts",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],o=s.globals.yLabelFormatters[0];return new m(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:o(a,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),t}(),Lt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=Math.min(i.globals.gridWidth,i.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=i.globals.gridWidth/2,"radialBar"===i.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(i.config.plotOptions.pie.endAngle-i.config.plotOptions.pie.startAngle),this.initialAngle=i.config.plotOptions.pie.startAngle%this.fullAngle,i.globals.radialSize=this.defaultSize/2.05-i.config.stroke.width-(i.config.chart.sparkline.enabled?0:i.config.chart.dropShadow.blur),this.donutSize=i.globals.radialSize*parseInt(i.config.plotOptions.pie.donut.size,10)/100,this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return r(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new m(this.ctx);if(this.ret=a.group({class:"apexcharts-pie"}),i.globals.noData)return this.ret;for(var s=0,r=0;r<t.length;r++)s+=x.negToZero(t[r]);var o=[],n=a.group();0===s&&(s=1e-5),t.forEach((function(t){e.maxY=Math.max(e.maxY,t)})),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(this.ret);for(var l=0;l<t.length;l++){var h=this.fullAngle*x.negToZero(t[l])/s;o.push(h),"polarArea"===this.chartType?(o[l]=this.fullAngle/t.length,this.sliceSizes.push(i.globals.radialSize*t[l]/this.maxY)):this.sliceSizes.push(i.globals.radialSize)}if(i.globals.dataChanged){for(var c,d=0,g=0;g<i.globals.previousPaths.length;g++)d+=x.negToZero(i.globals.previousPaths[g]);for(var u=0;u<i.globals.previousPaths.length;u++)c=this.fullAngle*x.negToZero(i.globals.previousPaths[u])/d,this.prevSectorAngleArr.push(c)}this.donutSize<0&&(this.donutSize=0);var p=i.config.plotOptions.pie.customScale,f=i.globals.gridWidth/2,b=i.globals.gridHeight/2,v=f-i.globals.gridWidth/2*p,y=b-i.globals.gridHeight/2*p;if("donut"===this.chartType){var w=a.drawCircle(this.donutSize);w.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),n.add(w)}var k=this.drawArcs(o,t);if(this.sliceLabels.forEach((function(t){k.add(t)})),n.attr({transform:"translate(".concat(v,", ").concat(y,") scale(").concat(p,")")}),n.add(k),this.ret.add(n),this.donutDataLabels.show){var A=this.renderInnerDataLabels(this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show,translateX:v,translateY:y});this.ret.add(A)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(this.ret),this.ret}},{key:"drawArcs",value:function(t,e){var i=this.w,a=new v(this.ctx),s=new m(this.ctx),r=new H(this.ctx),o=s.group({class:"apexcharts-slices"}),n=this.initialAngle,l=this.initialAngle,h=this.initialAngle,c=this.initialAngle;this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0;for(var d=0;d<t.length;d++){var g=s.group({class:"apexcharts-series apexcharts-pie-series",seriesName:x.escapeString(i.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});o.add(g),l=c,h=(n=h)+t[d],c=l+this.prevSectorAngleArr[d];var u=h<n?this.fullAngle+h-n:h-n,p=r.fillPath({seriesNumber:d,size:this.sliceSizes[d],value:e[d]}),f=this.getChangedPath(l,c),b=s.drawPath({d:f,stroke:Array.isArray(this.lineColorArr)?this.lineColorArr[d]:this.lineColorArr,strokeWidth:0,fill:p,fillOpacity:i.config.fill.opacity,classes:"apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(d)});if(b.attr({index:0,j:d}),a.setSelectionFilter(b,0,d),i.config.chart.dropShadow.enabled){var y=i.config.chart.dropShadow;a.dropShadow(b,y,d)}this.addListeners(b,this.donutDataLabels),m.setAttrs(b.node,{"data:angle":u,"data:startAngle":n,"data:strokeWidth":this.strokeWidth,"data:value":e[d]});var w={x:0,y:0};"pie"===this.chartType||"polarArea"===this.chartType?w=x.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize/1.25+i.config.plotOptions.pie.dataLabels.offset,(n+u/2)%this.fullAngle):"donut"===this.chartType&&(w=x.polarToCartesian(this.centerX,this.centerY,(i.globals.radialSize+this.donutSize)/2+i.config.plotOptions.pie.dataLabels.offset,(n+u/2)%this.fullAngle)),g.add(b);var k=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged?this.animBeginArr.push(0):(0===(k=u/this.fullAngle*i.config.chart.animations.speed)&&(k=1),this.animDur=k+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&i.globals.dataChanged?this.animatePaths(b,{size:this.sliceSizes[d],endAngle:h,startAngle:n,prevStartAngle:l,prevEndAngle:c,animateStartingPos:!0,i:d,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:i.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(b,{size:this.sliceSizes[d],endAngle:h,startAngle:n,i:d,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:k}),i.config.plotOptions.pie.expandOnClick&&"polarArea"!==this.chartType&&b.node.addEventListener("mouseup",this.pieClicked.bind(this,d)),void 0!==i.globals.selectedDataPoints[0]&&i.globals.selectedDataPoints[0].indexOf(d)>-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+"%";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabel<t[d]){var L=i.config.dataLabels.formatter;void 0!==L&&(C=L(i.globals.seriesPercent[d][0],{seriesIndex:d,w:i}));var P=i.globals.dataLabels.style.colors[d],M=s.group({class:"apexcharts-datalabels"}),I=s.drawText({x:A,y:S,text:C,textAnchor:"middle",fontSize:i.config.dataLabels.style.fontSize,fontFamily:i.config.dataLabels.style.fontFamily,fontWeight:i.config.dataLabels.style.fontWeight,foreColor:P});if(M.add(I),i.config.dataLabels.dropShadow.enabled){var T=i.config.dataLabels.dropShadow;a.dropShadow(I,T)}I.node.classList.add("apexcharts-pie-label"),i.config.chart.animations.animate&&!1===i.globals.resized&&(I.node.classList.add("apexcharts-pie-label-delay"),I.node.style.animationDelay=i.config.chart.animations.speed/940+"s"),this.sliceLabels.push(M)}}}return o}},{key:"addListeners",value:function(t,e){var i=new m(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,t)),t.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this,t)),this.donutDataLabels.total.showAlways||(t.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,t.node,e)))}},{key:"animatePaths",value:function(t,e){var i=this.w,a=e.endAngle<e.startAngle?this.fullAngle+e.endAngle-e.startAngle:e.endAngle-e.startAngle,s=a,r=e.startAngle,o=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(r=e.prevEndAngle,s=e.prevEndAngle<e.prevStartAngle?this.fullAngle+e.prevEndAngle-e.prevStartAngle:e.prevEndAngle-e.prevStartAngle),e.i===i.config.series.length-1&&(a+o>this.fullAngle?e.endAngle=e.endAngle-(a+o):a+o<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(a+o)))),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(t,r,o,a,s,e)}},{key:"animateArc",value:function(t,e,i,a,s,r){var o,n=this,l=this.w,h=new b(this.ctx),c=r.size;(isNaN(e)||isNaN(s))&&(e=i,s=a,r.dur=0);var d=a,g=i,u=e<i?this.fullAngle+e-i:e-i;l.globals.dataChanged&&r.shouldSetPrevPaths&&r.prevEndAngle&&(o=n.getPiePath({me:n,startAngle:r.prevStartAngle,angle:r.prevEndAngle<r.prevStartAngle?this.fullAngle+r.prevEndAngle-r.prevStartAngle:r.prevEndAngle-r.prevStartAngle,size:c}),t.attr({d:o})),0!==r.dur?t.animate(r.dur,l.globals.easing,r.animBeginArr[r.i]).afterAll((function(){"pie"!==n.chartType&&"donut"!==n.chartType&&"polarArea"!==n.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":n.strokeWidth}),r.i===l.config.series.length-1&&h.animationCompleted(t)})).during((function(l){d=u+(a-u)*l,r.animateStartingPos&&(d=s+(a-s)*l,g=e-s+(i-(e-s))*l),o=n.getPiePath({me:n,startAngle:g,angle:d,size:c}),t.node.setAttribute("data:pathOrig",o),t.attr({d:o})})):(o=n.getPiePath({me:n,startAngle:g,angle:a,size:c}),r.isTrack||(l.globals.animationEnded=!0),t.node.setAttribute("data:pathOrig",o),t.attr({d:o,"stroke-width":n.strokeWidth}))}},{key:"pieClicked",value:function(t){var e,i=this.w,a=this,s=a.sliceSizes[t]+(i.config.plotOptions.pie.expandOnClick?4:0),r=i.globals.dom.Paper.select(".apexcharts-".concat(a.chartType.toLowerCase(),"-slice-").concat(t)).members[0];if("true"!==r.attr("data:pieClicked")){var o=i.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(o,(function(t){t.setAttribute("data:pieClicked","false");var e=t.getAttribute("data:pathOrig");e&&t.setAttribute("d",e)})),i.globals.capturedDataPointIndex=t,r.attr("data:pieClicked","true");var n=parseInt(r.attr("data:startAngle"),10),l=parseInt(r.attr("data:angle"),10);e=a.getPiePath({me:a,startAngle:n,angle:l,size:s}),360!==l&&r.plot(e)}else{r.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(r.node,this.donutDataLabels);var h=r.attr("data:pathOrig");r.attr({d:h})}}},{key:"getChangedPath",value:function(t,e){var i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),i}},{key:"getPiePath",value:function(t){var e,i=t.me,a=t.startAngle,s=t.angle,r=t.size,o=new m(this.ctx),n=a,l=Math.PI*(n-90)/180,h=s+a;Math.ceil(h)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),g=i.centerY+r*Math.sin(l),u=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),b=x.polarToCartesian(i.centerX,i.centerY,i.donutSize,n),v=s>180?1:0,y=["M",d,g,"A",r,r,0,v,1,u,p];return e="donut"===i.chartType?[].concat(y,["L",f.x,f.y,"A",i.donutSize,i.donutSize,0,v,0,b.x,b.y,"L",d,g,"z"]).join(" "):"pie"===i.chartType||"polarArea"===i.chartType?[].concat(y,["L",i.centerX,i.centerY,"L",d,g]).join(" "):[].concat(y).join(" "),o.roundPathCorners(e,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g<h-1;g++){var u=a.drawCircle(c);if(u.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":e.config.plotOptions.polarArea.rings.strokeWidth,stroke:e.config.plotOptions.polarArea.rings.strokeColor}),e.config.yaxis[0].show){var p=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(e.config.yaxis[0].labels.style.fontSize,10)/2,g,l[g]);o.add(p)}r.add(u),c-=d}this.drawSpokes(t),t.add(r),t.add(o)}},{key:"renderInnerDataLabels",value:function(t,e){var i=this.w,a=new m(this.ctx),s=a.group({class:"apexcharts-datalabels-group",transform:"translate(".concat(e.translateX?e.translateX:0,", ").concat(e.translateY?e.translateY:0,") scale(").concat(i.config.plotOptions.pie.customScale,")")}),r=t.total.show;s.node.style.opacity=e.opacity;var o,n,l=e.centerX,h=e.centerY;o=void 0===t.name.color?i.globals.colors[0]:t.name.color;var c=t.name.fontSize,d=t.name.fontFamily,g=t.name.fontWeight;n=void 0===t.value.color?i.config.chart.foreColor:t.value.color;var u=t.value.formatter,p="",f="";if(r?(o=t.total.color,c=t.total.fontSize,d=t.total.fontFamily,g=t.total.fontWeight,f=t.total.label,p=t.total.formatter(i)):1===i.globals.series.length&&(p=u(i.globals.series[0],i),f=i.globals.seriesNames[0]),f&&(f=t.name.formatter(f,t.total.show,i)),t.name.show){var x=a.drawText({x:l,y:h+parseFloat(t.name.offsetY),text:f,textAnchor:"middle",foreColor:o,fontSize:c,fontWeight:g,fontFamily:d});x.node.classList.add("apexcharts-datalabel-label"),s.add(x)}if(t.value.show){var b=t.name.show?parseFloat(t.value.offsetY)+16:t.value.offsetY,v=a.drawText({x:l,y:h+b,text:p,textAnchor:"middle",foreColor:n,fontWeight:t.value.fontWeight,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});v.node.classList.add("apexcharts-datalabel-value"),s.add(v)}return s}},{key:"printInnerLabels",value:function(t,e,i,a){var s,r=this.w;a?s=void 0===t.name.color?r.globals.colors[parseInt(a.parentNode.getAttribute("rel"),10)-1]:t.name.color:r.globals.series.length>1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n<i.globals.series.length;n++)r.push(x.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize,i.config.plotOptions.pie.startAngle+o*n));r.forEach((function(i,r){var o=a.drawLine(i.x,i.y,e.centerX,e.centerY,Array.isArray(s.connectorColors)?s.connectorColors[r]:s.connectorColors);t.add(o)}))}}},{key:"revertDataLabelsInner",value:function(t,e,i){var a=this,s=this.w,r=s.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group"),o=!1,n=s.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area"),l=function(t){var i=t.makeSliceOut,s=t.printLabel;Array.prototype.forEach.call(n,(function(t){"true"===t.getAttribute("data:pieClicked")&&(i&&(o=!0),s&&a.printDataLabelsInner(t,e))}))};if(l({makeSliceOut:!0,printLabel:!1}),e.total.show&&s.globals.series.length>1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(".apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight<i.globals.svgWidth?i.globals.gridHeight+1.5*i.globals.goldenPadding:i.globals.gridWidth,this.isLog=i.config.yaxis[0].logarithmic,this.logBase=i.config.yaxis[0].logBase,this.coreUtils=new y(this.ctx),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,i.globals.maxY,0):i.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):i.globals.minY,this.polygons=i.config.plotOptions.radar.polygons,this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-i.config.chart.dropShadow.blur,i.config.xaxis.labels.show&&(this.size=this.size-i.globals.xAxisLabelsWidth/1.75),void 0!==i.config.plotOptions.radar.size&&(this.size=i.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.yaxisLabelsTextsPos=[]}return r(t,[{key:"draw",value:function(t){var i=this,a=this.w,s=new H(this.ctx),r=[],o=new N(this.ctx);t.length&&(this.dataPointsLen=t[a.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;var n=a.globals.gridWidth/2,l=a.globals.gridHeight/2,h=n+a.config.plotOptions.radar.offsetX,c=l+a.config.plotOptions.radar.offsetY,d=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:"translate(".concat(h||0,", ").concat(c||0,")")}),g=[],u=null,p=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((function(t,n){var l=t.length===a.globals.dataPoints,h=i.graphics.group().attr({class:"apexcharts-series","data:longestSeries":l,seriesName:x.escapeString(a.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});i.dataRadiusOfPercent[n]=[],i.dataRadius[n]=[],i.angleArr[n]=[],t.forEach((function(t,e){var a=Math.abs(i.maxValue-i.minValue);t-=i.minValue,i.isLog&&(t=i.coreUtils.getLogVal(i.logBase,t,0)),i.dataRadiusOfPercent[n][e]=t/a,i.dataRadius[n][e]=i.dataRadiusOfPercent[n][e]*i.size,i.angleArr[n][e]=e*i.disAngle})),g=i.getDataPointsPos(i.dataRadius[n],i.angleArr[n]);var c=i.createPaths(g,{x:0,y:0});u=i.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),p=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":n}),a.globals.delayedElements.push({el:u.node,index:n});var d={i:n,realIndex:n,animationDelay:n,initialSpeed:a.config.chart.animations.speed,dataChangeSpeed:a.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:a.globals.stroke.colors[n],strokeLineCap:a.config.stroke.lineCap},f=null;a.globals.previousPaths.length>0&&(f=i.getPreviousPath(n));for(var b=0;b<c.linePathsTo.length;b++){var m=i.graphics.renderPaths(e(e({},d),{},{pathFrom:null===f?c.linePathsFrom[b]:f,pathTo:c.linePathsTo[b],strokeWidth:Array.isArray(i.strokeWidth)?i.strokeWidth[n]:i.strokeWidth,fill:"none",drawShadow:!1}));h.add(m);var y=s.fillPath({seriesNumber:n}),w=i.graphics.renderPaths(e(e({},d),{},{pathFrom:null===f?c.areaPathsFrom[b]:f,pathTo:c.areaPathsTo[b],strokeWidth:0,fill:y,drawShadow:!1}));if(a.config.chart.dropShadow.enabled){var k=new v(i.ctx),A=a.config.chart.dropShadow;k.dropShadow(w,Object.assign({},A,{noUserSpaceOnUse:!0}),n)}h.add(w)}t.forEach((function(t,s){var r=new D(i.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:n,dataPointIndex:s}),l=i.graphics.drawMarker(g[s].x,g[s].y,r);l.attr("rel",s),l.attr("j",s),l.attr("index",n),l.node.setAttribute("default-marker-size",r.pSize);var c=i.graphics.group({class:"apexcharts-series-markers"});c&&c.add(l),u.add(c),h.add(u);var d=a.config.dataLabels;if(d.enabled){var f=d.formatter(a.globals.series[n][s],{seriesIndex:n,dataPointIndex:s,w:a});o.plotDataLabelsText({x:g[s].x,y:g[s].y,text:f,textAnchor:"middle",i:n,j:n,parent:p,offsetCorrection:!1,dataLabelsConfig:e({},d)})}h.add(p)})),r.push(h)})),this.drawPolygons({parent:d}),a.config.xaxis.labels.show){var f=this.drawXAxisTexts();d.add(f)}return r.forEach((function(t){d.add(t)})),d.add(this.yaxisLabels),d}},{key:"drawPolygons",value:function(t){for(var e=this,i=this.w,a=t.parent,s=new Ct(this.ctx),r=i.globals.yAxisScale[0].result.reverse(),o=r.length,n=[],l=this.size/(o-1),h=0;h<o;h++)n[h]=l*h;n.reverse();var c=[],d=[];n.forEach((function(t,i){var a=x.getPolygonPos(t,e.dataPointsLen),s="";a.forEach((function(t,a){if(0===i){var r=e.graphics.drawLine(t.x,t.y,0,0,Array.isArray(e.polygons.connectorColors)?e.polygons.connectorColors[a]:e.polygons.connectorColors);d.push(r)}0===a&&e.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),s+=t.x+","+t.y+" "})),c.push(s)})),c.forEach((function(t,s){var r=e.polygons.strokeColors,o=e.polygons.strokeWidth,n=e.graphics.drawPolygon(t,Array.isArray(r)?r[s]:r,Array.isArray(o)?o[s]:o,i.globals.radarPolygons.fill.colors[s]);a.add(n)})),d.forEach((function(t){a.add(t)})),i.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((function(t,i){var a=s.drawYAxisTexts(t.x,t.y,i,r[i]);e.yaxisLabels.add(a)}))}},{key:"drawXAxisTexts",value:function(){var t=this,i=this.w,a=i.config.xaxis.labels,s=this.graphics.group({class:"apexcharts-xaxis"}),r=x.getPolygonPos(this.size,this.dataPointsLen);return i.globals.labels.forEach((function(o,n){var l=i.config.xaxis.labels.formatter,h=new N(t.ctx);if(r[n]){var c=t.getTextPos(r[n],t.size),d=l(o,{seriesIndex:-1,dataPointIndex:n,w:i});h.plotDataLabelsText({x:c.newX,y:c.newY,text:d,textAnchor:c.textAnchor,i:n,j:n,parent:s,color:Array.isArray(a.style.colors)&&a.style.colors[n]?a.style.colors[n]:"#a8a8a8",dataLabelsConfig:e({textAnchor:c.textAnchor,dropShadow:{enabled:!1}},a),offsetCorrection:!1})}})),s}},{key:"createPaths",value:function(t,e){var i=this,a=[],s=[],r=[],o=[];if(t.length){s=[this.graphics.move(e.x,e.y)],o=[this.graphics.move(e.x,e.y)];var n=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((function(e,a){n+=i.graphics.line(e.x,e.y),l+=i.graphics.line(e.x,e.y),a===t.length-1&&(n+="Z",l+="Z")})),a.push(n),r.push(l)}return{linePathsFrom:s,linePathsTo:a,areaPathsFrom:o,areaPathsTo:r}}},{key:"getTextPos",value:function(t,e){var i="middle",a=t.x,s=t.y;return Math.abs(t.x)>=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a<e.globals.previousPaths.length;a++){var s=e.globals.previousPaths[a];s.paths.length>0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s<i;s++){var r={};r.x=t[s]*Math.sin(e[s]),r.y=-t[s]*Math.cos(e[s]),a.push(r)}return a}}]),t}(),Mt=function(t){n(i,t);var e=d(i);function i(t){var s;a(this,i),(s=e.call(this,t)).ctx=t,s.w=t.w,s.animBeginArr=[0],s.animDur=0;var r=s.w;return s.startAngle=r.config.plotOptions.radialBar.startAngle,s.endAngle=r.config.plotOptions.radialBar.endAngle,s.totalAngle=Math.abs(r.config.plotOptions.radialBar.endAngle-r.config.plotOptions.radialBar.startAngle),s.trackStartAngle=r.config.plotOptions.radialBar.track.startAngle,s.trackEndAngle=r.config.plotOptions.radialBar.track.endAngle,s.barLabels=s.w.config.plotOptions.radialBar.barLabels,s.donutDataLabels=s.w.config.plotOptions.radialBar.dataLabels,s.radialDataLabels=s.donutDataLabels,s.trackStartAngle||(s.trackStartAngle=s.startAngle),s.trackEndAngle||(s.trackEndAngle=s.endAngle),360===s.endAngle&&(s.endAngle=359.99),s.margin=parseInt(r.config.plotOptions.radialBar.track.margin,10),s.onBarLabelClick=s.onBarLabelClick.bind(c(s)),s}return r(i,[{key:"draw",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-radialbar"});if(e.globals.noData)return a;var s=i.group(),r=this.defaultSize/2,o=e.globals.gridWidth/2,n=this.defaultSize/2.05;e.config.chart.sparkline.enabled||(n=n-e.config.stroke.width-e.config.chart.dropShadow.blur);var l=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var h=this.drawTracks({size:n,centerX:o,centerY:r,colorArr:l,series:t});s.add(h)}var c=this.drawArcs({size:n,centerX:o,centerY:r,colorArr:l,series:t}),d=360;e.config.plotOptions.radialBar.startAngle<0&&(d=this.totalAngle);var g=(360-d)/360;if(e.globals.radialSize=n-n*g,this.radialDataLabels.value.show){var u=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);e.globals.radialSize+=u*g}return s.add(c.g),"front"===e.config.plotOptions.radialBar.hollow.position&&(c.g.add(c.elHollow),c.dataLabels&&c.g.add(c.dataLabels)),a.add(s),a}},{key:"drawTracks",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:"apexcharts-tracks"}),s=new v(this.ctx),r=new H(this.ctx),o=this.getStrokeWidth(t);t.size=t.size-o/2;for(var n=0;n<t.series.length;n++){var l=i.group({class:"apexcharts-radialbar-track apexcharts-track"});a.add(l),l.attr({rel:n+1}),t.size=t.size-o-this.margin;var h=e.config.plotOptions.radialBar.track,c=r.fillPath({seriesNumber:0,size:t.size,fillColors:Array.isArray(h.background)?h.background[n]:h.background,solid:!0}),d=this.trackStartAngle,g=this.trackEndAngle;Math.abs(g)+Math.abs(d)>=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:"",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(u,p)}l.add(u),u.attr("id","apexcharts-radialbarTrack-"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new m(this.ctx),a=new H(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var p=!1;e.config.plotOptions.radialBar.inverseOrder&&(p=!0);for(var f=p?t.series.length-1:0;p?f>=0:f<t.series.length;p?f--:f++){var b=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:x.escapeString(e.globals.seriesNames[f])});r.add(b),b.attr({rel:f+1,"data:realIndex":f}),this.ctx.series.addCollapsedClassToSeries(b,f),t.size=t.size-o-this.margin;var y=a.fillPath({seriesNumber:f,size:t.size,value:t.series[f]}),w=this.startAngle,k=void 0,A=x.negToZero(t.series[f]>100?100:t.series[f])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[f])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[f]:e.config.stroke.dashArray,M=i.drawPath({d:"",stroke:y,strokeWidth:o,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+f,strokeDashArray:P});if(m.setAttrs(M.node,{"data:angle":L,"data:value":t.series[f]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;s.dropShadow(M,I,f)}if(s.setSelectionFilter(M,0,f),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:f}),this.barLabels.enabled){var T=x.polarToCartesian(t.centerX,t.centerY,t.size,w),z=this.barLabels.formatter(e.globals.seriesNames[f],{seriesIndex:f,w:e}),X=["apexcharts-radialbar-label"];this.barLabels.onClick||X.push("apexcharts-no-click");var E=this.barLabels.useSeriesColors?e.globals.colors[f]:e.config.chart.foreColor;E||(E=e.config.chart.foreColor);var Y=T.x-this.barLabels.margin,F=T.y,R=i.drawText({x:Y,y:F,text:z,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:E,cssClass:X.join(" ")});R.on("click",this.onBarLabelClick),R.attr({rel:f+1}),0!==w&&R.attr({"transform-origin":"".concat(Y," ").concat(F),transform:"rotate(".concat(w," 0 0)")}),b.add(R)}var D=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(D=e.config.chart.animations.speed),e.globals.dataChanged&&(D=e.config.chart.animations.dynamicAnimation.speed),this.animDur=D/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:f,totalItems:2,animBeginArr:this.animBeginArr,dur:D,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:"drawHollow",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new H(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:"pattern".concat(s.globals.cuid).concat(o)}),a="url(#pattern".concat(s.globals.cuid).concat(o,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(t){var e=parseInt(t.target.getAttribute("rel"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),i}(Lt),It=function(t){n(s,t);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:"draw",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),n=0;n<t.length;n++){var l,h,c,d,g=void 0,u=void 0,p=a.globals.comboCharts?i[n]:n,f=this.barHelpers.getGroupIndex(p).columnGroupIndex,b=s.group({class:"apexcharts-series",seriesName:x.escapeString(a.globals.seriesNames[p]),rel:n+1,"data:realIndex":p});this.ctx.series.addCollapsedClassToSeries(b,p),t[n].length>0&&(this.visibleI=this.visibleI+1);var v=0,y=0,w=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p);var k=this.barHelpers.initialPositions();u=k.y,d=k.zeroW,g=k.x,y=k.barWidth,v=k.barHeight,l=k.xDivision,h=k.yDivision,c=k.zeroH;for(var A=s.group({class:"apexcharts-datalabels","data:realIndex":p}),S=s.group({class:"apexcharts-rangebar-goals-markers"}),C=0;C<a.globals.dataPoints;C++){var L,P=this.barHelpers.getStrokeWidth(n,C,p),M=this.seriesRangeStart[n][C],I=this.seriesRangeEnd[n][C],T=null,z=null,X=null,E={x:g,y:u,strokeWidth:P,elSeries:b},Y=this.seriesLen;if(a.config.plotOptions.bar.rangeBarGroupRows&&(Y=1),void 0===a.config.series[n].data[C])break;if(this.isHorizontal){X=u+v*this.visibleI;var F=(h-v*Y)/2;if(a.config.series[n].data[C].x){var R=this.detectOverlappingBars({i:n,j:C,barYPosition:X,srty:F,barHeight:v,yDivision:h,initPositions:k});v=R.barHeight,X=R.barYPosition}y=(T=this.drawRangeBarPaths(e({indexes:{i:n,j:C,realIndex:p},barHeight:v,barYPosition:X,zeroW:d,yDivision:h,y1:M,y2:I},E))).barWidth}else{a.globals.isXNumeric&&(g=(a.globals.seriesX[n][C]-a.globals.minX)/this.xRatio-y/2),z=g+y*this.visibleI;var H=(l-y*Y)/2;if(a.config.series[n].data[C].x){var D=this.detectOverlappingBars({i:n,j:C,barXPosition:z,srtx:H,barWidth:y,xDivision:l,initPositions:k});y=D.barWidth,z=D.barXPosition}v=(T=this.drawRangeColumnPaths(e({indexes:{i:n,j:C,realIndex:p,translationsIndex:w},barWidth:y,barXPosition:z,zeroH:c,xDivision:l},E))).barHeight}var O=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:X,goalX:T.goalX,goalY:T.goalY,barHeight:v,barWidth:y});O&&S.add(O),u=T.y,g=T.x;var N=this.barHelpers.getPathFillColor(t,n,C,p),W=a.globals.stroke.colors[p];this.renderSeries((o(L={realIndex:p,pathFill:N,lineFill:W,j:C,i:n,x:g,y:u,y1:M,y2:I,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:P,elSeries:b,series:t,barHeight:v,barWidth:y,barXPosition:z,barYPosition:X},"barWidth",y),o(L,"columnGroupIndex",f),o(L,"elDataLabelsWrap",A),o(L,"elGoalsMarkers",S),o(L,"visibleSeries",this.visibleI),o(L,"type","rangebar"),L))}r.add(b)}return r}},{key:"detectOverlappingBars",value:function(t){var e=t.i,i=t.j,a=t.barYPosition,s=t.barXPosition,r=t.srty,o=t.srtx,n=t.barHeight,l=t.barWidth,h=t.yDivision,c=t.xDivision,d=t.initPositions,g=this.w,u=[],p=g.config.series[e].data[i].rangeName,f=g.config.series[e].data[i].x,x=Array.isArray(f)?f.join(" "):f,b=g.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(x),v=g.globals.seriesRange[e].findIndex((function(t){return t.x===x&&t.overlaps.length>0}));return this.isHorizontal?(a=g.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+n*this.visibleI+h*b,v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(a=(n=d.barHeight/u.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+n*(this.visibleI+u.indexOf(p))+h*b)):(b>-1&&!g.globals.timescaleLabels.length&&(s=g.config.plotOptions.bar.rangeBarGroupRows?o+c*b:o+l*this.visibleI+c*b),v>-1&&!g.config.plotOptions.bar.rangeBarOverlap&&(u=g.globals.seriesRange[e][v].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/u.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+u.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:n,barWidth:l}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,o=t.zeroH,n=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,g=this.yRatio[d],u=this.getRangeValue(c,h),p=Math.min(u.start,u.end),f=Math.max(u.start,u.end);void 0===this.series[l][h]||null===this.series[l][h]?p=o:(p=o-p/g,f=o-f/g);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:n});if(n.globals.isXNumeric){var v=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=v.x,r=v.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:u.start<0&&u.end<0?p:f,goalY:this.barHelpers.getGoalValues("y",null,o,l,h,d),barXPosition:r}}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,g=l+a/this.invertedYRatio,u=l+s/this.invertedYRatio,p=this.getRangeValue(c,d),f=Math.abs(u-g),x=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:g,x2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?g:u,goalX:this.barHelpers.getGoalValues("x",l,null,c,d),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(yt),Tt=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r<s.globals.previousPaths.length;r++){var o=s.globals.previousPaths[r];("line"===o.type||"area"===o.type)&&o.paths.length>0&&parseInt(o.realIndex,10)===parseInt(a,10)&&("line"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i,a,s=t.i,r=t.realIndex,o=t.series,n=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=o[s])||void 0===a?void 0:a[0]))n=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-o[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?o[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===o[s][0])for(var g=s-1;g>=0;g--)if(null!==o[g][0]&&void 0!==o[g][0]){n=l=this.lineCtx.prevSeriesY[g][0];break}return{prevY:n,lineYPosition:l}}}]),t}(),zt=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Yt(i,a),r=1,o=t.length-1;r<o;r++)i=a,a=t[r+1],e[r]=.5*(s+(s=Yt(i,a)));return e[r]=s,e}(t),o=t.length-1,n=[],l=0;l<o;l++)a=Yt(t[l],t[l+1]),Math.abs(a)<1e-6?r[l]=r[l+1]=0:(s=(e=r[l]/a)*e+(i=r[l+1]/a)*i)>9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=o;h++)s=(t[Math.min(o,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),n.push([s||0,r[h]*s||0]);return n},Xt=function(t){var e=zt(t),i=t[1],a=t[0],s=[],r=e[1],o=e[0];s.push(a,[a[0]+o[0],a[1]+o[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var n=2,l=e.length;n<l;n++){var h=t[n],c=e[n];s.push([h[0]-c[0],h[1]-c[1],h[0],h[1]])}return s},Et=function(t,e,i){var a=t.slice(e,i);if(e){if(i-e>1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Yt(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ft=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new O(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Tt(this),this.markers=new D(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:"draw",value:function(t,i,a,s){var r,o=this.w,n=new m(this.ctx),l=o.globals.comboCharts?i:o.config.chart.type,h=n.group({class:"apexcharts-".concat(l,"-series apexcharts-plot-series")}),c=new y(this.ctx,o);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=c.getLogSeries(t),this.yRatio=c.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var d=[],g=0;g<t.length;g++){t=this.lineHelpers.sameValueSeriesFix(g,t);var u=o.globals.comboCharts?a[g]:g,p=this.yRatio.length>1?u:0;this._initSerieVariables(t,g,u);var f=[],x=[],b=[],v=o.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,u),o.globals.isXNumeric&&o.globals.seriesX.length>0&&(v=(o.globals.seriesX[u][0]-o.globals.minX)/this.xRatio),b.push(v);var w,k=v,A=void 0,S=k,C=this.zeroY,L=this.zeroY;C=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:t,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,"monotoneCubic"===o.config.stroke.curve&&null===t[g][0]?f.push(null):f.push(C),w=C;"rangeArea"===l&&(A=L=this.lineHelpers.determineFirstPrevY({i:g,realIndex:u,series:s,prevY:L,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?L:null));var P=this._calculatePathsFrom({type:l,series:t,i:g,realIndex:u,translationsIndex:p,prevX:S,prevY:C,prevY2:L}),M=[f[0]],I=[x[0]],T={type:l,series:t,realIndex:u,translationsIndex:p,i:g,x:v,y:1,pX:k,pY:w,pathsFrom:P,linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:s},z=this._iterateOverDataPoints(e(e({},T),{},{iterations:"rangeArea"===l?t[g].length-1:void 0,isRangeStart:!0}));if("rangeArea"===l){for(var X=this._calculatePathsFrom({series:s,i:g,realIndex:u,prevX:S,prevY:L}),E=this._iterateOverDataPoints(e(e({},T),{},{series:s,xArrj:[v],yArrj:M,y2Arrj:I,pY:A,areaPaths:z.areaPaths,pathsFrom:X,iterations:s[g].length-1,isRangeStart:!1})),Y=z.linePaths.length/2,F=0;F<Y;F++)z.linePaths[F]=E.linePaths[F+Y]+z.linePaths[F];z.linePaths.splice(Y),z.pathFromLine=E.pathFromLine+z.pathFromLine}else z.pathFromArea+=n.line(0,this.zeroY);this._handlePaths({type:l,realIndex:u,i:g,paths:z}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),d.push(this.elSeries)}if(void 0!==(null===(r=o.config.series[0])||void 0===r?void 0:r.zIndex)&&d.sort((function(t,e){return Number(t.node.getAttribute("zIndex"))-Number(e.node.getAttribute("zIndex"))})),o.config.chart.stacked)for(var R=d.length-1;R>=0;R--)h.add(d[R]);else for(var H=0;H<d.length;H++)h.add(d[H]);return h}},{key:"_initSerieVariables",value:function(t,e,i){var a=this.w,s=new m(this.ctx);this.xDivision=a.globals.gridWidth/(a.globals.dataPoints-("on"===a.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(a.config.stroke.width)?a.config.stroke.width[i]:a.config.stroke.width;var r=0;this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":o,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,g=t.prevY2,u=this.w,p=new m(this.ctx);if(null===o[n][0]){for(var f=0;f<o[n].length;f++)if(null!==o[n][f]){c=this.xDivision*f,d=this.zeroY-o[n][f]/this.yRatio[h],e=p.move(c,d),i=p.move(c,this.areaBottomY);break}}else e=p.move(c,d),"rangeArea"===r&&(e=p.move(c,g)+p.line(c,d)),i=p.move(c,this.areaBottomY)+p.line(c,d);if(a=p.move(0,this.zeroY)+p.line(0,this.zeroY),s=p.move(0,this.zeroY)+p.line(0,this.zeroY),u.globals.previousPaths.length>0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new H(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&"rangeArea"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(i)};if("area"===i)for(var p=l.fillPath({seriesNumber:a}),f=0;f<r.areaPaths.length;f++){var x=n.renderPaths(e(e({},u),{},{pathFrom:r.pathFromArea,pathTo:r.areaPaths[f],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:p}));this.elSeries.add(x)}if(o.config.stroke.show&&!this.pointsChart){var b=null;if("line"===i)b=l.fillPath({seriesNumber:a,i:s});else if("solid"===o.config.stroke.fill.type)b=o.globals.stroke.colors[a];else{var v=o.config.fill;o.config.fill=o.config.stroke.fill,b=l.fillPath({seriesNumber:a,i:s}),o.config.fill=v}for(var y=0;y<r.linePaths.length;y++){var w=b;"rangeArea"===i&&(w=l.fillPath({seriesNumber:a}));var k=e(e({},u),{},{pathFrom:r.pathFromLine,pathTo:r.linePaths[y],stroke:b,strokeWidth:this.strokeWidth,strokeLineCap:o.config.stroke.lineCap,fill:"rangeArea"===i?w:"none"}),A=n.renderPaths(k);if(this.elSeries.add(A),A.attr("fill-rule","evenodd"),h.count>0&&"rangeArea"!==i){var S=n.renderPaths(k);S.node.setAttribute("stroke-dasharray",h.dashArray),h.strokeWidth&&S.node.setAttribute("stroke-width",h.strokeWidth),this.elSeries.add(S),S.attr("clip-path","url(#forecastMask".concat(o.globals.cuid,")")),A.attr("clip-path","url(#nonForecastMask".concat(o.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e,i,a=this,s=t.type,r=t.series,o=t.iterations,n=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,g=t.pX,u=t.pY,p=t.pathsFrom,f=t.linePaths,b=t.areaPaths,v=t.seriesIndex,y=t.lineYPosition,w=t.xArrj,k=t.yArrj,A=t.y2Arrj,S=t.isRangeStart,C=t.seriesRangeEnd,L=this.w,P=new m(this.ctx),M=this.yRatio,I=p.prevY,T=p.linePath,z=p.areaPath,X=p.pathFromLine,E=p.pathFromArea,Y=x.isNumber(L.globals.minYArr[n])?L.globals.minYArr[n]:L.globals.minY;o||(o=L.globals.dataPoints>1?L.globals.dataPoints-1:L.globals.dataPoints);var F=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},R=d,H=L.config.chart.stacked&&!L.globals.comboCharts||L.config.chart.stacked&&L.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[n])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[n])||void 0===i?void 0:i.type)),D=L.config.stroke.curve;Array.isArray(D)&&(D=Array.isArray(v)?D[v[h]]:D[h]);for(var O,N=0,W=0;W<o;W++){var B=void 0===r[h][W+1]||null===r[h][W+1];if(L.globals.isXNumeric){var G=L.globals.seriesX[n][W+1];void 0===L.globals.seriesX[n][W+1]&&(G=L.globals.seriesX[n][o-1]),c=(G-L.globals.minX)/this.xRatio}else c+=this.xDivision;if(H)if(h>0&&L.globals.collapsedSeries.length<L.config.series.length-1){y=this.prevSeriesY[function(t){for(var e=t;e>0;e--){if(!(L.globals.collapsedSeriesIndices.indexOf((null==v?void 0:v[e])||e)>-1))return e;e--}return 0}(h-1)][W+1]}else y=this.zeroY;else y=this.zeroY;B?d=F(Y,y):(d=F(r[h][W+1],y),"rangeArea"===s&&(R=F(C[h][W+1],y))),w.push(c),!B||"smooth"!==L.config.stroke.curve&&"monotoneCubic"!==L.config.stroke.curve?(k.push(d),A.push(R)):(k.push(null),A.push(null));var V=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:n,i:h,j:W,prevY:I}),j=this._createPaths({type:s,series:r,i:h,realIndex:n,j:W,x:c,y:d,y2:R,xArrj:w,yArrj:k,y2Arrj:A,pX:g,pY:u,pathState:N,segmentStartX:O,linePath:T,areaPath:z,linePaths:f,areaPaths:b,curve:D,isRangeStart:S});b=j.areaPaths,f=j.linePaths,g=j.pX,u=j.pY,N=j.pathState,O=j.segmentStartX,z=j.areaPath,T=j.linePath,!this.appendPathFrom||"monotoneCubic"===D&&"rangeArea"===s||(X+=P.line(c,this.zeroY),E+=P.line(c,this.zeroY)),this.handleNullDataPoints(r,V,h,W,n),this._handleMarkersAndLabels({type:s,pointsPos:V,i:h,j:W,realIndex:n,isRangeStart:S})}return{yArrj:k,xArrj:w,pathFromArea:E,areaPaths:b,pathFromLine:X,linePaths:f,linePath:T,areaPath:z}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new N(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s=t.j,r=t.x,o=t.y,n=t.xArrj,l=t.yArrj,h=t.y2,c=t.y2Arrj,d=t.pX,g=t.pY,u=t.pathState,p=t.segmentStartX,f=t.linePath,x=t.areaPath,b=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart;this.w;var k,A=new m(this.ctx),S=this.areaBottomY,C="rangeArea"===e,L="rangeArea"===e&&w;switch(y){case"monotoneCubic":var P=w?l:c;switch(u){case 0:if(null===P[s+1])break;u=1;case 1:if(!(C?n.length===i[a].length:s===i[a].length-2))break;case 2:var M=w?n:n.slice().reverse(),I=w?P:P.slice().reverse(),T=(k=I,M.map((function(t,e){return[t,k[e]]})).filter((function(t){return null!==t[1]}))),z=T.length>1?Xt(T):T,X=[];C&&(L?v=T:X=v.reverse());var E=0,Y=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s<i.length;r+=i[s++])a[s]=Et(e,r,r+i[s]);return a}(I,z).forEach((function(t){E++;var e=function(t){for(var e="",i=0;i<t.length;i++){var a=t[i],s=a.length;s>4?(e+="C".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]),e+=", ".concat(a[4],", ").concat(a[5])):s>2&&(e+="S".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]))}return e}(t),i=Y,a=(Y+=t.length)-1;L?f=A.move(T[i][0],T[i][1])+e:C?f=A.move(X[i][0],X[i][1])+A.line(T[i][0],T[i][1])+e+A.line(X[a][0],X[a][1]):(f=A.move(T[i][0],T[i][1])+e,x=f+A.line(T[a][0],S)+A.line(T[i][0],S)+"z",v.push(x)),b.push(f)})),C&&E>1&&!L){var F=b.slice(E).reverse();b.splice(E),F.forEach((function(t){return b.push(t)}))}u=0}break;case"smooth":var R=.35*(r-d);if(null===i[a][s])u=0;else switch(u){case 0:if(p=d,f=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s<i[a].length-2){var H=A.curve(d+R,g,r-R,o,r,o);f+=H,x+=H;break}case 1:if(null===i[a][s+1])f+=L?A.line(d,h):A.move(d,g),x+=A.line(d,S)+A.line(p,S)+"z",b.push(f),v.push(x);else{var D=A.curve(d+R,g,r-R,o,r,o);f+=D,x+=D,s>=i[a].length-2&&(L&&(f+=A.curve(r,o,r,o,r,h)+A.move(r,h)),x+=A.curve(r,o,r,o,r,S)+A.line(p,S)+"z",b.push(f),v.push(x))}}d=r,g=o;break;default:var O=function(t,e,i){var a=[];switch(t){case"stepline":a=A.line(e,null,"H")+A.line(null,i,"V");break;case"linestep":a=A.line(null,i,"V")+A.line(e,null,"H");break;case"straight":a=A.line(e,i)}return a};if(null===i[a][s])u=0;else switch(u){case 0:if(p=d,f=L?A.move(d,c[s])+A.line(d,g):A.move(d,g),x=A.move(d,g),u=1,s<i[a].length-2){var N=O(y,r,o);f+=N,x+=N;break}case 1:if(null===i[a][s+1])f+=L?A.line(d,h):A.move(d,g),x+=A.line(d,S)+A.line(p,S)+"z",b.push(f),v.push(x);else{var W=O(y,r,o);f+=W,x+=W,s>=i[a].length-2&&(L&&(f+=A.line(r,h)),x+=A.line(r,S)+A.line(p,S)+"z",b.push(f),v.push(x))}}d=r,g=o}return{linePaths:b,areaPaths:v,pX:d,pY:g,pathState:u,segmentStartX:p,linePath:f,areaPath:x}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.strokeWidth-r.config.markers.strokeWidth/2;o>0||(o=0);var n=this.markers.plotChartMarkers(e,s,a+1,o,!0);null!==n&&this.elPointsMain.add(n)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e<t.length;e++)i.push([a,s,a+o,s+t[e]/o]),s+=t[e]/o;else for(e=0;e<t.length;e++)i.push([a,s,a+t[e]/n,s+n]),a+=t[e]/n;return i},this.cutArea=function(e){var i;if(this.width>=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i<t.length;i++)a[i]=t[i]*s;return a}(e,a*s),[],new t(o,n,a,s),[]);return function(t){var e,i,a=[];for(e=0;e<t.length;e++)for(i=0;i<t[e].length;i++)a.push(t[e][i]);return a}(l)}function i(t,e,s,o){var n,l,h;if(0!==t.length)return n=s.shortestEdge(),function(t,e,i){var s;if(0===t.length)return!0;(s=t.slice()).push(e);var r=a(t,i),o=a(s,i);return r>=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;e<t.length;e++)i+=t[e];return i}function o(t){var e,i=0;if(s(t[0]))for(e=0;e<t.length;e++)i+=o(t[e]);else i=r(t);return i}return function t(i,a,r,n,l){n=void 0===n?0:n,l=void 0===l?0:l;var h,c,d=[],g=[];if(s(i[0])){for(c=0;c<i.length;c++)d[c]=o(i[c]);for(h=e(d,a,r,n,l),c=0;c<i.length;c++)g.push(t(i[c],h[c][2]-h[c][0],h[c][3]-h[c][1],h[c][0],h[c][1]))}else g=e(i,a,r,n,l);return g}}();var Rt,Ht,Dt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.strokeWidth=this.w.config.stroke.width,this.helpers=new At(e),this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.labels=[]}return r(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=new H(this.ctx),r=a.group({class:"apexcharts-treemap"});if(i.globals.noData)return r;var o=[];return t.forEach((function(t){var e=t.map((function(t){return Math.abs(t)}));o.push(e)})),this.negRange=this.helpers.checkColorRange(),i.config.series.forEach((function(t,i){t.data.forEach((function(t){Array.isArray(e.labels[i])||(e.labels[i]=[]),e.labels[i].push(t.x)}))})),window.TreemapSquared.generate(o,i.globals.gridWidth,i.globals.gridHeight).forEach((function(o,n){var l=a.group({class:"apexcharts-series apexcharts-treemap-series",seriesName:x.escapeString(i.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});if(i.config.chart.dropShadow.enabled){var h=i.config.chart.dropShadow;new v(e.ctx).dropShadow(r,h,n)}var c=a.group({class:"apexcharts-data-labels"});o.forEach((function(r,o){var h=r[0],c=r[1],d=r[2],g=r[3],u=a.drawRect(h,c,d-h,g-c,i.config.plotOptions.treemap.borderRadius,"#fff",1,e.strokeWidth,i.config.plotOptions.treemap.useFillColorAsStroke?f:i.globals.stroke.colors[n]);u.attr({cx:h,cy:c,index:n,i:n,j:o,width:d-h,height:g-c});var p=e.helpers.getShadeColor(i.config.chart.type,n,o,e.negRange),f=p.color;void 0!==i.config.series[n].data[o]&&i.config.series[n].data[o].fillColor&&(f=i.config.series[n].data[o].fillColor);var x=s.fillPath({color:f,seriesNumber:n,dataPointIndex:o});u.node.classList.add("apexcharts-treemap-rect"),u.attr({fill:x}),e.helpers.addListeners(u);var b={x:h+(d-h)/2,y:c+(g-c)/2,width:0,height:0},v={x:h,y:c,width:d-h,height:g-c};if(i.config.chart.animations.enabled&&!i.globals.dataChanged){var m=1;i.globals.resized||(m=i.config.chart.animations.speed),e.animateTreemap(u,b,v,m)}if(i.globals.dataChanged){var y=1;e.dynamicAnim.enabled&&i.globals.shouldAnimate&&(y=e.dynamicAnim.speed,i.globals.previousPaths[n]&&i.globals.previousPaths[n][o]&&i.globals.previousPaths[n][o].rect&&(b=i.globals.previousPaths[n][o].rect),e.animateTreemap(u,b,v,y))}var w=e.getFontSize(r),k=i.config.dataLabels.formatter(e.labels[n][o],{value:i.globals.series[n][o],seriesIndex:n,dataPointIndex:o,w:i});"truncate"===i.config.plotOptions.treemap.dataLabels.format&&(w=parseInt(i.config.dataLabels.style.fontSize,10),k=e.truncateLabels(k,w,h,c,d,g));var A=e.helpers.calculateDataLabels({text:k,x:(h+d)/2,y:(c+g)/2+e.strokeWidth/2+w/3,i:n,j:o,colorProps:p,fontSize:w,series:t});i.config.dataLabels.enabled&&A&&e.rotateToFitLabel(A,w,k,h,c,d,g),l.add(u),null!==A&&l.add(A)})),l.add(c),r.add(l)})),r}},{key:"getFontSize",value:function(t){var e=this.w;var i,a,s,r,o=function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=e[i].length;return a}(this.labels)/function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=1;return a}(this.labels);return i=t[2]-t[0],a=t[3]-t[1],s=i*a,r=Math.pow(s,.5),Math.min(r/o,parseInt(e.config.dataLabels.style.fontSize,10))}},{key:"rotateToFitLabel",value:function(t,e,i,a,s,r,o){var n=new m(this.ctx),l=n.getTextRects(i,e);if(l.width+this.w.config.stroke.width+5>r-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,") translate(").concat(l.height/3,")"))}}},{key:"truncateLabels",value:function(t,e,i,a,s,r){var o=new m(this.ctx),n=o.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=o.getTextBasedOnMaxWidth({text:t,maxWidth:n,fontSize:e});return t.length!==l.length&&n/e<5?"":l}},{key:"animateTreemap",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ot=86400,Nt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:"calculateTimeScaleTicks",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new A(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),p=Math.floor(o*Ot),f=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:p,numberOfMinutes:u,numberOfHours:g,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(m);break;case"months":case"half_year":this.generateMonthScale(m);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(m);break;case"hours":this.generateHourScale(m);break;case"minutes_fives":case"minutes":this.generateMinuteScale(m);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?e(e({},i),{},{value:t.value}):"minute"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):"second"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case"years":"year"===t.unit&&(o=!0);break;case"half_year":e=7,"year"===t.unit&&(o=!0);break;case"months":e=1,"year"===t.unit&&(o=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(o=!0),30===r&&(n=!0);break;case"months_days":e=10,"month"===t.unit&&(o=!0),30===r&&(n=!0);break;case"week_days":e=8,"month"===t.unit&&(o=!0);break;case"days":e=1,"month"===t.unit&&(o=!0);break;case"hours":"day"===t.unit&&(o=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(n=!0);break;case"seconds_tens":r%10!=0&&(n=!0)}if("hours"===a.tickInterval||"minutes_fives"===a.tickInterval||"seconds_tens"===a.tickInterval||"seconds_fives"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new A(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u<r;u++)d++,g=l.determineDaysOfYear(d-1)*s+g,this.timeScaleArray.push({position:g,value:d,unit:h,year:d,month:1})}},{key:"generateMonthScale",value:function(t){var e=t.firstVal,i=t.currentMonthDate,a=t.currentMonth,s=t.currentYear,r=t.daysWidthOnXAxis,o=t.numberOfMonths,n=a,l=0,h=new A(this.ctx),c="month",d=0;if(e.minDate>1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),p=n;0===n&&(c="year",p=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var f=n+1,b=l,v=0,m=1;v<o;v++,m++){0===(f=x.monthMod(f))?(c="year",d+=1):c="month";var y=this._getYear(s,f,d);b=h.determineDaysOfMonths(f,y)*r+b;var w=0===f?y:f;this.timeScaleArray.push({position:b,value:w,unit:c,year:y,month:0===f?1:f}),f++}}},{key:"generateDayScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.hoursWidthOnXAxis,r=t.numberOfDays,o=new A(this.ctx),n="day",l=e.minDate+1,h=l,c=function(t,e,i){return t>o.determineDaysOfMonths(e+1,i)?(h=1,n="month",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n="month",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var p=d,f=0;f<r;f++){n="day",u=c(h+=1,u,this._getYear(a,u,0));var b=this._getYear(a,u,0);p=24*s+p;var v=1===h?x.monthMod(u):h;this.timeScaleArray.push({position:p,value:v,unit:n,year:b,month:x.monthMod(u),day:v})}}},{key:"generateHourScale",value:function(t){var e=t.firstVal,i=t.currentDate,a=t.currentMonth,s=t.currentYear,r=t.minutesWidthOnXAxis,o=t.numberOfHours,n=new A(this.ctx),l="hour",h=function(t,e){return t>n.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,p=u;60===d&&(g=0,p=u=e.minHour);var f=i;p>=24&&(p=0,f+=1,l="day");var b=h(f,a).month;b=c(f,b),this.timeScaleArray.push({position:g,value:u,unit:l,day:f,hour:p,year:s,month:x.monthMod(b)}),p++;for(var v=g,m=0;m<o;m++){if(l="hour",p>=24)p=0,l="day",b=h(f+=1,b).month,b=c(f,b);var y=this._getYear(s,b,0);v=60*r+v;var w=0===p?f:p;this.timeScaleArray.push({position:v,value:w,unit:l,hour:p,day:f,year:y,month:x.monthMod(b)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,p=n,f=s,b=(60-i-e/1e3)*h,v=0;v<c;v++)d>=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:b,value:d,unit:"minute",hour:f,minute:d,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,p=n,f=s,b=(1e3-e)/1e3*l,v=0;v<h;v++)c>=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:b,value:c,unit:"second",hour:f,minute:d,second:c,day:g,year:this._getYear(p,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new A(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(n=l.year),"month"===t.unit&&(n=l.month),"day"===t.unit&&(n=l.day),"hour"===t.unit&&(n=l.hour),"minute"===t.unit&&(n=l.minute),"second"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Wt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:"setupElements",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].indexOf(i)>-1,t.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].indexOf(i)>-1,t.isBarHorizontal=("bar"===e.chart.type||"rangeBar"===e.chart.type||"boxPlot"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=".apexcharts"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement("div"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:"apexcharts-canvas "+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(e.chart.offsetX,", ").concat(e.chart.offsetY,")")}),t.dom.Paper.node.style.background="dark"!==e.theme.mode||e.chart.background?e.chart.background:"rgba(0, 0, 0, 0.8)",this.setSVGDimensions(),t.dom.elLegendForeign=document.createElementNS(t.SVGNS,"foreignObject"),m.setAttrs(t.dom.elLegendForeign,{x:0,y:0,width:t.svgWidth,height:t.svgHeight}),t.dom.elLegendWrap=document.createElement("div"),t.dom.elLegendWrap.classList.add("apexcharts-legend"),t.dom.elLegendWrap.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),t.dom.elLegendForeign.appendChild(t.dom.elLegendWrap),t.dom.Paper.node.appendChild(t.dom.elLegendForeign),t.dom.elGraphical=t.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},p={series:[],seriesRangeEnd:[],i:[]},f=void 0!==a.chart.type?a.chart.type:"line",x=null,b=0;s.series.forEach((function(e,a){var u=t[a].type||f;switch(u){case"column":case"bar":h.series.push(e),h.i.push(a),i.globals.columnSeries=h;break;case"area":o.series.push(e),o.i.push(a);break;case"line":r.series.push(e),r.i.push(a);break;case"scatter":n.series.push(e),n.i.push(a);break;case"bubble":l.series.push(e),l.i.push(a);break;case"candlestick":c.series.push(e),c.i.push(a);break;case"boxPlot":d.series.push(e),d.i.push(a);break;case"rangeBar":g.series.push(e),g.i.push(a);break;case"rangeArea":p.series.push(s.seriesRangeStart[a]),p.seriesRangeEnd.push(s.seriesRangeEnd[a]),p.i.push(a);break;case"heatmap":case"treemap":case"pie":case"donut":case"polarArea":case"radialBar":case"radar":x=u;break;default:console.warn("You have specified an unrecognized series type (",u,").")}f!==u&&"scatter"!==u&&b++})),b>0&&(null!==x&&console.warn("Chart or series type ",x," can not appear with other chart or series types."),h.series.length>0&&a.plotOptions.bar.horizontal&&(b-=h.length,h={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),s.comboCharts||(s.comboCharts=b>0);var v=new Ft(this.ctx,e),m=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var w=new Mt(this.ctx);this.ctx.rangeBar=new It(this.ctx,e);var k=new Pt(this.ctx),A=[];if(s.comboCharts){var S,C,L=new y(this.ctx);if(o.series.length>0)(S=A).push.apply(S,u(L.drawSeriesByGroup(o,s.areaGroups,"area",v)));if(h.series.length>0)if(i.config.chart.stacked){var P=new wt(this.ctx,e);A.push(P.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),A.push(this.ctx.bar.draw(h.series,h.i));if(p.series.length>0&&A.push(v.draw(p.series,"rangeArea",p.i,p.seriesRangeEnd)),r.series.length>0)(C=A).push.apply(C,u(L.drawSeriesByGroup(r,s.lineGroups,"line",v)));if(c.series.length>0&&A.push(m.draw(c.series,"candlestick",c.i)),d.series.length>0&&A.push(m.draw(d.series,"boxPlot",d.i)),g.series.length>0&&A.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var M=new Ft(this.ctx,e,!0);A.push(M.draw(n.series,"scatter",n.i))}if(l.series.length>0){var I=new Ft(this.ctx,e,!0);A.push(I.draw(l.series,"bubble",l.i))}}else switch(a.chart.type){case"line":A=v.draw(s.series,"line");break;case"area":A=v.draw(s.series,"area");break;case"bar":if(a.chart.stacked)A=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),A=this.ctx.bar.draw(s.series);break;case"candlestick":A=new kt(this.ctx,e).draw(s.series,"candlestick");break;case"boxPlot":A=new kt(this.ctx,e).draw(s.series,a.chart.type);break;case"rangeBar":A=this.ctx.rangeBar.draw(s.series);break;case"rangeArea":A=v.draw(s.seriesRangeStart,"rangeArea",void 0,s.seriesRangeEnd);break;case"heatmap":A=new St(this.ctx,e).draw(s.series);break;case"treemap":A=new Dt(this.ctx,e).draw(s.series);break;case"pie":case"donut":case"polarArea":A=this.ctx.pie.draw(s.series);break;case"radialBar":A=w.draw(s.series);break;case"radar":A=k.draw(s.series);break;default:A=v.draw(s.series)}return A}},{key:"setSVGDimensions",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();"%"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):"px"!==a&&""!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if("auto"!==t.svgHeight&&""!==t.svgHeight)if("%"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),"%"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+"px"}t.dom.elWrap.style.width=t.svgWidth+"px",t.dom.elWrap.style.height=t.svgHeight+"px"}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i={transform:"translate("+t.translateX+", "+e+")"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).indexOf("%")>0||(e.dom.elWrap.style.height=l+"px",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+"px")}},{key:"coreCalculations",value:function(){new U(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new F,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:"xySettings",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if("back"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if("back"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if("datetime"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Nt(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&"function"!=typeof e.config.chart.events.selection){var i=Array.isArray(e.config.chart.brush.targets)?e.config.chart.brush.targets:[e.config.chart.brush.target];i.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,"function"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),"function"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),e.config.chart.events.selection=function(t,e){i.forEach((function(t){ApexCharts.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"_updateOptions",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&"object"===i(t)&&(r.config=new Y(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d<c.globals.collapsedSeriesIndices.length;d++){var g=c.config.series[c.globals.collapsedSeriesIndices[d]];c.globals.collapsedSeries[d].data=c.globals.axisCharts?g.data.slice():g}for(var u=0;u<c.globals.ancillaryCollapsedSeriesIndices.length;u++){var p=c.config.series[c.globals.ancillaryCollapsedSeriesIndices[u]];c.globals.ancillaryCollapsedSeries[u].data=c.globals.axisCharts?p.data.slice():p}r.series.emptyCollapsedSeries(c.config.series)}return r.update(t).then((function(){h===l.length-1&&n(r)}))}))}))}},{key:"_updateSeries",value:function(t,e){var i=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:null==s?void 0:s.name,color:t.color?t.color:null==s?void 0:s.color,type:t.type?t.type:null==s?void 0:s.type,group:t.group?t.group:null==s?void 0:s.group,data:t.data?t.data:null==s?void 0:s.data,zIndex:void 0!==t.zIndex?t.zIndex:i})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select("".concat(s," path[j='").concat(t,"']")).members[0],"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new E(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Rt="undefined"!=typeof window?window:void 0,Ht=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns="http://www.w3.org/2000/svg",a.xmlns="http://www.w3.org/2000/xmlns/",a.xlink="http://www.w3.org/1999/xlink",a.svgjs="http://svgjs.dev",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return"Svgjs"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute("id",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e="function"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i="svg"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:"linearGradient"==e.nodeName?new a.Gradient("linear"):"radialGradient"==e.nodeName?new a.Gradient("radial"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute("svgjs:data"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName("body")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style("opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden").node,poly:i.polyline().node,path:i.path().node,native:a.create("svg")}},a.parser={native:a.create("svg")},e.addEventListener("DOMContentLoaded",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,rgb:/rgb\((\d+),(\d+),(\d+)\)/,reference:/#([a-z0-9\-_]+)/i,transforms:/\)\s*,?\s*/,whitespace:/\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\s+)?$/,isNumber:/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,isPercent:/^-?[\d\.]+%$/,isImage:/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,delimiter:/[\s,]+/,hyphen:/([^e])\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi,dots:/\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s<i;s++)a.push(e(t[s]));return a},filter:function(t,e){for(var i=t.length,a=[],s=0;s<i;s++)e(t[s])&&a.push(t[s]);return a},filterSVGElements:function(e){return this.filter(e,(function(e){return e instanceof t.SVGElement}))}},a.defaults={attrs:{"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","font-size":16,"font-family":"Helvetica, Arial, sans-serif","text-anchor":"start"}},a.Color=function(t){var e,s;this.r=0,this.g=0,this.b=0,t&&("string"==typeof t?a.regex.isRgb.test(t)?(e=a.regex.rgb.exec(t.replace(a.regex.whitespace,"")),this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3])):a.regex.isHex.test(t)&&(e=a.regex.hex.exec(4==(s=t).length?["#",s.substring(1,2),s.substring(1,2),s.substring(2,3),s.substring(2,3),s.substring(3,4),s.substring(3,4)].join(""):s),this.r=parseInt(e[1],16),this.g=parseInt(e[2],16),this.b=parseInt(e[3],16)):"object"===i(t)&&(this.r=t.r,this.g=t.g,this.b=t.b))},a.extend(a.Color,{toString:function(){return this.toHex()},toHex:function(){return"#"+g(this.r)+g(this.g)+g(this.b)},toRgb:function(){return"rgb("+[this.r,this.g,this.b].join()+")"},brightness:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11},morph:function(t){return this.destination=new a.Color(t),this},at:function(t){return this.destination?(t=t<0?0:t>1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+="",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(" ")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]}},r="mlhvqtcsaz".split(""),o=0,n=r.length;o<n;++o)s[r[o]]=function(t){return function(e,i,a){if("H"==t)e[0]=e[0]+i.x;else if("V"==t)e[0]=e[0]+i.y;else if("A"==t)e[5]=e[5]+i.x,e[6]=e[6]+i.y;else for(var r=0,o=e.length;r<o;++r)e[r]=e[r]+(r%2?i.y:i.x);if(s&&"function"==typeof s[t])return s[t](e,i,a)}}(r[o].toUpperCase());a.PathArray=function(t,e){a.Array.call(this,t,e||[["M",0,0]])},a.PathArray.prototype=new a.Array,a.PathArray.prototype.constructor=a.PathArray,a.extend(a.PathArray,{toString:function(){return function(t){for(var e=0,i=t.length,a="";e<i;e++)a+=t[e][0],null!=t[e][1]&&(a+=t[e][1],null!=t[e][2]&&(a+=" ",a+=t[e][2],null!=t[e][3]&&(a+=" ",a+=t[e][3],a+=" ",a+=t[e][4],null!=t[e][5]&&(a+=" ",a+=t[e][5],a+=" ",a+=t[e][6],null!=t[e][7]&&(a+=" ",a+=t[e][7])))));return a+" "}(this.value)},move:function(t,e){var i=this.bbox();return i.x,i.y,this},at:function(t){if(!this.destination)return this;for(var e=this.value,i=this.destination.value,s=[],r=new a.PathArray,o=0,n=e.length;o<n;o++){s[o]=[e[o][0]];for(var l=1,h=e[o].length;l<h;l++)s[o][l]=e[o][l]+(i[o][l]-e[o][l])*t;"A"===s[o][0]&&(s[o][4]=+(0!=s[o][4]),s[o][5]=+(0!=s[o][5]))}return r.value=s,r},parse:function(t){if(t instanceof a.PathArray)return t.valueOf();var e,i={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};t="string"==typeof t?t.replace(a.regex.numbersWithDots,h).replace(a.regex.pathLetters," $& ").replace(a.regex.hyphen,"$1 -").trim().split(a.regex.delimiter):t.reduce((function(t,e){return[].concat.call(t,e)}),[]);var r=[],o=new a.Point,n=new a.Point,l=0,c=t.length;do{a.regex.isPathLetter.test(t[l])?(e=t[l],++l):"M"==e?e="L":"m"==e&&(e="l"),r.push(s[e].call(null,t.slice(l,l+=i[e.toUpperCase()]).map(parseFloat),o,n))}while(c>l);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute("d",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),"%"==e[5]?this.value/=100:"s"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return("%"==this.unit?~~(1e8*this.value)/1e6:"s"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return"string"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute("stroke")||this._stroke)},extend:{x:function(t){return this.attr("x",t)},y:function(t){return this.attr("y",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr("width",t)},height:function(t){return this.attr("height",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr("id",t)},show:function(){return this.style("display","")},hide:function(){return this.style("display","none")},visible:function(){return"none"!=this.style("display")},toString:function(){return this.attr("id")},classes:function(){var t=this.attr("class");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!=t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if("string"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||"#document"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElementNS("http://www.w3.org/2000/svg","svg");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElementNS("http://www.w3.org/2000/svg","svg")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^<svg>/,"").replace(/<\/svg>$/,"");i.innerHTML="<svg>"+t.replace(/\n/,"").replace(/<([\w:-]+)([^<]+?)\/>/g,"<$1$2></$1>")+"</svg>";for(var s=0,r=i.firstChild.childNodes.length;s<r;s++)this.node.appendChild(i.firstChild.firstChild);return this},writeDataToDom:function(){return(this.each||this.lines)&&(this.each?this:this.lines()).each((function(){this.writeDataToDom()})),this.node.removeAttribute("svgjs:data"),Object.keys(this.dom).length&&this.node.setAttribute("svgjs:data",JSON.stringify(this.dom)),this},setData:function(t){return this.dom=t,this},is:function(t){return function(t,e){return t instanceof e}(this,t)}}}),a.easing={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){"object"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||"-"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return("function"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on("finished.fx",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off("finished.fx",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off("during.fx",i).on("during.fx",i),this.after((function(){this.off("during.fx",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off("allfinished.fx",e)};return this.target().off("allfinished.fx",e).on("allfinished.fx",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||"animations"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||i<this.situation.loops?(this.pos=e-i,a=this.situation.loop,this.situation.loop=i):(this.absPos=this.situation.loops,this.pos=1,a=this.situation.loop-1,this.situation.loop=this.situation.loops),this.situation.reversing&&(this.situation.reversed=this.situation.reversed!=Boolean((this.situation.loop-a)%2))):(this.absPos=Math.min(this.absPos,1),this.pos=this.absPos),this.pos<0&&(this.pos=0),this.situation.reversed&&(this.pos=1-this.pos);var s=this.situation.ease(this.pos);for(var r in this.situation.once)r>this.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire("during",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire("finished",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire("allfinished"),this.situations.length||(this.target().off(".fx"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return"string"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r<o;r++){var n=s.transforms[r];n instanceof a.Matrix?t=n.relative?t.multiply((new a.Matrix).morph(n).at(s.ease(this.pos))):t.morph(n).at(s.ease(this.pos)):(n.relative||n.undo(t.extract()),t=t.multiply(n.at(s.ease(this.pos))))}i.matrix(t)}return this},once:function(t,e,i){var a=this.last();return i||(t=a.ease(t)),a.once[t]=e,this},_callStart:function(){return setTimeout(function(){this.start()}.bind(this),0),this}},parent:a.Element,construct:{animate:function(t,e,i){return(this.fx||(this.fx=new a.FX(this))).animate(t,e,i)},delay:function(t){return(this.fx||(this.fx=new a.FX(this))).delay(t)},stop:function(t,e){return this.fx&&this.fx.stop(t,e),this},finish:function(){return this.fx&&this.fx.finish(),this}}}),a.MorphObj=a.invent({create:function(t,e){return a.Color.isColor(e)?new a.Color(t).morph(e):a.regex.delimiter.test(t)?a.regex.pathLetters.test(t)?new a.PathArray(t).morph(e):new a.Array(t).morph(e):a.regex.numberAndUnit.test(e)?new a.Number(t).morph(e):(this.value=t,void(this.destination=e))},extend:{at:function(t,e){return e<1?this.value:this.destination},valueOf:function(){return this.value}}}),a.extend(a.FX,{attr:function(t,e,a){if("object"===i(t))for(var s in t)this.attr(s,t[s]);else this.add(t,e,"attrs");return this},plot:function(t,e,i,a){return 4==arguments.length?this.plot([t,e,i,a]):this.add("plot",new(this.target().morphArray)(t))}}),a.Box=a.invent({create:function(t,e,s,r){if(!("object"!==i(t)||t instanceof a.Element))return a.Box.call(this,null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height);var o;4==arguments.length&&(this.x=t,this.y=e,this.width=s,this.height=r),null==(o=this).x&&(o.x=0,o.y=0,o.width=0,o.height=0),o.w=o.width,o.h=o.height,o.x2=o.x+o.width,o.y2=o.y+o.height,o.cx=o.x+o.width/2,o.cy=o.y+o.height/2}}),a.BBox=a.invent({create:function(t){if(a.Box.apply(this,[].slice.call(arguments)),t instanceof a.Element){var i;try{if(!e.documentElement.contains){for(var s=t.node;s.parentNode;)s=s.parentNode;if(s!=e)throw new Error("Element not in the dom")}i=t.node.getBBox()}catch(e){if(t instanceof a.Shape){a.parser.draw||a.prepare();var r=t.clone(a.parser.draw.instance).show();r&&r.node&&"function"==typeof r.node.getBBox&&(i=r.node.getBBox()),r&&"function"==typeof r.remove&&r.remove()}else i={x:t.node.clientLeft,y:t.node.clientTop,width:t.node.clientWidth,height:t.node.clientHeight}}a.Box.call(this,i)}},inherit:a.Box,parent:a.Element,construct:{bbox:function(){return new a.BBox(this)}}}),a.BBox.prototype.constructor=a.BBox,a.Matrix=a.invent({create:function(t){var e=f([1,0,0,1,0,0]);t=null===t?e:t instanceof a.Element?t.matrixify():"string"==typeof t?f(t.split(a.regex.delimiter).map(parseFloat)):6==arguments.length?f([].slice.call(arguments)):Array.isArray(t)?f(t):t&&"object"===i(t)?t:e;for(var s=v.length-1;s>=0;--s)this[v[s]]=null!=t[v[s]]?t[v[s]]:e[v[s]]},extend:{extract:function(){var t=p(this,0,1);p(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=v.length-1;e>=0;e--)t[v[e]]=this[v[e]];return t},toString:function(){return"matrix("+b(this.a)+","+b(this.b)+","+b(this.c)+","+b(this.d)+","+b(this.e)+","+b(this.f)+")"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:"object"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if("object"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;"stroke-width"==t?this.attr("stroke",parseFloat(e)>0?this._stroke:null):"stroke"==t&&(this._stroke=e),"fill"!=t&&"stroke"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),"number"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),"leading"==t?this.leading&&this.leading(e):"string"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!=t&&"x"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return"object"!==i(t)?(s=new a.Matrix(this).extract(),"string"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr("transform",s))}}),a.extend(a.Element,{untransform:function(){return this.attr("transform",null)},matrixify:function(){return(this.attr("transform")||"").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split("(");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return"matrix"==e[0]?t.multiply(f(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&"boolean"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a<s;++a)this[this.arguments[a]]=t[a];else if(t&&"object"===i(t))for(a=0,s=this.arguments.length;a<s;++a)this[this.arguments[a]]=t[this.arguments[a]];this.inversed=!1,!0===e&&(this.inversed=!0)}}),a.Translate=a.invent({parent:a.Matrix,inherit:a.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:["transformedX","transformedY"],method:"translate"}}),a.extend(a.Element,{style:function(t,e){if(0==arguments.length)return this.node.style.cssText||"";if(arguments.length<2)if("object"===i(t))for(var s in t)this.style(s,t[s]);else{if(!a.regex.isCss.test(t))return this.node.style[c(t)];for(t=t.split(/\s*;\s*/).filter((function(t){return!!t})).map((function(t){return t.split(/\s*:\s*/)}));e=t.pop();)this.style(e[0],e[1])}else this.node.style[c(t)]=null===e||a.regex.isBlank.test(e)?"":e;return this}}),a.Parent=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Element,extend:{children:function(){return a.utils.map(a.utils.filterSVGElements(this.node.childNodes),(function(t){return a.adopt(t)}))},add:function(t,e){return null==e?this.node.appendChild(t.node):t.node!=this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this},put:function(t,e){return this.add(t,e),t},has:function(t){return this.index(t)>=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s<r;s++)i[s]instanceof a.Element&&t.apply(i[s],[s,i]),e&&i[s]instanceof a.Container&&i[s].each(t,e);return this},removeElement:function(t){return this.node.removeChild(t.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this},defs:function(){return this.doc().defs()}}}),a.extend(a.Parent,{ungroup:function(t,e){return 0===e||this instanceof a.Defs||this.node==a.parser.draw||(t=t||(this instanceof a.Doc?this:this.parent(a.Parent)),e=e||1/0,this.each((function(){return this instanceof a.Defs?this:this instanceof a.Parent?this.ungroup(t,e-1):this.toParent(t)})),this.node.firstChild||this.remove()),this},flatten:function(t,e){return this.ungroup(t,e)}}),a.Container=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Parent}),a.ViewBox=a.invent({parent:a.Container,construct:{}}),["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","touchstart","touchmove","touchleave","touchend","touchcancel"].forEach((function(t){a.Element.prototype[t]=function(e){return a.on(this.node,t,e),this}})),a.listeners=[],a.handlerMap=[],a.listenerId=0,a.on=function(t,e,i,s,r){var o=i.bind(s||t.instance||t),n=(a.handlerMap.indexOf(t)+1||a.handlerMap.push(t))-1,l=e.split(".")[0],h=e.split(".")[1]||"*";a.listeners[n]=a.listeners[n]||{},a.listeners[n][l]=a.listeners[n][l]||{},a.listeners[n][l][h]=a.listeners[n][l][h]||{},i._svgjsListenerId||(i._svgjsListenerId=++a.listenerId),a.listeners[n][l][h][i._svgjsListenerId]=o,t.addEventListener(l,o,r||{passive:!1})},a.off=function(t,e,i){var s=a.handlerMap.indexOf(t),r=e&&e.split(".")[0],o=e&&e.split(".")[1],n="";if(-1!=s)if(i){if("function"==typeof i&&(i=i._svgjsListenerId),!i)return;a.listeners[s][r]&&a.listeners[s][r][o||"*"]&&(t.removeEventListener(r,a.listeners[s][r][o||"*"][i],!1),delete a.listeners[s][r][o||"*"][i])}else if(o&&r){if(a.listeners[s][r]&&a.listeners[s][r][o]){for(var l in a.listeners[s][r][o])a.off(t,[r,o].join("."),l);delete a.listeners[s][r][o]}}else if(o)for(var h in a.listeners[s])for(var n in a.listeners[s][h])o===n&&a.off(t,[h,o].join("."));else if(r){if(a.listeners[s][r]){for(var n in a.listeners[s][r])a.off(t,[r,n].join("."));delete a.listeners[s][r]}}else{for(var h in a.listeners[s])a.off(t,h);delete a.listeners[s],delete a.handlerMap[s]}},a.extend(a.Element,{on:function(t,e,i,s){return a.on(this.node,t,e,i,s),this},off:function(t,e){return a.off(this.node,t,e),this},fire:function(e,i){return e instanceof t.Event?this.node.dispatchEvent(e):this.node.dispatchEvent(e=new a.CustomEvent(e,{detail:i,cancelable:!0})),this._event=e,this},event:function(){return this._event}}),a.Defs=a.invent({create:"defs",inherit:a.Container}),a.G=a.invent({create:"g",inherit:a.Container,extend:{x:function(t){return null==t?this.transform("x"):this.transform({x:t-this.x()},!0)}},construct:{group:function(){return this.put(new a.G)}}}),a.Doc=a.invent({create:function(t){t&&("svg"==(t="string"==typeof t?e.getElementById(t):t).nodeName?this.constructor.call(this,t):(this.constructor.call(this,a.create("svg")),t.appendChild(this.node),this.size("100%","100%")),this.namespace().defs())},inherit:a.Container,extend:{namespace:function(){return this.attr({xmlns:a.ns,version:"1.1"}).attr("xmlns:xlink",a.xlink,a.xmlns).attr("xmlns:svgjs",a.svgjs,a.xmlns)},defs:function(){var t;return this._defs||((t=this.node.getElementsByTagName("defs")[0])?this._defs=a.adopt(t):this._defs=new a.Defs,this.node.appendChild(this._defs.node)),this._defs},parent:function(){return this.node.parentNode&&"#document"!=this.node.parentNode.nodeName?this.node.parentNode:null},remove:function(){return this.parent()&&this.parent().removeChild(this.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,a.parser.draw&&!a.parser.draw.parentNode&&this.node.appendChild(a.parser.draw),this},clone:function(t){this.writeDataToDom();var e=this.node,i=x(e.cloneNode(!0));return t?(t.node||t).appendChild(i.node):e.parentNode.insertBefore(i.node,e.nextSibling),i}}}),a.extend(a.Element,{}),a.Gradient=a.invent({create:function(t){this.constructor.call(this,a.create(t+"Gradient")),this.type=t},inherit:a.Container,extend:{at:function(t,e,i){return this.put(new a.Stop).update(t,e,i)},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},fill:function(){return"url(#"+this.id()+")"},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="gradientTransform"),a.Container.prototype.attr.call(this,t,e,i)}},construct:{gradient:function(t,e){return this.defs().gradient(t,e)}}}),a.extend(a.Gradient,a.FX,{from:function(t,e){return"radial"==(this._target||this).type?this.attr({fx:new a.Number(t),fy:new a.Number(e)}):this.attr({x1:new a.Number(t),y1:new a.Number(e)})},to:function(t,e){return"radial"==(this._target||this).type?this.attr({cx:new a.Number(t),cy:new a.Number(e)}):this.attr({x2:new a.Number(t),y2:new a.Number(e)})}}),a.extend(a.Defs,{gradient:function(t,e){return this.put(new a.Gradient(t)).update(e)}}),a.Stop=a.invent({create:"stop",inherit:a.Element,extend:{update:function(t){return("number"==typeof t||t instanceof a.Number)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new a.Number(t.offset)),this}}}),a.Pattern=a.invent({create:"pattern",inherit:a.Container,extend:{fill:function(){return"url(#"+this.id()+")"},update:function(t){return this.clear(),"function"==typeof t&&t.call(this,this),this},toString:function(){return this.fill()},attr:function(t,e,i){return"transform"==t&&(t="patternTransform"),a.Container.prototype.attr.call(this,t,e,i)}},construct:{pattern:function(t,e,i){return this.defs().pattern(t,e,i)}}}),a.extend(a.Defs,{pattern:function(t,e,i){return this.put(new a.Pattern).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}}),a.Shape=a.invent({create:function(t){this.constructor.call(this,t)},inherit:a.Element}),a.Symbol=a.invent({create:"symbol",inherit:a.Container,construct:{symbol:function(){return this.put(new a.Symbol)}}}),a.Use=a.invent({create:"use",inherit:a.Shape,extend:{element:function(t,e){return this.attr("href",(e||"")+"#"+t,a.xlink)}},construct:{use:function(t,e){return this.put(new a.Use).element(t,e)}}}),a.Rect=a.invent({create:"rect",inherit:a.Shape,construct:{rect:function(t,e){return this.put(new a.Rect).size(t,e)}}}),a.Circle=a.invent({create:"circle",inherit:a.Shape,construct:{circle:function(t){return this.put(new a.Circle).rx(new a.Number(t).divide(2)).move(0,0)}}}),a.extend(a.Circle,a.FX,{rx:function(t){return this.attr("r",t)},ry:function(t){return this.rx(t)}}),a.Ellipse=a.invent({create:"ellipse",inherit:a.Shape,construct:{ellipse:function(t,e){return this.put(new a.Ellipse).size(t,e).move(0,0)}}}),a.extend(a.Ellipse,a.Rect,a.FX,{rx:function(t){return this.attr("rx",t)},ry:function(t){return this.attr("ry",t)}}),a.extend(a.Circle,a.Ellipse,{x:function(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())},y:function(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())},cx:function(t){return null==t?this.attr("cx"):this.attr("cx",t)},cy:function(t){return null==t?this.attr("cy"):this.attr("cy",t)},width:function(t){return null==t?2*this.rx():this.rx(new a.Number(t).divide(2))},height:function(t){return null==t?2*this.ry():this.ry(new a.Number(t).divide(2))},size:function(t,e){var i=u(this,t,e);return this.rx(new a.Number(i.width).divide(2)).ry(new a.Number(i.height).divide(2))}}),a.Line=a.invent({create:"line",inherit:a.Shape,extend:{array:function(){return new a.PointArray([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])},plot:function(t,e,i,s){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:i,y2:s}:new a.PointArray(t).toLine(),this.attr(t))},move:function(t,e){return this.attr(this.array().move(t,e).toLine())},size:function(t,e){var i=u(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}},construct:{line:function(t,e,i,s){return a.Line.prototype.plot.apply(this.put(new a.Line),null!=t?[t,e,i,s]:[0,0,0,0])}}}),a.Polyline=a.invent({create:"polyline",inherit:a.Shape,construct:{polyline:function(t){return this.put(new a.Polyline).plot(t||new a.PointArray)}}}),a.Polygon=a.invent({create:"polygon",inherit:a.Shape,construct:{polygon:function(t){return this.put(new a.Polygon).plot(t||new a.PointArray)}}}),a.extend(a.Polyline,a.Polygon,{array:function(){return this._array||(this._array=new a.PointArray(this.attr("points")))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new a.PointArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},size:function(t,e){var i=u(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}}),a.extend(a.Line,a.Polyline,a.Polygon,{morphArray:a.PointArray,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),a.Path=a.invent({create:"path",inherit:a.Shape,extend:{morphArray:a.PathArray,array:function(){return this._array||(this._array=new a.PathArray(this.attr("d")))},plot:function(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new a.PathArray(t))},clear:function(){return delete this._array,this}},construct:{path:function(t){return this.put(new a.Path).plot(t||new a.PathArray)}}}),a.Image=a.invent({create:"image",inherit:a.Shape,extend:{load:function(e){if(!e)return this;var i=this,s=new t.Image;return a.on(s,"load",(function(){a.off(s);var t=i.parent(a.Pattern);null!==t&&(0==i.width()&&0==i.height()&&i.size(s.width,s.height),t&&0==t.width()&&0==t.height()&&t.size(i.width(),i.height()),"function"==typeof i._loaded&&i._loaded.call(i,{width:s.width,height:s.height,ratio:s.width/s.height,url:e}))})),a.on(s,"error",(function(t){a.off(s),"function"==typeof i._error&&i._error.call(i,t)})),this.attr("href",s.src=this.src=e,a.xlink)},loaded:function(t){return this._loaded=t,this},error:function(t){return this._error=t,this}},construct:{image:function(t,e,i){return this.put(new a.Image).load(t).size(e||0,i||e||0)}}}),a.Text=a.invent({create:function(){this.constructor.call(this,a.create("text")),this.dom.leading=new a.Number(1.3),this._rebuild=!0,this._build=!1,this.attr("font-family",a.defaults.attrs["font-family"])},inherit:a.Shape,extend:{x:function(t){return null==t?this.attr("x"):this.attr("x",t)},text:function(t){if(void 0===t){t="";for(var e=this.node.childNodes,i=0,s=e.length;i<s;++i)0!=i&&3!=e[i].nodeType&&1==a.adopt(e[i]).dom.newLined&&(t+="\n"),t+=e[i].textContent;return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else{i=0;for(var r=(t=t.split("\n")).length;i<r;i++)this.tspan(t[i]).newLine()}return this.build(!1).rebuild()},size:function(t){return this.attr("font-size",t).rebuild()},leading:function(t){return null==t?this.dom.leading:(this.dom.leading=new a.Number(t),this.rebuild())},lines:function(){var t=(this.textPath&&this.textPath()||this).node,e=a.utils.map(a.utils.filterSVGElements(t.childNodes),(function(t){return a.adopt(t)}));return new a.Set(e)},rebuild:function(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,i=0,s=this.dom.leading*new a.Number(this.attr("font-size"));this.lines().each((function(){this.dom.newLined&&(e.textPath()||this.attr("x",e.attr("x")),"\n"==this.text()?i+=s:(this.attr("dy",s+i),i=0))})),this.fire("rebuild")}return this},build:function(t){return this._build=!!t,this},setData:function(t){return this.dom=t,this.dom.leading=new a.Number(t.leading||1.3),this}},construct:{text:function(t){return this.put(new a.Text).text(t)},plain:function(t){return this.put(new a.Text).plain(t)}}}),a.Tspan=a.invent({create:"tspan",inherit:a.Shape,extend:{text:function(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?t.call(this,this):this.plain(t),this)},dx:function(t){return this.attr("dx",t)},dy:function(t){return this.attr("dy",t)},newLine:function(){var t=this.parent(a.Text);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr("font-size")).attr("x",t.x())}}}),a.extend(a.Text,a.Tspan,{plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(e.createTextNode(t)),this},tspan:function(t){var e=(this.textPath&&this.textPath()||this).node,i=new a.Tspan;return!1===this._build&&this.clear(),e.appendChild(i.node),i.text(t)},clear:function(){for(var t=(this.textPath&&this.textPath()||this).node;t.hasChildNodes();)t.removeChild(t.lastChild);return this},length:function(){return this.node.getComputedTextLength()}}),a.TextPath=a.invent({create:"textPath",inherit:a.Parent,parent:a.Text,construct:{morphArray:a.PathArray,array:function(){var t=this.track();return t?t.array():null},plot:function(t){var e=this.track(),i=null;return e&&(i=e.plot(t)),null==t?i:this},track:function(){var t=this.textPath();if(t)return t.reference("href")},textPath:function(){if(this.node.firstChild&&"textPath"==this.node.firstChild.nodeName)return a.adopt(this.node.firstChild)}}}),a.Nested=a.invent({create:function(){this.constructor.call(this,a.create("svg")),this.style("overflow","visible")},inherit:a.Container,construct:{nested:function(){return this.put(new a.Nested)}}});var l={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"==e?t:t+"-"+e}};function h(t,e,i,s){return i+s.replace(a.regex.dots," .")}function c(t){return t.toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()}))}function d(t){return t.charAt(0).toUpperCase()+t.slice(1)}function g(t){var e=t.toString(16);return 1==e.length?"0"+e:e}function u(t,e,i){if(null==e||null==i){var a=t.bbox();null==e?e=a.width/a.height*i:null==i&&(i=a.height/a.width*e)}return{width:e,height:i}}function p(t,e,i){return{x:e*t.a+i*t.c+0,y:e*t.b+i*t.d+0}}function f(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}function x(e){for(var i=e.childNodes.length-1;i>=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return Math.abs(t)>1e-37?t:0}["fill","stroke"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if("string"==typeof e||a.Color.isRgb(e)||e&&"function"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr("transform",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr("opacity",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e<i;e++)this.members.push(t[e]);return this},remove:function(t){var e=this.index(t);return e>-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e<i;e++)t.apply(this.members[e],[e,this.members]);return this},clear:function(){return this.members=[],this},length:function(){return this.members.length},has:function(t){return this.index(t)>=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)"function"==typeof a.Shape.prototype[e]&&"function"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e<i;e++)this.members[e]&&"function"==typeof this.members[e][t]&&this.members[e][t].apply(this.members[e],arguments);return"animate"==t?this.fx||(this.fx=new a.FX.Set(this)):this}})),t=[],a.FX.prototype)"function"==typeof a.FX.prototype[e]&&"function"!=typeof a.FX.Set.prototype[e]&&t.push(e);t.forEach((function(t){a.FX.Set.prototype[t]=function(){for(var e=0,i=this.set.members.length;e<i;e++)this.set.members[e].fx[t].apply(this.set.members[e].fx,arguments);return this}}))},a.extend(a.Element,{}),a.extend(a.Element,{remember:function(t,e){if("object"===i(arguments[0]))for(var a in t)this.remember(a,t[a]);else{if(1==arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0==arguments.length)this._memory={};else for(var t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||"").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var v="abcdef".split("");if("function"!=typeof t.CustomEvent){var m=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent("CustomEvent");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};m.prototype=t.Event.prototype,a.CustomEvent=m}else a.CustomEvent=t.CustomEvent;return a},"function"==typeof define&&define.amd?define((function(){return Ht(Rt,Rt.document)})):"object"===("undefined"==typeof exports?"undefined":i(exports))&&"undefined"!=typeof module?module.exports=Rt.document?Ht(Rt,Rt.document):function(t){return Ht(t,t.document)}:Rt.SVG=Ht(Rt,Rt.document), /*! svg.filter.js - v2.0.2 - 2016-02-24 * https://github.com/wout/svg.filter.js * Copyright (c) 2016 Wout Fierens; Licensed MIT */ -function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e<i;e++)a.push(t[e]);return a.join(" ")}(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i<t.length;i++)t[i]instanceof SVG.MergeNode?this.put(t[i]):this.put(new SVG.MergeNode(t[i]))}},componentTransfer:function(t){if(this.rgb=new SVG.Set,["r","g","b","a"].forEach(function(t){this[t]=new(SVG["Func"+t.toUpperCase()])("identity"),this.rgb.add(this[t]),this.node.appendChild(this[t].node)}.bind(this)),t)for(var e in t.rgb&&(["r","g","b"].forEach(function(e){this[e].attr(t.rgb)}.bind(this)),delete t.rgb),t)this[e].attr(t[e])},diffuseLighting:function(t,e,i){this.attr({surfaceScale:t,diffuseConstant:e,kernelUnitLength:i})},specularLighting:function(t,e,i,a){this.attr({surfaceScale:t,diffuseConstant:e,specularExponent:i,kernelUnitLength:a})}},a={distantLight:function(t,e){this.attr({azimuth:t,elevation:e})},pointLight:function(t,e,i){this.attr({x:t,y:e,z:i})},spotLight:function(t,e,i,a,s,r){this.attr({x:t,y:e,z:i,pointsAtX:a,pointsAtY:s,pointsAtZ:r})},mergeNode:function(t){this.attr("in",t)}};function s(t){return Array.isArray(t)&&(t=new SVG.Array(t)),t.toString().replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s+/g," ")}function r(){var t=function(){};for(var e in"function"==typeof arguments[arguments.length-1]&&(t=arguments[arguments.length-1],Array.prototype.splice.call(arguments,arguments.length-1,1)),arguments)for(var i in arguments[e])t(arguments[e][i],i,arguments[e])}["r","g","b","a"].forEach((function(t){a["Func"+t.toUpperCase()]=function(t){switch(this.attr("type",t),t){case"table":this.attr("tableValues",arguments[1]);break;case"linear":this.attr("slope",arguments[1]),this.attr("intercept",arguments[2]);break;case"gamma":this.attr("amplitude",arguments[1]),this.attr("exponent",arguments[2]),this.attr("offset",arguments[2])}}})),r(e,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.Effect,extend:{}})})),r(i,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.ParentEffect,extend:{}})})),r(a,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments)},inherit:SVG.ChildEffect,extend:{}})})),SVG.extend(SVG.MergeEffect,{in:function(t){return t instanceof SVG.MergeNode?this.add(t,0):this.add(new SVG.MergeNode(t),0),this}}),SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{in2:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in2")+'"]').get(0)||this.attr("in2"):this.attr("in2",t)}}),SVG.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]}}.call(void 0),function(){function t(t,s,r,o,n,l,h){for(var c=t.slice(s,r||h),d=o.slice(n,l||h),g=0,u={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[g]=e.call(u,c[g]),d[g]=e.call(p,d[g]),c[g][0]!=d[g][0]||"M"==c[g][0]||"A"==c[g][0]&&(c[g][4]!=d[g][4]||c[g][5]!=d[g][5])?(Array.prototype.splice.apply(c,[g,1].concat(a.call(u,c[g]))),Array.prototype.splice.apply(d,[g,1].concat(a.call(p,d[g])))):(c[g]=i.call(u,c[g]),d[g]=i.call(p,d[g])),++g==c.length&&g==d.length)break;g==c.length&&c.push(["C",u.pos[0],u.pos[1],u.pos[0],u.pos[1],u.pos[0],u.pos[1]]),g==d.length&&d.push(["C",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":e=function(t,e){var i,a,s,r,o,n,l,h,c,d,g,u,p,f,x,b,v,m,y,w,k,A,S,C,L,P,I=Math.abs(e[1]),M=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],E=e[6],Y=e[7],F=new SVG.Point(t),R=new SVG.Point(E,Y),H=[];if(0===I||0===M||F.x===R.x&&F.y===R.y)return[["C",F.x,F.y,R.x,R.y,R.x,R.y]];i=new SVG.Point((F.x-R.x)/2,(F.y-R.y)/2).transform((new SVG.Matrix).rotate(T)),(a=i.x*i.x/(I*I)+i.y*i.y/(M*M))>1&&(I*=a=Math.sqrt(a),M*=a);s=(new SVG.Matrix).rotate(T).scale(1/I,1/M).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&g<u&&(u-=2*Math.PI);for(f=Math.ceil(2*Math.abs(g-u)/Math.PI),b=[],v=g,p=(u-g)/f,x=4*Math.tan(p/4)/3,k=0;k<=f;k++)y=Math.cos(v),m=Math.sin(v),w=new SVG.Point(h.x+y,h.y+m),b[k]=[new SVG.Point(w.x+x*m,w.y-x*y),w,new SVG.Point(w.x-x*m,w.y+x*y)],v+=p;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),s=(new SVG.Matrix).rotate(T).scale(I,M).rotate(-T),k=0,A=b.length;k<A;k++)b[k][0]=b[k][0].transform(s),b[k][1]=b[k][1].transform(s),b[k][2]=b[k][2].transform(s);for(k=1,A=b.length;k<A;k++)S=(w=b[k-1][2]).x,C=w.y,L=(w=b[k][0]).x,P=w.y,E=(w=b[k][1]).x,Y=w.y,H.push(["C",S,C,L,P,E,Y]);return H}(this.pos,t),t=e[0]}return t[0]="C",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function s(t,e){if(!1===e)return!1;for(var i=e,a=t.length;i<a;++i)if("M"==t[i][0])return i;return!1}SVG.extend(SVG.PathArray,{morph:function(e){for(var i=this.value,a=this.parse(e),r=0,o=0,n=!1,l=!1;!1!==r||!1!==o;){var h;n=s(i,!1!==r&&r+1),l=s(a,!1!==o&&o+1),!1===r&&(r=0==(h=new SVG.PathArray(c.start).bbox()).height||0==h.width?i.push(i[0])-1:i.push(["M",h.x+h.width/2,h.y+h.height/2])-1),!1===o&&(o=0==(h=new SVG.PathArray(c.dest).bbox()).height||0==h.width?a.push(a[0])-1:a.push(["M",h.x+h.width/2,h.y+h.height/2])-1);var c=t(i,r,n,a,o,l);i=i.slice(0,r).concat(c.start,!1===n?[]:i.slice(n)),a=a.slice(0,o).concat(c.dest,!1===l?[]:a.slice(l)),r=!1!==n&&r+c.start.length,o=!1!==l&&o+c.dest.length}return this.value=i,this.destination=new SVG.PathArray,this.destination.value=a,this}})}(), +function(){SVG.Filter=SVG.invent({create:"filter",inherit:SVG.Parent,extend:{source:"SourceGraphic",sourceAlpha:"SourceAlpha",background:"BackgroundImage",backgroundAlpha:"BackgroundAlpha",fill:"FillPaint",stroke:"StrokePaint",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr("in")&&this.autoSetIn&&t.attr("in",this.source),t.attr("result")||t.attr("result",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return"url(#"+this.attr("id")+")"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return"function"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr("filter",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr("filter",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in")+'"]').get(0)||this.attr("in"):this.attr("in",t)},result:function(t){return null==t?this.attr("result"):this.attr("result",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr("in",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||"normal"})},colorMatrix:function(t,e){"matrix"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr("flood-color",t),null!=e&&this.attr("flood-opacity",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr("href",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr("stdDeviation",function(t){if(!Array.isArray(t))return t;for(var e=0,i=t.length,a=[];e<i;e++)a.push(t[e]);return a.join(" ")}(Array.prototype.slice.call(arguments))):this.attr("stdDeviation","0 0")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i<t.length;i++)t[i]instanceof SVG.MergeNode?this.put(t[i]):this.put(new SVG.MergeNode(t[i]))}},componentTransfer:function(t){if(this.rgb=new SVG.Set,["r","g","b","a"].forEach(function(t){this[t]=new(SVG["Func"+t.toUpperCase()])("identity"),this.rgb.add(this[t]),this.node.appendChild(this[t].node)}.bind(this)),t)for(var e in t.rgb&&(["r","g","b"].forEach(function(e){this[e].attr(t.rgb)}.bind(this)),delete t.rgb),t)this[e].attr(t[e])},diffuseLighting:function(t,e,i){this.attr({surfaceScale:t,diffuseConstant:e,kernelUnitLength:i})},specularLighting:function(t,e,i,a){this.attr({surfaceScale:t,diffuseConstant:e,specularExponent:i,kernelUnitLength:a})}},a={distantLight:function(t,e){this.attr({azimuth:t,elevation:e})},pointLight:function(t,e,i){this.attr({x:t,y:e,z:i})},spotLight:function(t,e,i,a,s,r){this.attr({x:t,y:e,z:i,pointsAtX:a,pointsAtY:s,pointsAtZ:r})},mergeNode:function(t){this.attr("in",t)}};function s(t){return Array.isArray(t)&&(t=new SVG.Array(t)),t.toString().replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s+/g," ")}function r(){var t=function(){};for(var e in"function"==typeof arguments[arguments.length-1]&&(t=arguments[arguments.length-1],Array.prototype.splice.call(arguments,arguments.length-1,1)),arguments)for(var i in arguments[e])t(arguments[e][i],i,arguments[e])}["r","g","b","a"].forEach((function(t){a["Func"+t.toUpperCase()]=function(t){switch(this.attr("type",t),t){case"table":this.attr("tableValues",arguments[1]);break;case"linear":this.attr("slope",arguments[1]),this.attr("intercept",arguments[2]);break;case"gamma":this.attr("amplitude",arguments[1]),this.attr("exponent",arguments[2]),this.attr("offset",arguments[2])}}})),r(e,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.Effect,extend:{}})})),r(i,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i+"Effect"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments),this.result(this.attr("id")+"Out")},inherit:SVG.ParentEffect,extend:{}})})),r(a,(function(t,e){var i=e.charAt(0).toUpperCase()+e.slice(1);SVG[i]=SVG.invent({create:function(){this.constructor.call(this,SVG.create("fe"+i)),t.apply(this,arguments)},inherit:SVG.ChildEffect,extend:{}})})),SVG.extend(SVG.MergeEffect,{in:function(t){return t instanceof SVG.MergeNode?this.add(t,0):this.add(new SVG.MergeNode(t),0),this}}),SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{in2:function(t){return null==t?this.parent()&&this.parent().select('[result="'+this.attr("in2")+'"]').get(0)||this.attr("in2"):this.attr("in2",t)}}),SVG.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]}}.call(void 0),function(){function t(t,s,r,o,n,l,h){for(var c=t.slice(s,r||h),d=o.slice(n,l||h),g=0,u={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[g]=e.call(u,c[g]),d[g]=e.call(p,d[g]),c[g][0]!=d[g][0]||"M"==c[g][0]||"A"==c[g][0]&&(c[g][4]!=d[g][4]||c[g][5]!=d[g][5])?(Array.prototype.splice.apply(c,[g,1].concat(a.call(u,c[g]))),Array.prototype.splice.apply(d,[g,1].concat(a.call(p,d[g])))):(c[g]=i.call(u,c[g]),d[g]=i.call(p,d[g])),++g==c.length&&g==d.length)break;g==c.length&&c.push(["C",u.pos[0],u.pos[1],u.pos[0],u.pos[1],u.pos[0],u.pos[1]]),g==d.length&&d.push(["C",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":e=function(t,e){var i,a,s,r,o,n,l,h,c,d,g,u,p,f,x,b,v,m,y,w,k,A,S,C,L,P,M=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],E=e[6],Y=e[7],F=new SVG.Point(t),R=new SVG.Point(E,Y),H=[];if(0===M||0===I||F.x===R.x&&F.y===R.y)return[["C",F.x,F.y,R.x,R.y,R.x,R.y]];i=new SVG.Point((F.x-R.x)/2,(F.y-R.y)/2).transform((new SVG.Matrix).rotate(T)),(a=i.x*i.x/(M*M)+i.y*i.y/(I*I))>1&&(M*=a=Math.sqrt(a),I*=a);s=(new SVG.Matrix).rotate(T).scale(1/M,1/I).rotate(-T),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&g<u&&(u-=2*Math.PI);for(f=Math.ceil(2*Math.abs(g-u)/Math.PI),b=[],v=g,p=(u-g)/f,x=4*Math.tan(p/4)/3,k=0;k<=f;k++)y=Math.cos(v),m=Math.sin(v),w=new SVG.Point(h.x+y,h.y+m),b[k]=[new SVG.Point(w.x+x*m,w.y-x*y),w,new SVG.Point(w.x-x*m,w.y+x*y)],v+=p;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),s=(new SVG.Matrix).rotate(T).scale(M,I).rotate(-T),k=0,A=b.length;k<A;k++)b[k][0]=b[k][0].transform(s),b[k][1]=b[k][1].transform(s),b[k][2]=b[k][2].transform(s);for(k=1,A=b.length;k<A;k++)S=(w=b[k-1][2]).x,C=w.y,L=(w=b[k][0]).x,P=w.y,E=(w=b[k][1]).x,Y=w.y,H.push(["C",S,C,L,P,E,Y]);return H}(this.pos,t),t=e[0]}return t[0]="C",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function s(t,e){if(!1===e)return!1;for(var i=e,a=t.length;i<a;++i)if("M"==t[i][0])return i;return!1}SVG.extend(SVG.PathArray,{morph:function(e){for(var i=this.value,a=this.parse(e),r=0,o=0,n=!1,l=!1;!1!==r||!1!==o;){var h;n=s(i,!1!==r&&r+1),l=s(a,!1!==o&&o+1),!1===r&&(r=0==(h=new SVG.PathArray(c.start).bbox()).height||0==h.width?i.push(i[0])-1:i.push(["M",h.x+h.width/2,h.y+h.height/2])-1),!1===o&&(o=0==(h=new SVG.PathArray(c.dest).bbox()).height||0==h.width?a.push(a[0])-1:a.push(["M",h.x+h.width/2,h.y+h.height/2])-1);var c=t(i,r,n,a,o,l);i=i.slice(0,r).concat(c.start,!1===n?[]:i.slice(n)),a=a.slice(0,o).concat(c.dest,!1===l?[]:a.slice(l)),r=!1!==n&&r+c.start.length,o=!1!==l&&o+c.dest.length}return this.value=i,this.destination=new SVG.PathArray,this.destination.value=a,this}})}(), /*! svg.draggable.js - v2.2.2 - 2019-01-08 * https://github.com/svgdotjs/svg.draggable.js * Copyright (c) 2019 Wout Fierens; Licensed MIT */ -function(){function t(t){t.remember("_draggable",this),this.el=t}t.prototype.init=function(t,e){var i=this;this.constraint=t,this.value=e,this.el.on("mousedown.drag",(function(t){i.start(t)})),this.el.on("touchstart.drag",(function(t){i.start(t)}))},t.prototype.transformPoint=function(t,e){var i=(t=t||window.event).changedTouches&&t.changedTouches[0]||t;return this.p.x=i.clientX-(e||0),this.p.y=i.clientY,this.p.matrixTransform(this.m)},t.prototype.getBBox=function(){var t=this.el.bbox();return this.el instanceof SVG.Nested&&(t=this.el.rbox()),(this.el instanceof SVG.G||this.el instanceof SVG.Use||this.el instanceof SVG.Nested)&&(t.x=this.el.x(),t.y=this.el.y()),t},t.prototype.start=function(t){if("click"!=t.type&&"mousedown"!=t.type&&"mousemove"!=t.type||1==(t.which||t.buttons)){var e=this;if(this.el.fire("beforedrag",{event:t,handler:this}),!this.el.event().defaultPrevented){t.preventDefault(),t.stopPropagation(),this.parent=this.parent||this.el.parent(SVG.Nested)||this.el.parent(SVG.Doc),this.p=this.parent.node.createSVGPoint(),this.m=this.el.node.getScreenCTM().inverse();var i,a=this.getBBox();if(this.el instanceof SVG.Text)switch(i=this.el.node.getComputedTextLength(),this.el.attr("text-anchor")){case"middle":i/=2;break;case"start":i=0}this.startPoints={point:this.transformPoint(t,i),box:a,transform:this.el.transform()},SVG.on(window,"mousemove.drag",(function(t){e.drag(t)})),SVG.on(window,"touchmove.drag",(function(t){e.drag(t)})),SVG.on(window,"mouseup.drag",(function(t){e.end(t)})),SVG.on(window,"touchend.drag",(function(t){e.end(t)})),this.el.fire("dragstart",{event:t,p:this.startPoints.point,m:this.m,handler:this})}}},t.prototype.drag=function(t){var e=this.getBBox(),i=this.transformPoint(t),a=this.startPoints.box.x+i.x-this.startPoints.point.x,s=this.startPoints.box.y+i.y-this.startPoints.point.y,r=this.constraint,o=i.x-this.startPoints.point.x,n=i.y-this.startPoints.point.y;if(this.el.fire("dragmove",{event:t,p:i,m:this.m,handler:this}),this.el.event().defaultPrevented)return i;if("function"==typeof r){var l=r.call(this.el,a,s,this.m);"boolean"==typeof l&&(l={x:l,y:l}),!0===l.x?this.el.x(a):!1!==l.x&&this.el.x(l.x),!0===l.y?this.el.y(s):!1!==l.y&&this.el.y(l.y)}else"object"==typeof r&&(null!=r.minX&&a<r.minX?o=(a=r.minX)-this.startPoints.box.x:null!=r.maxX&&a>r.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&s<r.minY?n=(s=r.minY)-this.startPoints.box.y:null!=r.maxY&&s>r.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i<a;++i){var s=function(e){return function(i){(i=i||window.event).preventDefault?i.preventDefault():i.returnValue=!1,i.stopPropagation();var a=i.pageX||i.touches[0].pageX,s=i.pageY||i.touches[0].pageY;t.el.fire("point",{x:a,y:s,i:e,event:i})}}(i),r=this.drawPoint(e[i][0],e[i][1]).addClass(this.options.classPoints).addClass(this.options.classPoints+"_point").on("touchstart",s).on("mousedown",s);this.pointSelection.set.add(r)}},t.prototype.drawPoint=function(t,e){var i=this.options.pointType;switch(i){case"circle":return this.drawCircle(t,e);case"rect":return this.drawRect(t,e);default:if("function"==typeof i)return i.call(this,t,e);throw new Error("Unknown "+i+" point type!")}},t.prototype.drawCircle=function(t,e){return this.nested.circle(this.options.pointSize).center(t,e)},t.prototype.drawRect=function(t,e){return this.nested.rect(this.options.pointSize,this.options.pointSize).center(t,e)},t.prototype.updatePointSelection=function(){var t=this.getPointArray();this.pointSelection.set.each((function(e){this.cx()===t[e][0]&&this.cy()===t[e][1]||this.center(t[e][0],t[e][1])}))},t.prototype.updateRectSelection=function(){var t=this,e=this.el.bbox();if(this.rectSelection.set.get(0).attr({width:e.width,height:e.height}),this.options.points.length&&this.options.points.map((function(i,a){var s=t.pointCoords(i,e);t.rectSelection.set.get(a+1).center(s.x,s.y)})),this.options.rotationPoint){var i=this.rectSelection.set.length();this.rectSelection.set.get(i-1).center(e.width/2,20)}},t.prototype.selectRect=function(t){var e=this,i=this.el.bbox();function a(t){return function(i){(i=i||window.event).preventDefault?i.preventDefault():i.returnValue=!1,i.stopPropagation();var a=i.pageX||i.touches[0].pageX,s=i.pageY||i.touches[0].pageY;e.el.fire(t,{x:a,y:s,event:i})}}if(this.rectSelection.isSelected=t,this.rectSelection.set=this.rectSelection.set||this.parent.set(),this.rectSelection.set.get(0)||this.rectSelection.set.add(this.nested.rect(i.width,i.height).addClass(this.options.classRect)),this.options.points.length&&this.rectSelection.set.length()<2){this.options.points.map((function(t,s){var r=e.pointCoords(t,i),o=e.drawPoint(r.x,r.y).attr("class",e.options.classPoints+"_"+t).on("mousedown",a(t)).on("touchstart",a(t));e.rectSelection.set.add(o)})),this.rectSelection.set.each((function(){this.addClass(e.options.classPoints)}))}if(this.options.rotationPoint&&(this.options.points&&!this.rectSelection.set.get(9)||!this.options.points&&!this.rectSelection.set.get(1))){var s=function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var i=t.pageX||t.touches[0].pageX,a=t.pageY||t.touches[0].pageY;e.el.fire("rot",{x:i,y:a,event:t})},r=this.drawPoint(i.width/2,20).attr("class",this.options.classPoints+"_rot").on("touchstart",s).on("mousedown",s);this.rectSelection.set.add(r)}},t.prototype.handler=function(){var t=this.el.bbox();this.nested.matrix(new SVG.Matrix(this.el).translate(t.x,t.y)),this.rectSelection.isSelected&&this.updateRectSelection(),this.pointSelection.isSelected&&this.updatePointSelection()},t.prototype.observe=function(){var t=this;if(MutationObserver)if(this.rectSelection.isSelected||this.pointSelection.isSelected)this.observerInst=this.observerInst||new MutationObserver((function(){t.handler()})),this.observerInst.observe(this.el.node,{attributes:!0});else try{this.observerInst.disconnect(),delete this.observerInst}catch(t){}else this.el.off("DOMAttrModified.select"),(this.rectSelection.isSelected||this.pointSelection.isSelected)&&this.el.on("DOMAttrModified.select",(function(){t.handler()}))},t.prototype.cleanup=function(){!this.rectSelection.isSelected&&this.rectSelection.set&&(this.rectSelection.set.each((function(){this.remove()})),this.rectSelection.set.clear(),delete this.rectSelection.set),!this.pointSelection.isSelected&&this.pointSelection.set&&(this.pointSelection.set.each((function(){this.remove()})),this.pointSelection.set.clear(),delete this.pointSelection.set),this.pointSelection.isSelected||this.rectSelection.isSelected||(this.nested.remove(),delete this.nested)},SVG.extend(SVG.Element,{selectize:function(e,i){return"object"==typeof e&&(i=e,e=!0),(this.remember("_selectHandler")||new t(this)).init(void 0===e||e,i||{}),this}}),SVG.Element.prototype.selectize.defaults={points:["lt","rt","rb","lb","t","r","b","l"],pointsExclude:[],classRect:"svg_select_boundingRect",classPoints:"svg_select_points",pointSize:7,rotationPoint:!0,deepSelect:!1,pointType:"circle"}}(),function(){(function(){function t(t){t.remember("_resizeHandler",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}t.prototype.transformPoint=function(t,e,i){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(i||this.m)},t.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},t.prototype.init=function(t){var e=this;if(this.stop(),"stop"!==t){for(var i in this.options={},this.el.resize.defaults)this.options[i]=this.el.resize.defaults[i],void 0!==t[i]&&(this.options[i]=t[i]);this.el.on("lt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rb.resize",(function(t){e.resize(t||window.event)})),this.el.on("lb.resize",(function(t){e.resize(t||window.event)})),this.el.on("t.resize",(function(t){e.resize(t||window.event)})),this.el.on("r.resize",(function(t){e.resize(t||window.event)})),this.el.on("b.resize",(function(t){e.resize(t||window.event)})),this.el.on("l.resize",(function(t){e.resize(t||window.event)})),this.el.on("rot.resize",(function(t){e.resize(t||window.event)})),this.el.on("point.resize",(function(t){e.resize(t||window.event)})),this.update()}},t.prototype.stop=function(){return this.el.off("lt.resize"),this.el.off("rt.resize"),this.el.off("rb.resize"),this.el.off("lb.resize"),this.el.off("t.resize"),this.el.off("r.resize"),this.el.off("b.resize"),this.el.off("l.resize"),this.el.off("rot.resize"),this.el.off("point.resize"),this},t.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var i=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(i.x,i.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},"text"===this.el.type&&(this.parameters.fontSize=this.el.attr()["font-size"]),void 0!==t.detail.i){var a=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[a[t.detail.i][0],a[t.detail.i][1]]}switch(t.type){case"lt":this.calc=function(t,e){var i=this.snapToGrid(t,e);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])<this.options.snapToGrid/2?s[0]:s[0]-(t<0?-this.options.snapToGrid:this.options.snapToGrid),e-=Math.abs(s[1])<this.options.snapToGrid/2?s[1]:s[1]-(e<0?-this.options.snapToGrid:this.options.snapToGrid),this.constraintToBox(t,e,i,a)},t.prototype.constraintToBox=function(t,e,i,a){var s,r,o=this.options.constraint||{};return void 0!==a?(s=i,r=a):(s=this.parameters.box.x+(1&i?0:this.parameters.box.width),r=this.parameters.box.y+(2&i?0:this.parameters.box.height)),void 0!==o.minX&&s+t<o.minX&&(t=o.minX-s),void 0!==o.maxX&&s+t>o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+e<o.minY&&(e=o.minY-r),void 0!==o.maxY&&r+e>o.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return o<a?(i[1]=s/a-this.parameters.box.height,e&&(i[1]=-i[1])):o>a&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Gt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Wt(this.ctx.el,this.ctx),this.ctx.config=new E({}),this.ctx.data=new W(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new N(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new M(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Bt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Vt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),jt=new WeakMap;var _t=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new F(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Gt(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if("function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),jt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=o.getElementById("apexcharts-css");if(r||!n){var l;t.css=document.createElement("style"),t.css.id="apexcharts-css",t.css.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n opacity: 0\n}\n\n.apexcharts-hidden-element-shown {\n opacity: 1;\n transition: 0.25s ease all;\n}\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n cursor: pointer;\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n\n.apexcharts-bar-goals-markers{\n pointer-events: none\n}\n\n.apexcharts-bar-shadows{\n pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers{\n pointer-events: none\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&t.css.setAttribute("nonce",h),r?s.prepend(t.css):o.head.appendChild(t.css)}}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Gt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new X(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new H(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new O(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o,n,l=i.grid.drawGrid();(i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h<e.elGraph.length;h++)a.globals.dom.elGraphical.add(e.elGraph[h]);else a.globals.dom.elGraphical.add(e.elGraph);"front"===a.config.grid.position&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));"front"===a.config.xaxis.crosshairs.position&&i.crosshairs.drawXCrosshairs(),"front"===a.config.yaxis[0].crosshairs.position&&i.crosshairs.drawYCrosshairs(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,l);var c=new V(t.ctx,l),d=new q(t.ctx,l);if(null!==l&&(c.xAxisLabelCorrections(l.xAxisTickWidth),d.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&d.yAxisTitleRotate(e,t.opposite)}))),i.annotations.drawAxesAnnotations(),!a.globals.noData){if(a.config.tooltip.enabled&&!a.globals.noData&&i.w.globals.tooltip.drawTooltip(e.xyRatios),a.globals.axisCharts&&(a.globals.isXNumeric||a.config.xaxis.convertedCatToNumeric||a.globals.isRangeBar))(a.config.chart.zoom.enabled||a.config.chart.selection&&a.config.chart.selection.enabled||a.config.chart.pan&&a.config.chart.pan.enabled)&&i.zoomPanSelection.init({xyRatios:e.xyRatios});else{var g=a.config.chart.toolbar.tools;["zoom","zoomin","zoomout","selection","pan","reset"].forEach((function(t){g[t]=!1}))}a.config.chart.toolbar.show&&!a.globals.allSeriesCollapsed&&i.toolbar.createToolbar()}a.globals.memory.methodsToExec.length>0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=jt.get(t))&&(e.disconnect(),jt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Vt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s<a.length;s++)if(null!==t[s]&&void 0!==t[s])for(var r=0;r<t[s].data.length;r++)a[s].data.push(t[s].data[r]);return i.w.config.series=a,e&&(i.w.globals.initialSeries=x.clone(i.w.config.series)),this.update()}},{key:"update",value:function(t){var e=this;return new Promise((function(i,a){new Vt(e.ctx).clear({isUpdating:!0});var s=e.create(e.w.config.series,t);if(!s)return i(e);e.mount(s).then((function(){"function"==typeof e.w.config.chart.events.updated&&e.w.config.chart.events.updated(e,e.w),e.events.fireEvent("updated",[e,e.w]),e.w.globals.isDirty=!0,i(e)})).catch((function(t){a(t)}))}))}},{key:"getSyncedCharts",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach((function(t){e.push(t)}))),e}},{key:"getGroupedCharts",value:function(){var t=this;return Apex._chartInstances.filter((function(t){if(t.group)return!0})).map((function(e){return t.w.config.chart.group===e.group?e.chart:t}))}},{key:"toggleSeries",value:function(t){return this.series.toggleSeries(t)}},{key:"highlightSeriesOnLegendHover",value:function(t,e){return this.series.toggleSeriesOnHover(t,e)}},{key:"showSeries",value:function(t){this.series.showSeries(t)}},{key:"hideSeries",value:function(t){this.series.hideSeries(t)}},{key:"isSeriesHidden",value:function(t){this.series.isSeriesHidden(t)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new G(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i<e.length;i++){new t(e[i],JSON.parse(e[i].getAttribute("data-options"))).render()}}},{key:"exec",value:function(t,e){var i=this.getChartByID(t);if(i){i.w.globals.isExecCalled=!0;var a=null;if(-1!==i.publicMethods.indexOf(e)){for(var s=arguments.length,r=new Array(s>2?s-2:0),o=2;o<s;o++)r[o-2]=arguments[o];a=i[e].apply(i,r)}return a}}},{key:"merge",value:function(t,e){return x.extend(t,e)}}]),t}();return _t})); +function(){function t(t){t.remember("_draggable",this),this.el=t}t.prototype.init=function(t,e){var i=this;this.constraint=t,this.value=e,this.el.on("mousedown.drag",(function(t){i.start(t)})),this.el.on("touchstart.drag",(function(t){i.start(t)}))},t.prototype.transformPoint=function(t,e){var i=(t=t||window.event).changedTouches&&t.changedTouches[0]||t;return this.p.x=i.clientX-(e||0),this.p.y=i.clientY,this.p.matrixTransform(this.m)},t.prototype.getBBox=function(){var t=this.el.bbox();return this.el instanceof SVG.Nested&&(t=this.el.rbox()),(this.el instanceof SVG.G||this.el instanceof SVG.Use||this.el instanceof SVG.Nested)&&(t.x=this.el.x(),t.y=this.el.y()),t},t.prototype.start=function(t){if("click"!=t.type&&"mousedown"!=t.type&&"mousemove"!=t.type||1==(t.which||t.buttons)){var e=this;if(this.el.fire("beforedrag",{event:t,handler:this}),!this.el.event().defaultPrevented){t.preventDefault(),t.stopPropagation(),this.parent=this.parent||this.el.parent(SVG.Nested)||this.el.parent(SVG.Doc),this.p=this.parent.node.createSVGPoint(),this.m=this.el.node.getScreenCTM().inverse();var i,a=this.getBBox();if(this.el instanceof SVG.Text)switch(i=this.el.node.getComputedTextLength(),this.el.attr("text-anchor")){case"middle":i/=2;break;case"start":i=0}this.startPoints={point:this.transformPoint(t,i),box:a,transform:this.el.transform()},SVG.on(window,"mousemove.drag",(function(t){e.drag(t)})),SVG.on(window,"touchmove.drag",(function(t){e.drag(t)})),SVG.on(window,"mouseup.drag",(function(t){e.end(t)})),SVG.on(window,"touchend.drag",(function(t){e.end(t)})),this.el.fire("dragstart",{event:t,p:this.startPoints.point,m:this.m,handler:this})}}},t.prototype.drag=function(t){var e=this.getBBox(),i=this.transformPoint(t),a=this.startPoints.box.x+i.x-this.startPoints.point.x,s=this.startPoints.box.y+i.y-this.startPoints.point.y,r=this.constraint,o=i.x-this.startPoints.point.x,n=i.y-this.startPoints.point.y;if(this.el.fire("dragmove",{event:t,p:i,m:this.m,handler:this}),this.el.event().defaultPrevented)return i;if("function"==typeof r){var l=r.call(this.el,a,s,this.m);"boolean"==typeof l&&(l={x:l,y:l}),!0===l.x?this.el.x(a):!1!==l.x&&this.el.x(l.x),!0===l.y?this.el.y(s):!1!==l.y&&this.el.y(l.y)}else"object"==typeof r&&(null!=r.minX&&a<r.minX?o=(a=r.minX)-this.startPoints.box.x:null!=r.maxX&&a>r.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&s<r.minY?n=(s=r.minY)-this.startPoints.box.y:null!=r.maxY&&s>r.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire("dragend",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,"mousemove.drag"),SVG.off(window,"touchmove.drag"),SVG.off(window,"mouseup.drag"),SVG.off(window,"touchend.drag")},SVG.extend(SVG.Element,{draggable:function(e,i){"function"!=typeof e&&"object"!=typeof e||(i=e,e=!0);var a=this.remember("_draggable")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off("mousedown.drag"),this.off("touchstart.drag")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember("_selectHandler",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:["width",0],rb:["width","height"],lb:[0,"height"],t:["width",0],r:["width","height"],b:["width","height"],l:[0,"height"]},this.pointCoord=function(t,e,i){var a="string"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,"t"===t||"b"===t),y:this.pointCoord(i[1],e,"r"===t||"l"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=["points","pointsExclude"];for(var s in r){var o=this.options[r[s]];"string"==typeof o?o=o.length>0?o.split(/\s*,\s*/i):[]:"boolean"==typeof o&&"points"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==["line","polyline","polygon"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i<a;++i){var s=function(e){return function(i){(i=i||window.event).preventDefault?i.preventDefault():i.returnValue=!1,i.stopPropagation();var a=i.pageX||i.touches[0].pageX,s=i.pageY||i.touches[0].pageY;t.el.fire("point",{x:a,y:s,i:e,event:i})}}(i),r=this.drawPoint(e[i][0],e[i][1]).addClass(this.options.classPoints).addClass(this.options.classPoints+"_point").on("touchstart",s).on("mousedown",s);this.pointSelection.set.add(r)}},t.prototype.drawPoint=function(t,e){var i=this.options.pointType;switch(i){case"circle":return this.drawCircle(t,e);case"rect":return this.drawRect(t,e);default:if("function"==typeof i)return i.call(this,t,e);throw new Error("Unknown "+i+" point type!")}},t.prototype.drawCircle=function(t,e){return this.nested.circle(this.options.pointSize).center(t,e)},t.prototype.drawRect=function(t,e){return this.nested.rect(this.options.pointSize,this.options.pointSize).center(t,e)},t.prototype.updatePointSelection=function(){var t=this.getPointArray();this.pointSelection.set.each((function(e){this.cx()===t[e][0]&&this.cy()===t[e][1]||this.center(t[e][0],t[e][1])}))},t.prototype.updateRectSelection=function(){var t=this,e=this.el.bbox();if(this.rectSelection.set.get(0).attr({width:e.width,height:e.height}),this.options.points.length&&this.options.points.map((function(i,a){var s=t.pointCoords(i,e);t.rectSelection.set.get(a+1).center(s.x,s.y)})),this.options.rotationPoint){var i=this.rectSelection.set.length();this.rectSelection.set.get(i-1).center(e.width/2,20)}},t.prototype.selectRect=function(t){var e=this,i=this.el.bbox();function a(t){return function(i){(i=i||window.event).preventDefault?i.preventDefault():i.returnValue=!1,i.stopPropagation();var a=i.pageX||i.touches[0].pageX,s=i.pageY||i.touches[0].pageY;e.el.fire(t,{x:a,y:s,event:i})}}if(this.rectSelection.isSelected=t,this.rectSelection.set=this.rectSelection.set||this.parent.set(),this.rectSelection.set.get(0)||this.rectSelection.set.add(this.nested.rect(i.width,i.height).addClass(this.options.classRect)),this.options.points.length&&this.rectSelection.set.length()<2){this.options.points.map((function(t,s){var r=e.pointCoords(t,i),o=e.drawPoint(r.x,r.y).attr("class",e.options.classPoints+"_"+t).on("mousedown",a(t)).on("touchstart",a(t));e.rectSelection.set.add(o)})),this.rectSelection.set.each((function(){this.addClass(e.options.classPoints)}))}if(this.options.rotationPoint&&(this.options.points&&!this.rectSelection.set.get(9)||!this.options.points&&!this.rectSelection.set.get(1))){var s=function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var i=t.pageX||t.touches[0].pageX,a=t.pageY||t.touches[0].pageY;e.el.fire("rot",{x:i,y:a,event:t})},r=this.drawPoint(i.width/2,20).attr("class",this.options.classPoints+"_rot").on("touchstart",s).on("mousedown",s);this.rectSelection.set.add(r)}},t.prototype.handler=function(){var t=this.el.bbox();this.nested.matrix(new SVG.Matrix(this.el).translate(t.x,t.y)),this.rectSelection.isSelected&&this.updateRectSelection(),this.pointSelection.isSelected&&this.updatePointSelection()},t.prototype.observe=function(){var t=this;if(MutationObserver)if(this.rectSelection.isSelected||this.pointSelection.isSelected)this.observerInst=this.observerInst||new MutationObserver((function(){t.handler()})),this.observerInst.observe(this.el.node,{attributes:!0});else try{this.observerInst.disconnect(),delete this.observerInst}catch(t){}else this.el.off("DOMAttrModified.select"),(this.rectSelection.isSelected||this.pointSelection.isSelected)&&this.el.on("DOMAttrModified.select",(function(){t.handler()}))},t.prototype.cleanup=function(){!this.rectSelection.isSelected&&this.rectSelection.set&&(this.rectSelection.set.each((function(){this.remove()})),this.rectSelection.set.clear(),delete this.rectSelection.set),!this.pointSelection.isSelected&&this.pointSelection.set&&(this.pointSelection.set.each((function(){this.remove()})),this.pointSelection.set.clear(),delete this.pointSelection.set),this.pointSelection.isSelected||this.rectSelection.isSelected||(this.nested.remove(),delete this.nested)},SVG.extend(SVG.Element,{selectize:function(e,i){return"object"==typeof e&&(i=e,e=!0),(this.remember("_selectHandler")||new t(this)).init(void 0===e||e,i||{}),this}}),SVG.Element.prototype.selectize.defaults={points:["lt","rt","rb","lb","t","r","b","l"],pointsExclude:[],classRect:"svg_select_boundingRect",classPoints:"svg_select_points",pointSize:7,rotationPoint:!0,deepSelect:!1,pointType:"circle"}}(),function(){(function(){function t(t){t.remember("_resizeHandler",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}t.prototype.transformPoint=function(t,e,i){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(i||this.m)},t.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},t.prototype.init=function(t){var e=this;if(this.stop(),"stop"!==t){for(var i in this.options={},this.el.resize.defaults)this.options[i]=this.el.resize.defaults[i],void 0!==t[i]&&(this.options[i]=t[i]);this.el.on("lt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rt.resize",(function(t){e.resize(t||window.event)})),this.el.on("rb.resize",(function(t){e.resize(t||window.event)})),this.el.on("lb.resize",(function(t){e.resize(t||window.event)})),this.el.on("t.resize",(function(t){e.resize(t||window.event)})),this.el.on("r.resize",(function(t){e.resize(t||window.event)})),this.el.on("b.resize",(function(t){e.resize(t||window.event)})),this.el.on("l.resize",(function(t){e.resize(t||window.event)})),this.el.on("rot.resize",(function(t){e.resize(t||window.event)})),this.el.on("point.resize",(function(t){e.resize(t||window.event)})),this.update()}},t.prototype.stop=function(){return this.el.off("lt.resize"),this.el.off("rt.resize"),this.el.off("rb.resize"),this.el.off("lb.resize"),this.el.off("t.resize"),this.el.off("r.resize"),this.el.off("b.resize"),this.el.off("l.resize"),this.el.off("rot.resize"),this.el.off("point.resize"),this},t.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var i=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(i.x,i.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},"text"===this.el.type&&(this.parameters.fontSize=this.el.attr()["font-size"]),void 0!==t.detail.i){var a=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[a[t.detail.i][0],a[t.detail.i][1]]}switch(t.type){case"lt":this.calc=function(t,e){var i=this.snapToGrid(t,e);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case"rt":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case"rb":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case"lb":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr("font-size",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case"t":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case"r":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case"b":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case"l":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if("text"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case"rot":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case"point":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire("resizestart",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,"touchmove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"touchend.resize",(function(){e.done()})),SVG.on(window,"mousemove.resize",(function(t){e.update(t||window.event)})),SVG.on(window,"mouseup.resize",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire("resizing",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,"mousemove.resize"),SVG.off(window,"mouseup.resize"),SVG.off(window,"touchmove.resize"),SVG.off(window,"touchend.resize"),this.el.fire("resizedone")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])<this.options.snapToGrid/2?s[0]:s[0]-(t<0?-this.options.snapToGrid:this.options.snapToGrid),e-=Math.abs(s[1])<this.options.snapToGrid/2?s[1]:s[1]-(e<0?-this.options.snapToGrid:this.options.snapToGrid),this.constraintToBox(t,e,i,a)},t.prototype.constraintToBox=function(t,e,i,a){var s,r,o=this.options.constraint||{};return void 0!==a?(s=i,r=a):(s=this.parameters.box.x+(1&i?0:this.parameters.box.width),r=this.parameters.box.y+(2&i?0:this.parameters.box.height)),void 0!==o.minX&&s+t<o.minX&&(t=o.minX-s),void 0!==o.maxX&&s+t>o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+e<o.minY&&(e=o.minY-r),void 0!==o.maxY&&r+e>o.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return o<a?(i[1]=s/a-this.parameters.box.height,e&&(i[1]=-i[1])):o>a&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember("_resizeHandler")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Gt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Wt(this.ctx.el,this.ctx),this.ctx.config=new Y({}),this.ctx.data=new B(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new I,this.ctx.responsive=new K(this.ctx),this.ctx.series=new W(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new S(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Bt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Vt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(t,e){this.removeClass("*"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),jt=new WeakMap;var _t=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new R(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Gt(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),jt.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is("ShadowRoot",s),o=t.el.ownerDocument,n=r?s.getElementById("apexcharts-css"):o.getElementById("apexcharts-css");if(!n){var l;(n=document.createElement("style")).id="apexcharts-css",n.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n 0%,to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n box-shadow: 0 0 1px rgba(255,255,255,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\n.legend-mouseover-inactive {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255,255,255,.96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30,30,30,.8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0,0,0,.7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0;\n margin-right: 10px;\n border-radius: 50%\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0!important\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0,0,0,.7);\n border: 1px solid rgba(0,0,0,.5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0,0,0,.5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}\n\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_boundingRect,.svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden\n}\n\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0,0,0,.7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\n display: none;\n}\n\n.apexcharts-hidden-element-shown {\n opacity: 1;\n transition: 0.25s ease all;\n}\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n cursor: pointer;\n}\n\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\n pointer-events: none\n}\n\n.apexcharts-marker {\n transition: .15s ease all\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n\n.apexcharts-bar-goals-markers{\n pointer-events: none\n}\n\n.apexcharts-bar-shadows{\n pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers{\n pointer-events: none\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&n.setAttribute("nonce",h),r?s.prepend(n):o.head.appendChild(n)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this.w;new Gt(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new E(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),"treemap"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t,i.config.chart.type);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r&&a.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new D(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),"category"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new N(this);return l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition(),{elGraph:n,xyRatios:o,dimensions:{plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o,n,l=i.grid.drawGrid();(i.annotations=new T(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h<e.elGraph.length;h++)a.globals.dom.elGraphical.add(e.elGraph[h]);else a.globals.dom.elGraphical.add(e.elGraph);"front"===a.config.grid.position&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));"front"===a.config.xaxis.crosshairs.position&&i.crosshairs.drawXCrosshairs(),"front"===a.config.yaxis[0].crosshairs.position&&i.crosshairs.drawYCrosshairs(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,l);var c=new V(t.ctx,l),d=new q(t.ctx,l);if(null!==l&&(c.xAxisLabelCorrections(l.xAxisTickWidth),d.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&d.yAxisTitleRotate(e,t.opposite)}))),i.annotations.drawAxesAnnotations(),!a.globals.noData){if(a.config.tooltip.enabled&&!a.globals.noData&&i.w.globals.tooltip.drawTooltip(e.xyRatios),a.globals.axisCharts&&(a.globals.isXNumeric||a.config.xaxis.convertedCatToNumeric||a.globals.isRangeBar))(a.config.chart.zoom.enabled||a.config.chart.selection&&a.config.chart.selection.enabled||a.config.chart.pan&&a.config.chart.pan.enabled)&&i.zoomPanSelection.init({xyRatios:e.xyRatios});else{var g=a.config.chart.toolbar.tools;["zoom","zoomin","zoomout","selection","pan","reset"].forEach((function(t){g[t]=!1}))}a.config.chart.toolbar.show&&!a.globals.allSeriesCollapsed&&i.toolbar.createToolbar()}a.globals.memory.methodsToExec.length>0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){var t,e;window.removeEventListener("resize",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=jt.get(t))&&(e.disconnect(),jt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Vt(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s<a.length;s++)if(null!==t[s]&&void 0!==t[s])for(var r=0;r<t[s].data.length;r++)a[s].data.push(t[s].data[r]);return i.w.config.series=a,e&&(i.w.globals.initialSeries=x.clone(i.w.config.series)),this.update()}},{key:"update",value:function(t){var e=this;return new Promise((function(i,a){new Vt(e.ctx).clear({isUpdating:!0});var s=e.create(e.w.config.series,t);if(!s)return i(e);e.mount(s).then((function(){"function"==typeof e.w.config.chart.events.updated&&e.w.config.chart.events.updated(e,e.w),e.events.fireEvent("updated",[e,e.w]),e.w.globals.isDirty=!0,i(e)})).catch((function(t){a(t)}))}))}},{key:"getSyncedCharts",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach((function(t){e.push(t)}))),e}},{key:"getGroupedCharts",value:function(){var t=this;return Apex._chartInstances.filter((function(t){if(t.group)return!0})).map((function(e){return t.w.config.chart.group===e.group?e.chart:t}))}},{key:"toggleSeries",value:function(t){return this.series.toggleSeries(t)}},{key:"highlightSeriesOnLegendHover",value:function(t,e){return this.series.toggleSeriesOnHover(t,e)}},{key:"showSeries",value:function(t){this.series.showSeries(t)}},{key:"hideSeries",value:function(t){this.series.hideSeries(t)}},{key:"isSeriesHidden",value:function(t){this.series.isSeriesHidden(t)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new U(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new G(this.ctx).dataURI(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new G(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=x.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i<e.length;i++){new t(e[i],JSON.parse(e[i].getAttribute("data-options"))).render()}}},{key:"exec",value:function(t,e){var i=this.getChartByID(t);if(i){i.w.globals.isExecCalled=!0;var a=null;if(-1!==i.publicMethods.indexOf(e)){for(var s=arguments.length,r=new Array(s>2?s-2:0),o=2;o<s;o++)r[o-2]=arguments[o];a=i[e].apply(i,r)}return a}}},{key:"merge",value:function(t,e){return x.extend(t,e)}}]),t}();return _t})); From f06b7e00aa6a5e69213284395b57a0e08899ec41 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 30 May 2024 07:31:06 +0000 Subject: [PATCH 02/98] npm: package updates --- src/package-lock.json | 8 ++++---- src/package.json | 2 +- src/www/css/app.css | 4 ++++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index bdf0cd65..f0c80964 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -16,7 +16,7 @@ }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.1", + "nodemon": "^3.1.2", "tailwindcss": "^3.4.3" }, "engines": { @@ -3078,9 +3078,9 @@ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/nodemon": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.1.tgz", - "integrity": "sha512-k43xGaDtaDIcufn0Fc6fTtsdKSkV/hQzoQFigNH//GaKta28yoKVYXCnV+KXRqfT/YzsFaQU9VdeEG+HEyxr6A==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.2.tgz", + "integrity": "sha512-/Ib/kloefDy+N0iRTxIUzyGcdW9lzlnca2Jsa5w73bs3npXjg+WInmiX6VY13mIb6SykkthYX/U5t0ukryGqBw==", "dev": true, "dependencies": { "chokidar": "^3.5.2", diff --git a/src/package.json b/src/package.json index 5183190a..72b0e34b 100644 --- a/src/package.json +++ b/src/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.1", + "nodemon": "^3.1.2", "tailwindcss": "^3.4.3" }, "nodemonConfig": { diff --git a/src/www/css/app.css b/src/www/css/app.css index 84270471..60f6f2bf 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -846,6 +846,10 @@ video { min-height: 100vh; } +.w-1 { + width: 0.25rem; +} + .w-10 { width: 2.5rem; } From e5e63c43e6ec9a60cf2dacfaa4638133c99627da Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 30 May 2024 13:47:24 +0200 Subject: [PATCH 03/98] package.json: fixup license identifier --- src/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package.json b/src/package.json index 72b0e34b..22425eec 100644 --- a/src/package.json +++ b/src/package.json @@ -11,7 +11,7 @@ "buildcss": "npx tailwindcss -i ./www/src/css/app.css -o ./www/css/app.css" }, "author": "Emile Nijssen", - "license": "GPL", + "license": "CC BY-NC-SA 4.0", "dependencies": { "debug": "^4.3.4", "express-session": "^1.18.0", From 44417d3db61cfd92037a9345ddc366e7e6048af1 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 30 May 2024 11:48:00 +0000 Subject: [PATCH 04/98] npm: package updates --- src/package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/package-lock.json b/src/package-lock.json index f0c80964..4661cc7d 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -7,7 +7,7 @@ "": { "name": "wg-easy", "version": "1.0.1", - "license": "GPL", + "license": "CC BY-NC-SA 4.0", "dependencies": { "debug": "^4.3.4", "express-session": "^1.18.0", From 3638e817186293d2038a9777fb4677e659fcf2a5 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 30 May 2024 15:28:13 +0200 Subject: [PATCH 05/98] Update CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index bc2a2cf9..0635b020 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ -# Copyright (c) Emile Nijssen +# Copyright (c) Emile Nijssen (WeeJeWel) # Founder and Codeowner of WireGuard Easy (wg-easy) From 0e1ad23f1767ad638bfe7acf356fad0e3331894e Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 2 Jun 2024 15:19:29 +0200 Subject: [PATCH 06/98] Everyting owned by WeeJeWel --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 0635b020..7299506c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,3 @@ # Copyright (c) Emile Nijssen (WeeJeWel) # Founder and Codeowner of WireGuard Easy (wg-easy) +* @WeeJeWel From b60f0e966800562ad3ffd3a9cb607fc34fda12c5 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Sun, 2 Jun 2024 13:20:07 +0000 Subject: [PATCH 07/98] npm: package updates --- src/package-lock.json | 14 +++++++------- src/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 4661cc7d..c91edfc0 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.1", "license": "CC BY-NC-SA 4.0", "dependencies": { - "debug": "^4.3.4", + "debug": "^4.3.5", "express-session": "^1.18.0", "h3": "^1.11.1", "qrcode": "^1.5.3" @@ -1205,9 +1205,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dependencies": { "ms": "2.1.2" }, @@ -4735,9 +4735,9 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "node_modules/yaml": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", - "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.3.tgz", + "integrity": "sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==", "dev": true, "bin": { "yaml": "bin.mjs" diff --git a/src/package.json b/src/package.json index 22425eec..4bfc8ac7 100644 --- a/src/package.json +++ b/src/package.json @@ -13,7 +13,7 @@ "author": "Emile Nijssen", "license": "CC BY-NC-SA 4.0", "dependencies": { - "debug": "^4.3.4", + "debug": "^4.3.5", "express-session": "^1.18.0", "h3": "^1.11.1", "qrcode": "^1.5.3" From ca737f9452dc1e45850ed626d30adca9f64ff3bd Mon Sep 17 00:00:00 2001 From: iguanajuice <125163000+iguanajuice@users.noreply.github.com> Date: Tue, 4 Jun 2024 01:17:05 -0400 Subject: [PATCH 08/98] Inform Podman users about cap-add=NET_RAW --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 38ccf90a..eede3567 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,6 +38,7 @@ services: cap_add: - NET_ADMIN - SYS_MODULE + # - NET_RAW # ⚠️ Uncomment if using Podman sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 From 1370141f036f3fffd507fb9d1335630592fc437c Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:21:02 +0000 Subject: [PATCH 09/98] npm: package updates --- src/package-lock.json | 54 +++++++++++++++++++++---------------------- src/package.json | 4 ++-- src/www/css/app.css | 2 +- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index c91edfc0..7cbaa4e1 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -16,8 +16,8 @@ }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.2", - "tailwindcss": "^3.4.3" + "nodemon": "^3.1.3", + "tailwindcss": "^3.4.4" }, "engines": { "node": ">=18" @@ -46,9 +46,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", - "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "peer": true, "engines": { @@ -56,13 +56,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", - "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -165,9 +165,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", + "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2816,9 +2816,9 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2834,9 +2834,9 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.3.tgz", + "integrity": "sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==", "dev": true, "bin": { "jiti": "bin/jiti.js" @@ -3078,9 +3078,9 @@ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/nodemon": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.2.tgz", - "integrity": "sha512-/Ib/kloefDy+N0iRTxIUzyGcdW9lzlnca2Jsa5w73bs3npXjg+WInmiX6VY13mIb6SykkthYX/U5t0ukryGqBw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.3.tgz", + "integrity": "sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -4298,9 +4298,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.14.0.tgz", - "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", "dev": true, "peer": true, "dependencies": { @@ -4322,9 +4322,9 @@ "peer": true }, "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", diff --git a/src/package.json b/src/package.json index 4bfc8ac7..97cb2215 100644 --- a/src/package.json +++ b/src/package.json @@ -20,8 +20,8 @@ }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.2", - "tailwindcss": "^3.4.3" + "nodemon": "^3.1.3", + "tailwindcss": "^3.4.4" }, "nodemonConfig": { "ignore": [ diff --git a/src/www/css/app.css b/src/www/css/app.css index 60f6f2bf..ead64396 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com */ /* From e6d2d95340cb1b571f1631861de90815c03893f3 Mon Sep 17 00:00:00 2001 From: Max <max@oppermann.fun> Date: Thu, 6 Jun 2024 23:01:39 +0200 Subject: [PATCH 10/98] fix typo in Server.js --- src/lib/Server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index cd1f6d1a..1366eac0 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -103,7 +103,7 @@ module.exports = class Server { debug(`New Session: ${event.node.req.session.id}`); - return { succcess: true }; + return { success: true }; })); // WireGuard From a082a40bf6a72943c127a18d3b16967d3c377acf Mon Sep 17 00:00:00 2001 From: adrien <avd@bea.be> Date: Wed, 29 May 2024 09:49:15 +0200 Subject: [PATCH 11/98] config: Add support for custom client port configuration This commit introduces the ability to specify a custom port for the client configuration. This feature is particularly useful when the WireGuard server is behind a port forwarding setup, allowing clients to connect using the correct port number. With this change, users can now define the desired client port in the configuration file, ensuring seamless connectivity even in scenarios where the client's listening port differs from the standard WireGuard port. --- docker-compose.yml | 1 + src/config.js | 1 + src/lib/WireGuard.js | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index eede3567..daba03f6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,7 @@ services: # - PASSWORD=foobar123 # - PORT=51821 # - WG_PORT=51820 + # - WG_CONFIG_PORT=92820 # - WG_DEFAULT_ADDRESS=10.8.0.x # - WG_DEFAULT_DNS=1.1.1.1 # - WG_MTU=1420 diff --git a/src/config.js b/src/config.js index b76c5343..bf7b84b4 100644 --- a/src/config.js +++ b/src/config.js @@ -10,6 +10,7 @@ module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; module.exports.WG_HOST = process.env.WG_HOST; module.exports.WG_PORT = process.env.WG_PORT || '51820'; +module.exports.WG_CONFIG_PORT = process.env.WG_CONFIG_PORT || process.env.WG_PORT || '51820'; module.exports.WG_MTU = process.env.WG_MTU || null; module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || '0'; module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.8.0.x'; diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 8cdec7cf..d4f32c5f 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -13,6 +13,7 @@ const { WG_PATH, WG_HOST, WG_PORT, + WG_CONFIG_PORT, WG_MTU, WG_DEFAULT_DNS, WG_DEFAULT_ADDRESS, @@ -207,7 +208,7 @@ PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' }AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} -Endpoint = ${WG_HOST}:${WG_PORT}`; +Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } async getClientQRCodeSVG({ clientId }) { From 390b72c94a1d688c92838e4816f7468d62a7ad2a Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Mon, 10 Jun 2024 00:03:26 +0000 Subject: [PATCH 12/98] npm: package updates --- src/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 7cbaa4e1..8e8de687 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -3563,9 +3563,9 @@ } }, "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "engines": { "node": ">=14" @@ -4735,9 +4735,9 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "node_modules/yaml": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.3.tgz", - "integrity": "sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", "dev": true, "bin": { "yaml": "bin.mjs" From b5372f0dbc0d6c081f0488f0df1314f83a7fe935 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 16 Jun 2024 16:14:19 +0200 Subject: [PATCH 13/98] bring password hash back users want to have this instead cleartext password. Mitigates security issues. --- src/lib/Server.js | 10 ++++++++++ src/package.json | 1 + 2 files changed, 11 insertions(+) diff --git a/src/lib/Server.js b/src/lib/Server.js index 1366eac0..1b306128 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -1,5 +1,6 @@ 'use strict'; +const bcrypt = require('bcryptjs'); const crypto = require('node:crypto'); const { createServer } = require('node:http'); const { stat, readFile } = require('node:fs/promises'); @@ -117,6 +118,15 @@ module.exports = class Server { return next(); } + if (req.url.startsWith('/api/') && req.headers['authorization']) { + if (bcrypt.compareSync(req.headers['authorization'], bcrypt.hashSync(PASSWORD, 10))) { + return next(); + } + return res.status(401).json({ + error: 'Incorrect Password', + }); + } + return res.status(401).json({ error: 'Not Logged In', }); diff --git a/src/package.json b/src/package.json index 97cb2215..8a3954d7 100644 --- a/src/package.json +++ b/src/package.json @@ -13,6 +13,7 @@ "author": "Emile Nijssen", "license": "CC BY-NC-SA 4.0", "dependencies": { + "bcryptjs": "^2.4.3", "debug": "^4.3.5", "express-session": "^1.18.0", "h3": "^1.11.1", From 7d0e2729b6a46b2bc2d553ce58f89edaac4003d0 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Sun, 16 Jun 2024 14:14:58 +0000 Subject: [PATCH 14/98] npm: package updates --- src/package-lock.json | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 8e8de687..fbd7ed0c 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.1", "license": "CC BY-NC-SA 4.0", "dependencies": { + "bcryptjs": "^2.4.3", "debug": "^4.3.5", "express-session": "^1.18.0", "h3": "^1.11.1", @@ -208,6 +209,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "peer": true, "dependencies": { @@ -223,6 +225,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, "peer": true }, @@ -908,6 +911,11 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -2131,9 +2139,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -2834,9 +2842,9 @@ } }, "node_modules/jiti": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.3.tgz", - "integrity": "sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "bin": { "jiti": "bin/jiti.js" From 85913b71edf781ffb921e727e605b1e2c5c81947 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 16 Jun 2024 16:25:51 +0200 Subject: [PATCH 15/98] CI: no cache-dependency-path it's useless and can lead to confusion --- .github/workflows/lint.yml | 3 --- .github/workflows/npm-update-bot.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 6a38a604..57e10bc3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -21,9 +21,6 @@ jobs: node-version: '20' check-latest: true cache: 'npm' - cache-dependency-path: | - package-lock.json - src/package-lock.json - name: npm run lint run: | diff --git a/.github/workflows/npm-update-bot.yml b/.github/workflows/npm-update-bot.yml index 1bfa47ad..7df5de4f 100644 --- a/.github/workflows/npm-update-bot.yml +++ b/.github/workflows/npm-update-bot.yml @@ -23,9 +23,6 @@ jobs: node-version: '20' check-latest: true cache: 'npm' - cache-dependency-path: | - package-lock.json - src/package-lock.json - name: Bot 🤖 "Updating NPM Packages..." run: | From 2a102eea9326795119a5e1bb1036605a4aeced8c Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 16 Jun 2024 19:02:32 +0200 Subject: [PATCH 16/98] deploy-development.yml: disable pull request until we can deploy on other branches from contributors/authors --- .github/workflows/deploy-development.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index 21547c7e..fa912f77 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -2,7 +2,6 @@ name: Build & Publish Development on: workflow_dispatch: - pull_request: jobs: deploy: From 72fbf1baf64700914a9ebef6a56df53a65f21d2d Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Mon, 17 Jun 2024 15:22:54 +0200 Subject: [PATCH 17/98] README.md: add docs for WG_CONFIG_PORT --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b770920..cdf586f2 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ These options can be configured by setting environment variables using `-e KEY=" | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | +| `WG_CONFIG_PORT`| `51820` | `12345` | The UDP port used on [Home Assistent Plugin](https://github.com/adriy-be/homeassistant-addons-jdeath/tree/main/wgeasy) | `WG_MTU` | `null` | `1420` | The MTU the clients will use. Server uses default WG MTU. | | `WG_PERSISTENT_KEEPALIVE` | `0` | `25` | Value in seconds to keep the "connection" open. If this value is 0, then connections won't be kept alive. | | `WG_DEFAULT_ADDRESS` | `10.8.0.x` | `10.6.0.x` | Clients IP address range. | From eaa4b1ebaac2c3c198c29bcfca8c7a05c0b5688d Mon Sep 17 00:00:00 2001 From: Robert Heim <robert@robert-heim.de> Date: Tue, 18 Jun 2024 20:17:00 +0200 Subject: [PATCH 18/98] feat: introduce PASSWORD_HASH and deprecate PASSWORD --- README.md | 7 ++++--- src/config.js | 1 + src/lib/Server.js | 44 +++++++++++++++++++++++++++++++++++++------- 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index cdf586f2..130bd60c 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ To automatically install & run wg-easy, simply run: --name=wg-easy \ -e LANG=de \ -e WG_HOST=<🚨YOUR_SERVER_IP> \ - -e PASSWORD=<🚨YOUR_ADMIN_PASSWORD> \ + -e PASSWORD_HASH=<🚨YOUR_ADMIN_PASSWORD_HASH> \ -e PORT=51821 \ -e WG_PORT=51820 \ -v ~/.wg-easy:/etc/wireguard \ @@ -80,7 +80,7 @@ To automatically install & run wg-easy, simply run: > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. > -> 💡 Replace `YOUR_ADMIN_PASSWORD` with a password to log in on the Web UI. +> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bycrpt hashed password to log in on the Web UI. The Web UI will now be available on `http://0.0.0.0:51821`. @@ -102,7 +102,8 @@ These options can be configured by setting environment variables using `-e KEY=" | - | - | - | - | | `PORT` | `51821` | `6789` | TCP port for Web UI. | | `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | -| `PASSWORD` | - | `foobar123` | When set, requires a password when logging in to the Web UI. | +| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. | +| `PASSWORD` (deprecated) | - | `foobar123` | DO NOT USE IT! When set, requires a password when logging in to the Web UI. Prefer `PASSWORD_HASH` to not put the clear text password in the environment. If `PASSWORD_HASH` is set `PASSWORD` is ignored. | | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | diff --git a/src/config.js b/src/config.js index bf7b84b4..40b70ddf 100644 --- a/src/config.js +++ b/src/config.js @@ -6,6 +6,7 @@ module.exports.RELEASE = release; module.exports.PORT = process.env.PORT || '51821'; module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0'; module.exports.PASSWORD = process.env.PASSWORD; +module.exports.PASSWORD_HASH = process.env.PASSWORD_HASH; module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; module.exports.WG_HOST = process.env.WG_HOST; diff --git a/src/lib/Server.js b/src/lib/Server.js index 1b306128..7e331ed4 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -29,11 +29,14 @@ const { WEBUI_HOST, RELEASE, PASSWORD, + PASSWORD_HASH, LANG, UI_TRAFFIC_STATS, UI_CHART_TYPE, } = require('../config'); +const requiresPassword = !!PASSWORD || !!PASSWORD_HASH; + module.exports = class Server { constructor() { @@ -72,7 +75,6 @@ module.exports = class Server { // Authentication .get('/api/session', defineEventHandler((event) => { - const requiresPassword = !!process.env.PASSWORD; const authenticated = requiresPassword ? !!(event.node.req.session && event.node.req.session.authenticated) : true; @@ -85,19 +87,21 @@ module.exports = class Server { .post('/api/session', defineEventHandler(async (event) => { const { password } = await readBody(event); - if (typeof password !== 'string') { + if (!requiresPassword) { + // if no password is required, the API should never be called. + // Do not automatically authenticate the user. throw createError({ status: 401, - message: 'Missing: Password', + message: 'Invalid state', }); } - if (password !== PASSWORD) { + if (!isPasswordValid(password)) { throw createError({ status: 401, message: 'Incorrect Password', }); - } + }; event.node.req.session.authenticated = true; event.node.req.session.save(); @@ -110,7 +114,7 @@ module.exports = class Server { // WireGuard app.use( fromNodeMiddleware((req, res, next) => { - if (!PASSWORD || !req.url.startsWith('/api/')) { + if (!requiresPassword || !req.url.startsWith('/api/')) { return next(); } @@ -119,7 +123,7 @@ module.exports = class Server { } if (req.url.startsWith('/api/') && req.headers['authorization']) { - if (bcrypt.compareSync(req.headers['authorization'], bcrypt.hashSync(PASSWORD, 10))) { + if (isPasswordValid(req.headers['authorization'])) { return next(); } return res.status(401).json({ @@ -235,6 +239,32 @@ module.exports = class Server { }); }; + /** + * Checks if `password` matches the PASSWORD_HASH. + * + * For backward compatibility it also allows `password` to match the clear text PASSWORD, + * but only if no PASSWORD_HASH is provided. + * + * If both enviornment variables are not set, the password is always invalid. + * + * @param {string} password String to test + * @returns {boolean} true if matching environment, otherwise false + */ + const isPasswordValid = (password) => { + if (typeof password !== 'string') { + return false; + } + + if (!!PASSWORD_HASH) { + return bcrypt.compareSync(password, PASSWORD_HASH); + } + if (!!PASSWORD) { + return password == PASSWORD; + } + + return false; + } + // Static assets const publicDir = '/app/www'; app.use( From 34ae8e42f369e15e0a173fe9d3b6d3457830f1cf Mon Sep 17 00:00:00 2001 From: Robert Heim <robert@robert-heim.de> Date: Tue, 18 Jun 2024 22:30:49 +0200 Subject: [PATCH 19/98] fix: lint errors --- src/lib/Server.js | 54 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 7e331ed4..40341ee5 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -37,6 +37,32 @@ const { const requiresPassword = !!PASSWORD || !!PASSWORD_HASH; +/** + * Checks if `password` matches the PASSWORD_HASH. + * + * For backward compatibility it also allows `password` to match the clear text PASSWORD, + * but only if no PASSWORD_HASH is provided. + * + * If both enviornment variables are not set, the password is always invalid. + * + * @param {string} password String to test + * @returns {boolean} true if matching environment, otherwise false + */ +const isPasswordValid = (password) => { + if (typeof password !== 'string') { + return false; + } + + if (PASSWORD_HASH) { + return bcrypt.compareSync(password, PASSWORD_HASH); + } + if (PASSWORD) { + return password === PASSWORD; + } + + return false; +}; + module.exports = class Server { constructor() { @@ -101,7 +127,7 @@ module.exports = class Server { status: 401, message: 'Incorrect Password', }); - }; + } event.node.req.session.authenticated = true; event.node.req.session.save(); @@ -239,32 +265,6 @@ module.exports = class Server { }); }; - /** - * Checks if `password` matches the PASSWORD_HASH. - * - * For backward compatibility it also allows `password` to match the clear text PASSWORD, - * but only if no PASSWORD_HASH is provided. - * - * If both enviornment variables are not set, the password is always invalid. - * - * @param {string} password String to test - * @returns {boolean} true if matching environment, otherwise false - */ - const isPasswordValid = (password) => { - if (typeof password !== 'string') { - return false; - } - - if (!!PASSWORD_HASH) { - return bcrypt.compareSync(password, PASSWORD_HASH); - } - if (!!PASSWORD) { - return password == PASSWORD; - } - - return false; - } - // Static assets const publicDir = '/app/www'; app.use( From 8598a167ef7d1ae856e5a2675de38e8c696b9792 Mon Sep 17 00:00:00 2001 From: Peter Lewis <peter@peterlew.is> Date: Tue, 18 Jun 2024 22:30:28 +0100 Subject: [PATCH 20/98] Update README.md Refinement --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 130bd60c..47a7b3d6 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ To automatically install & run wg-easy, simply run: > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. > -> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bycrpt hashed password to log in on the Web UI. +> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. The Web UI will now be available on `http://0.0.0.0:51821`. @@ -103,7 +103,7 @@ These options can be configured by setting environment variables using `-e KEY=" | `PORT` | `51821` | `6789` | TCP port for Web UI. | | `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | | `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. | -| `PASSWORD` (deprecated) | - | `foobar123` | DO NOT USE IT! When set, requires a password when logging in to the Web UI. Prefer `PASSWORD_HASH` to not put the clear text password in the environment. If `PASSWORD_HASH` is set `PASSWORD` is ignored. | +| `PASSWORD` (deprecated) | - | `foobar123` | When set, requires a password when logging in to the Web UI. *(Not used if `PASSWORD_HASH` is set)* | | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | From 304506d26d0ee51b2fd1edeed19f55c8c2d0ceaf Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 20 Jun 2024 11:43:23 +0200 Subject: [PATCH 21/98] docker-compose.yml: add missing PASSWORD_HASH option --- docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index daba03f6..7ebb812d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,8 @@ services: - WG_HOST=raspberrypi.local # Optional: - # - PASSWORD=foobar123 + # - PASSWORD=foobar123 (deprecated use `PASSWORD_HASH` instead) + # - PASSWORD_HASH=$2y$05$Ci... # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 From 2f956248db0f649bc46cb8794e8b6edf305688bb Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 20 Jun 2024 09:46:37 +0000 Subject: [PATCH 22/98] npm: package updates --- src/package-lock.json | 39 +++++++++++++++++++++++---------------- src/package.json | 4 ++-- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index fbd7ed0c..1d1a8ab9 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -12,12 +12,12 @@ "bcryptjs": "^2.4.3", "debug": "^4.3.5", "express-session": "^1.18.0", - "h3": "^1.11.1", + "h3": "^1.12.0", "qrcode": "^1.5.3" }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.3", + "nodemon": "^3.1.4", "tailwindcss": "^3.4.4" }, "engines": { @@ -2367,18 +2367,18 @@ "dev": true }, "node_modules/h3": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.11.1.tgz", - "integrity": "sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.12.0.tgz", + "integrity": "sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==", "dependencies": { - "cookie-es": "^1.0.0", - "crossws": "^0.2.2", + "cookie-es": "^1.1.0", + "crossws": "^0.2.4", "defu": "^6.1.4", "destr": "^2.0.3", - "iron-webcrypto": "^1.0.0", + "iron-webcrypto": "^1.1.1", "ohash": "^1.1.3", - "radix3": "^1.1.0", - "ufo": "^1.4.0", + "radix3": "^1.1.2", + "ufo": "^1.5.3", "uncrypto": "^0.1.3", "unenv": "^1.9.0" } @@ -3086,9 +3086,9 @@ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" }, "node_modules/nodemon": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.3.tgz", - "integrity": "sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -3334,6 +3334,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4227,15 +4233,16 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { diff --git a/src/package.json b/src/package.json index 8a3954d7..8202f38f 100644 --- a/src/package.json +++ b/src/package.json @@ -16,12 +16,12 @@ "bcryptjs": "^2.4.3", "debug": "^4.3.5", "express-session": "^1.18.0", - "h3": "^1.11.1", + "h3": "^1.12.0", "qrcode": "^1.5.3" }, "devDependencies": { "eslint-config-athom": "^3.1.3", - "nodemon": "^3.1.3", + "nodemon": "^3.1.4", "tailwindcss": "^3.4.4" }, "nodemonConfig": { From bfd7ef9e4629ca96610863e1e65193f8235123b4 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 20 Jun 2024 12:24:57 +0200 Subject: [PATCH 23/98] docker-compose.yml: fixup use '' for hashed Password otherwise docker think it is an env variable and set it to blank --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7ebb812d..b022a35e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: # Optional: # - PASSWORD=foobar123 (deprecated use `PASSWORD_HASH` instead) - # - PASSWORD_HASH=$2y$05$Ci... + # - PASSWORD_HASH='$2y$10$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG' (hash of 'foobar123') # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 From ccacc5ea87813f7834c3dbc65b424db56dc8d4a2 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:37:12 +0200 Subject: [PATCH 24/98] docker-compose.yml: refinements --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b022a35e..7a294e31 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,8 +12,8 @@ services: - WG_HOST=raspberrypi.local # Optional: - # - PASSWORD=foobar123 (deprecated use `PASSWORD_HASH` instead) - # - PASSWORD_HASH='$2y$10$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG' (hash of 'foobar123') + # - PASSWORD=foobar123 (without set PASSWORD_HASH is deprecated) + # - PASSWORD_HASH=$$2y$10$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123') # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 From 3613d26d4ac0071af346d99ad2d97f42b242bb3f Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:43:17 +0200 Subject: [PATCH 25/98] docker-compose.yml: fixup every single $ has to be $$ --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7a294e31..f8f79e49 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: # Optional: # - PASSWORD=foobar123 (without set PASSWORD_HASH is deprecated) - # - PASSWORD_HASH=$$2y$10$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123') + # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123') # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 From 9b6ac7cd8dc0c95ffc4d37f5598464effb08df81 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:15:10 +0200 Subject: [PATCH 26/98] docker-compose.yml: PASSWORD_HASH is replacing PASSWORD in nightly and next releases --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index f8f79e49..a9e8d0bf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,7 @@ services: - WG_HOST=raspberrypi.local # Optional: - # - PASSWORD=foobar123 (without set PASSWORD_HASH is deprecated) + # - PASSWORD=foobar123 (deprecated, see readme) # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123') # - PORT=51821 # - WG_PORT=51820 From 34c28805c43676f004993006212029a67991259e Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Mon, 24 Jun 2024 00:04:04 +0000 Subject: [PATCH 27/98] npm: package updates --- src/package-lock.json | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 1d1a8ab9..f9674870 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -2617,12 +2617,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3162,10 +3165,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } From d31524a531cf08e69e72ec6b533171b2f7908d13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 04:23:33 +0000 Subject: [PATCH 28/98] build(deps): bump docker/build-push-action from 5 to 6 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v5...v6) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> --- .github/workflows/deploy-development.yml | 2 +- .github/workflows/deploy-nightly.yml | 2 +- .github/workflows/deploy-pr.yml | 2 +- .github/workflows/deploy.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-development.yml b/.github/workflows/deploy-development.yml index fa912f77..da26f886 100644 --- a/.github/workflows/deploy-development.yml +++ b/.github/workflows/deploy-development.yml @@ -30,7 +30,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build & Publish Docker Image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: true platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 diff --git a/.github/workflows/deploy-nightly.yml b/.github/workflows/deploy-nightly.yml index 05d033cf..eac5a29e 100644 --- a/.github/workflows/deploy-nightly.yml +++ b/.github/workflows/deploy-nightly.yml @@ -32,7 +32,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build & Publish Docker Image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: true platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 diff --git a/.github/workflows/deploy-pr.yml b/.github/workflows/deploy-pr.yml index 3a3cdb13..8acd5e60 100644 --- a/.github/workflows/deploy-pr.yml +++ b/.github/workflows/deploy-pr.yml @@ -31,7 +31,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build Docker Image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: false platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 332b3a76..826c1ad3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -36,7 +36,7 @@ jobs: run: echo RELEASE=$(cat ./src/package.json | jq -r .release) >> $GITHUB_ENV - name: Build & Publish Docker Image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: true platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 From 9afd54927365e41bc12692e02bd910a3e743c6a2 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 26 Jun 2024 13:03:14 +0200 Subject: [PATCH 29/98] Add: Generate.bcrypt.hash.md Thanks to: @mathys-lopinto --- Generate.bcrypt.hash.md | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Generate.bcrypt.hash.md diff --git a/Generate.bcrypt.hash.md b/Generate.bcrypt.hash.md new file mode 100644 index 00000000..5a5a9ae2 --- /dev/null +++ b/Generate.bcrypt.hash.md @@ -0,0 +1,45 @@ +# How to generate bcrypt + +## Prerequisites +- Python 3 +- bcrypt library + +## Prerequisites Installation +### Windows +Download and install Python 3 from [official website](https://www.python.org/downloads/). +Check "Add python.exe to PATH" before running "Install Now". + +Open Command Prompt (win + r, type "cmd" and press enter) and run the following command to install bcrypt library: +```bash +pip install bcrypt +``` + +### Debian based distributions +```bash +sudo apt-get update +sudo apt-get install python3 python3-pip +# If you use have install python using apt +sudo apt-get install python3-bcrypt +# If don't install python using apt +pip3 install bcrypt +# If you got externally-managed-environment error +pip3 install bcrypt --break-system-packages +``` + +## Generating bcrypt +### Do not name the file `bcrypt.py` as it will cause an error. +Create a python file with the following content: +```python +import bcrypt +password = b"your_password_here" # DO NOT REMOVE THE b +hashed = bcrypt.hashpw(password, bcrypt.gensalt()) +print(f'The hashed password is: {hashed.decode()}') + +docker_interpolation= hashed.decode().replace("$", "$$") +print(f'The hashed password for an docker env is: {docker_interpolation}') +``` + +Replace `your_password_here` with the password you want to hash. + +Run the python file and you will get the hashed password. +Copy the 2nd line of the output (after the : ) and use it as your hashed password. From e7e374cfd7b727944029e06ed46341b0f6502a53 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 26 Jun 2024 18:11:02 +0200 Subject: [PATCH 30/98] comment: created by --- Generate.bcrypt.hash.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Generate.bcrypt.hash.md b/Generate.bcrypt.hash.md index 5a5a9ae2..92d51532 100644 --- a/Generate.bcrypt.hash.md +++ b/Generate.bcrypt.hash.md @@ -1,3 +1,4 @@ +<!-- created by Mathys Lopinto (@mathys-lopinto) --> # How to generate bcrypt ## Prerequisites From 8044c53815081e7ba842a0da04409f6f291a14b0 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 27 Jun 2024 10:18:09 +0200 Subject: [PATCH 31/98] add: Fedora and Arch Linux install guide --- Generate.bcrypt.hash.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Generate.bcrypt.hash.md b/Generate.bcrypt.hash.md index 92d51532..8adb2972 100644 --- a/Generate.bcrypt.hash.md +++ b/Generate.bcrypt.hash.md @@ -27,6 +27,30 @@ pip3 install bcrypt pip3 install bcrypt --break-system-packages ``` +### Fedora based distributions +```bash +sudo dnf update +sudo dnf install python3 python3-pip +# If you use have install python using apt +sudo dnf install python3-bcrypt +# If don't install python using apt +pip3 install bcrypt +# If you got externally-managed-environment error +pip3 install bcrypt --break-system-packages +``` + +### Arch Linux based distributions +```bash +sudo pacman -Syy +sudo pacman -S python python-pip +# If you use have install python using apt +sudo pacman -S python-bcrypt +# If don't install python using apt +pip3 install bcrypt +# If you got externally-managed-environment error +pip3 install bcrypt --break-system-packages +``` + ## Generating bcrypt ### Do not name the file `bcrypt.py` as it will cause an error. Create a python file with the following content: From 436ccac824f0b68b0302f96334dbdd530a4b2de1 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 27 Jun 2024 18:34:47 +0000 Subject: [PATCH 32/98] npm: package updates --- src/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index f9674870..bd59b290 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -4262,9 +4262,9 @@ } }, "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" From 4d849fc5084fc729405fd81054765d7f03548c3f Mon Sep 17 00:00:00 2001 From: Mathys Lopinto <lopintomathys@pm.me> Date: Thu, 27 Jun 2024 21:00:11 +0200 Subject: [PATCH 33/98] Enhance bcrypt doc: rename, add one-liner, usage info, and assert - Rename the file to a more readable name - Add one-liner command for quick execution - Include dedicated paragraph on using the output - Implement assert to prevent bcrypt limitation issues - Comment the python script - Improves clarity and usability of bcrypt documentation - Mention documentation file in docker-compose.yml and README.me file --- ...sh.md => How_to_generate_an_bcrypt_hash.md | 41 ++++++++++++++--- README.md | 44 +++++++++---------- docker-compose.yml | 2 +- 3 files changed, 59 insertions(+), 28 deletions(-) rename Generate.bcrypt.hash.md => How_to_generate_an_bcrypt_hash.md (53%) diff --git a/Generate.bcrypt.hash.md b/How_to_generate_an_bcrypt_hash.md similarity index 53% rename from Generate.bcrypt.hash.md rename to How_to_generate_an_bcrypt_hash.md index 8adb2972..d2b69f59 100644 --- a/Generate.bcrypt.hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -1,5 +1,5 @@ <!-- created by Mathys Lopinto (@mathys-lopinto) --> -# How to generate bcrypt +# How to generate bcrypt hash ## Prerequisites - Python 3 @@ -51,20 +51,51 @@ pip3 install bcrypt pip3 install bcrypt --break-system-packages ``` -## Generating bcrypt +## Generating bcrypt hash from the command line +You can use the following one-liner command to generate a bcrypt hash directly in the cmd/ terminal: +```bash +python3 -c "import bcrypt; password = b'your_password_here'; assert len(password) < 72, 'Password must be less than 72 bytes due to bcrypt limitation'; hashed = bcrypt.hashpw(password, bcrypt.gensalt()); print(f'The hashed password is: {hashed.decode()}'); docker_interpolation = hashed.decode().replace('$', '$$'); print(f'The hashed password for a Docker env is: {docker_interpolation}')" # or python if you run this on Windows. CHANGE your_password_here BY YOUR PASSWORD +``` +Please change ``your_password_here`` in the line by your own password. + +## Generating bcrypt hash from an script file ### Do not name the file `bcrypt.py` as it will cause an error. Create a python file with the following content: ```python import bcrypt -password = b"your_password_here" # DO NOT REMOVE THE b + +# Initial password +password = b"your_password_here" # DO NOT REMOVE THE b + +# Assert that the password is under 72 bytes +assert len(password) < 72, "Password must be less than 72 bytes due to bcrypt limitation" + +# Generate a salt and hash the password hashed = bcrypt.hashpw(password, bcrypt.gensalt()) + +# Print the hashed password print(f'The hashed password is: {hashed.decode()}') -docker_interpolation= hashed.decode().replace("$", "$$") -print(f'The hashed password for an docker env is: {docker_interpolation}') +# Prepare the hashed password for Docker environment variables +docker_interpolation = hashed.decode().replace("$", "$$") +print(f'The hashed password for a Docker env is: {docker_interpolation}') ``` Replace `your_password_here` with the password you want to hash. Run the python file and you will get the hashed password. + +## Get the right hash Copy the 2nd line of the output (after the : ) and use it as your hashed password. + +__Exemple__ +If the output is: +```txt +The hashed password is: $2b$12$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe +The hashed password for an docker env is: $$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe +``` + +The docker line ``PASSWORD_HASH`` will be: +```txt +PASSWORD_HASH=$$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe +``` \ No newline at end of file diff --git a/README.md b/README.md index 47a7b3d6..f76ca3f8 100644 --- a/README.md +++ b/README.md @@ -98,28 +98,28 @@ Are you enjoying this project? [Buy Emile a beer!](https://github.com/sponsors/W These options can be configured by setting environment variables using `-e KEY="VALUE"` in the `docker run` command. -| Env | Default | Example | Description | -| - | - | - | - | -| `PORT` | `51821` | `6789` | TCP port for Web UI. | -| `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | -| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. | -| `PASSWORD` (deprecated) | - | `foobar123` | When set, requires a password when logging in to the Web UI. *(Not used if `PASSWORD_HASH` is set)* | -| `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | -| `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | -| `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | -| `WG_CONFIG_PORT`| `51820` | `12345` | The UDP port used on [Home Assistent Plugin](https://github.com/adriy-be/homeassistant-addons-jdeath/tree/main/wgeasy) -| `WG_MTU` | `null` | `1420` | The MTU the clients will use. Server uses default WG MTU. | -| `WG_PERSISTENT_KEEPALIVE` | `0` | `25` | Value in seconds to keep the "connection" open. If this value is 0, then connections won't be kept alive. | -| `WG_DEFAULT_ADDRESS` | `10.8.0.x` | `10.6.0.x` | Clients IP address range. | -| `WG_DEFAULT_DNS` | `1.1.1.1` | `8.8.8.8, 8.8.4.4` | DNS server clients will use. If set to blank value, clients will not use any DNS. | -| `WG_ALLOWED_IPS` | `0.0.0.0/0, ::/0` | `192.168.15.0/24, 10.0.1.0/24` | Allowed IPs clients will use. | -| `WG_PRE_UP` | `...` | - | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L19) for the default value. | -| `WG_POST_UP` | `...` | `iptables ...` | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L20) for the default value. | -| `WG_PRE_DOWN` | `...` | - | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L27) for the default value. | -| `WG_POST_DOWN` | `...` | `iptables ...` | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L28) for the default value. | -| `LANG` | `en` | `de` | Web UI language (Supports: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi). | -| `UI_TRAFFIC_STATS` | `false` | `true` | Enable detailed RX / TX client stats in Web UI | -| `UI_CHART_TYPE` | `0` | `1` | UI_CHART_TYPE=0 # Charts disabled, UI_CHART_TYPE=1 # Line chart, UI_CHART_TYPE=2 # Area chart, UI_CHART_TYPE=3 # Bar chart | +| Env | Default | Example | Description | +| - | - | - |------------------------------------------------------------------------------------------------------------------------------------------------------| +| `PORT` | `51821` | `6789` | TCP port for Web UI. | +| `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | +| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. See [How to generate an bcrypt hash.md]("How_to_generate_an_bcrypt_hash.md") for know how to generate the hash. | +| `PASSWORD` (deprecated) | - | `foobar123` | When set, requires a password when logging in to the Web UI. *(Not used if `PASSWORD_HASH` is set)* | +| `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | +| `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | +| `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | +| `WG_CONFIG_PORT`| `51820` | `12345` | The UDP port used on [Home Assistent Plugin](https://github.com/adriy-be/homeassistant-addons-jdeath/tree/main/wgeasy) +| `WG_MTU` | `null` | `1420` | The MTU the clients will use. Server uses default WG MTU. | +| `WG_PERSISTENT_KEEPALIVE` | `0` | `25` | Value in seconds to keep the "connection" open. If this value is 0, then connections won't be kept alive. | +| `WG_DEFAULT_ADDRESS` | `10.8.0.x` | `10.6.0.x` | Clients IP address range. | +| `WG_DEFAULT_DNS` | `1.1.1.1` | `8.8.8.8, 8.8.4.4` | DNS server clients will use. If set to blank value, clients will not use any DNS. | +| `WG_ALLOWED_IPS` | `0.0.0.0/0, ::/0` | `192.168.15.0/24, 10.0.1.0/24` | Allowed IPs clients will use. | +| `WG_PRE_UP` | `...` | - | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L19) for the default value. | +| `WG_POST_UP` | `...` | `iptables ...` | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L20) for the default value. | +| `WG_PRE_DOWN` | `...` | - | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L27) for the default value. | +| `WG_POST_DOWN` | `...` | `iptables ...` | See [config.js](https://github.com/wg-easy/wg-easy/blob/master/src/config.js#L28) for the default value. | +| `LANG` | `en` | `de` | Web UI language (Supports: en, ua, ru, tr, no, pl, fr, de, ca, es, ko, vi, nl, is, pt, chs, cht, it, th, hi). | +| `UI_TRAFFIC_STATS` | `false` | `true` | Enable detailed RX / TX client stats in Web UI | +| `UI_CHART_TYPE` | `0` | `1` | UI_CHART_TYPE=0 # Charts disabled, UI_CHART_TYPE=1 # Line chart, UI_CHART_TYPE=2 # Area chart, UI_CHART_TYPE=3 # Bar chart | > If you change `WG_PORT`, make sure to also change the exposed port. diff --git a/docker-compose.yml b/docker-compose.yml index a9e8d0bf..7a6a4f49 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: # Optional: # - PASSWORD=foobar123 (deprecated, see readme) - # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123') + # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash) # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 From 7608f91913c2693537be5796b4619b2197c5b223 Mon Sep 17 00:00:00 2001 From: Mathys Lopinto <lopintomathys@pm.me> Date: Thu, 27 Jun 2024 21:06:15 +0200 Subject: [PATCH 34/98] Right README Push the latest README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f76ca3f8..921c1d6c 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ To automatically install & run wg-easy, simply run: > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. > -> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. +> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See How_to_generate_an_bcrypt_hash.md for know how generate the hash. The Web UI will now be available on `http://0.0.0.0:51821`. @@ -102,7 +102,7 @@ These options can be configured by setting environment variables using `-e KEY=" | - | - | - |------------------------------------------------------------------------------------------------------------------------------------------------------| | `PORT` | `51821` | `6789` | TCP port for Web UI. | | `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | -| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. See [How to generate an bcrypt hash.md]("How_to_generate_an_bcrypt_hash.md") for know how to generate the hash. | +| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. See [How to generate an bcrypt hash.md]("https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md") for know how generate the hash. | | `PASSWORD` (deprecated) | - | `foobar123` | When set, requires a password when logging in to the Web UI. *(Not used if `PASSWORD_HASH` is set)* | | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | From d3e8e627e9764be4c4c371085446f9f58d5bb4c9 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Fri, 28 Jun 2024 10:37:56 +0000 Subject: [PATCH 35/98] npm: package updates --- src/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index bd59b290..2eebb351 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -166,9 +166,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -2972,9 +2972,9 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", "dev": true, "engines": { "node": "14 || >=16.14" From ee117ddb912955891de5cb81735437716c158dfa Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Mon, 1 Jul 2024 00:03:23 +0000 Subject: [PATCH 36/98] npm: package updates --- src/package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 2eebb351..86c3e277 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -3484,9 +3484,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "dev": true, "funding": [ { @@ -3504,7 +3504,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { From 11f5122c3987ab5f98d555a165c5587b06673798 Mon Sep 17 00:00:00 2001 From: EdwardWu <bluehome.wu@gmail.com> Date: Thu, 4 Jul 2024 10:47:18 +0800 Subject: [PATCH 37/98] translations: Update Traditional Chinese translations * Update strings closer than Taiwanese used. Signed-off-by: EdwardWu <bluehome.wu@gmail.com> --- src/www/js/i18n.js | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 41d339e7..467bb460 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -445,27 +445,27 @@ const messages = { // eslint-disable-line no-unused-vars password: '密碼', signIn: '登入', logout: '登出', - updateAvailable: '有新版本可用!', + updateAvailable: '有新版本可以使用!', update: '更新', - clients: '客戶', - new: '新建', - deleteClient: '刪除客戶', + clients: '使用者', + new: '建立', + deleteClient: '刪除使用者', deleteDialog1: '您確定要刪除', - deleteDialog2: '此操作無法撤銷。', + deleteDialog2: '此作業無法復原。', cancel: '取消', create: '建立', createdOn: '建立於 ', - lastSeen: '最後訪問於 ', + lastSeen: '最後存取於 ', totalDownload: '總下載: ', totalUpload: '總上傳: ', - newClient: '新客戶', - disableClient: '禁用客戶', - enableClient: '啟用客戶', - noClients: '目前沒有客戶。', - showQR: '顯示二維碼', - downloadConfig: '下載配置', + newClient: '新用戶', + disableClient: '停用使用者', + enableClient: '啟用使用者', + noClients: '目前沒有使用者。', + showQR: '顯示 QR Code', + downloadConfig: '下載 Config 檔', madeBy: '由', - donate: '捐贈', + donate: '抖內', }, it: { name: 'Nome', From 7ecf7b08b1af22904ce05900411ce929f2b3376d Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Fri, 5 Jul 2024 22:42:38 +0200 Subject: [PATCH 38/98] fixup: typos --- How_to_generate_an_bcrypt_hash.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index d2b69f59..bdd8de7b 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -31,9 +31,9 @@ pip3 install bcrypt --break-system-packages ```bash sudo dnf update sudo dnf install python3 python3-pip -# If you use have install python using apt +# If you use have install python using dnf sudo dnf install python3-bcrypt -# If don't install python using apt +# If don't install python using dnf pip3 install bcrypt # If you got externally-managed-environment error pip3 install bcrypt --break-system-packages @@ -43,9 +43,9 @@ pip3 install bcrypt --break-system-packages ```bash sudo pacman -Syy sudo pacman -S python python-pip -# If you use have install python using apt +# If you use have install python using pacman sudo pacman -S python-bcrypt -# If don't install python using apt +# If don't install python using pacman pip3 install bcrypt # If you got externally-managed-environment error pip3 install bcrypt --break-system-packages @@ -98,4 +98,4 @@ The hashed password for an docker env is: $$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZj The docker line ``PASSWORD_HASH`` will be: ```txt PASSWORD_HASH=$$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe -``` \ No newline at end of file +``` From 378464a424c5109eb49ac17d3a8bce9c4a22c7d0 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 7 Jul 2024 19:13:03 +0200 Subject: [PATCH 39/98] How_to_generate_an_bcrypt_hash.md: macos guide --- How_to_generate_an_bcrypt_hash.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index bdd8de7b..acca38fe 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -51,6 +51,13 @@ pip3 install bcrypt pip3 install bcrypt --break-system-packages ``` +### macOS +```bash +pip3 install bcrypt +# If you got externally-managed-environment error +pip3 install bcrypt --break-system-packages +``` + ## Generating bcrypt hash from the command line You can use the following one-liner command to generate a bcrypt hash directly in the cmd/ terminal: ```bash From 6a588ee3facd141ab5e2d6f20447836bfd758c70 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Sun, 7 Jul 2024 17:13:42 +0000 Subject: [PATCH 40/98] npm: package updates --- src/package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 86c3e277..c12f06bd 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -2827,15 +2827,15 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.1.tgz", + "integrity": "sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2972,12 +2972,12 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", - "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.1.tgz", + "integrity": "sha512-9/8QXrtbGeMB6LxwQd4x1tIMnsmUxMvIH/qWGsccz6bt9Uln3S+sgAaqfQNhbGA8ufzs2fHuP/yqapGgP9Hh2g==", "dev": true, "engines": { - "node": "14 || >=16.14" + "node": ">=18" } }, "node_modules/merge2": { @@ -4239,9 +4239,9 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz", + "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -4255,7 +4255,7 @@ "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/isaacs" From a2c758dbcb2d883ef64eb70638ed220bad668218 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 7 Jul 2024 19:15:57 +0200 Subject: [PATCH 41/98] How_to_generate_an_bcrypt_hash.md: macos homebrew --- How_to_generate_an_bcrypt_hash.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index acca38fe..3da616c0 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -53,6 +53,8 @@ pip3 install bcrypt --break-system-packages ### macOS ```bash +brew install bcrypt +# If don't install bcrypt using homebrew pip3 install bcrypt # If you got externally-managed-environment error pip3 install bcrypt --break-system-packages From 438fc7ccf9aae0310640f1d30c63fcd4f2a01a81 Mon Sep 17 00:00:00 2001 From: Stevie Galluscio <galluscio.stevie@gmail.com> Date: Sun, 7 Jul 2024 11:57:04 -0500 Subject: [PATCH 42/98] Fix bcrypt hash one-liner --- How_to_generate_an_bcrypt_hash.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index 3da616c0..46cb2275 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -63,7 +63,7 @@ pip3 install bcrypt --break-system-packages ## Generating bcrypt hash from the command line You can use the following one-liner command to generate a bcrypt hash directly in the cmd/ terminal: ```bash -python3 -c "import bcrypt; password = b'your_password_here'; assert len(password) < 72, 'Password must be less than 72 bytes due to bcrypt limitation'; hashed = bcrypt.hashpw(password, bcrypt.gensalt()); print(f'The hashed password is: {hashed.decode()}'); docker_interpolation = hashed.decode().replace('$', '$$'); print(f'The hashed password for a Docker env is: {docker_interpolation}')" # or python if you run this on Windows. CHANGE your_password_here BY YOUR PASSWORD +python3 -c "import bcrypt; password = b'your_password_here'; assert len(password) < 72, 'Password must be less than 72 bytes due to bcrypt limitation'; hashed = bcrypt.hashpw(password, bcrypt.gensalt()); print(f'The hashed password is: {hashed.decode()}'); docker_interpolation = hashed.decode().replace('$', '$'*2); print(f'The hashed password for a Docker env is: {docker_interpolation}')" # or python if you run this on Windows. CHANGE your_password_here BY YOUR PASSWORD ``` Please change ``your_password_here`` in the line by your own password. From c73c6c72911ff4da18b00aa4227fda64cb22cd75 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Mon, 8 Jul 2024 08:42:56 +0000 Subject: [PATCH 43/98] npm: package updates --- src/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index c12f06bd..4ac3c884 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -2972,9 +2972,9 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.1.tgz", - "integrity": "sha512-9/8QXrtbGeMB6LxwQd4x1tIMnsmUxMvIH/qWGsccz6bt9Uln3S+sgAaqfQNhbGA8ufzs2fHuP/yqapGgP9Hh2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.0.tgz", + "integrity": "sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==", "dev": true, "engines": { "node": ">=18" From a0c495ddad0ad7e5662ac3bbb72a868047d4dfc8 Mon Sep 17 00:00:00 2001 From: "Elian (ThreadR) Freyermuth" <elian.freyermuth@gmail.com> Date: Tue, 9 Jul 2024 14:11:07 +0200 Subject: [PATCH 44/98] Fix a small typo in README.md Changed from "Home Assistent" to "Home Assistant" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 921c1d6c..81d531a7 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ These options can be configured by setting environment variables using `-e KEY=" | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | -| `WG_CONFIG_PORT`| `51820` | `12345` | The UDP port used on [Home Assistent Plugin](https://github.com/adriy-be/homeassistant-addons-jdeath/tree/main/wgeasy) +| `WG_CONFIG_PORT`| `51820` | `12345` | The UDP port used on [Home Assistant Plugin](https://github.com/adriy-be/homeassistant-addons-jdeath/tree/main/wgeasy) | `WG_MTU` | `null` | `1420` | The MTU the clients will use. Server uses default WG MTU. | | `WG_PERSISTENT_KEEPALIVE` | `0` | `25` | Value in seconds to keep the "connection" open. If this value is 0, then connections won't be kept alive. | | `WG_DEFAULT_ADDRESS` | `10.8.0.x` | `10.6.0.x` | Clients IP address range. | From 94d87681c384689cb4aa371d9d9c3a924f40ce5f Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Tue, 9 Jul 2024 15:01:53 +0000 Subject: [PATCH 45/98] npm: package updates --- src/package-lock.json | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 4ac3c884..95700cd3 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -1917,9 +1917,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "peer": true, "dependencies": { @@ -2827,15 +2827,15 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.1.tgz", - "integrity": "sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.2.tgz", + "integrity": "sha512-qH3nOSj8q/8+Eg8LUPOq3C+6HWkpUioIjDsq1+D4zY91oZvpPttw8GwtF1nReRYKXl+1AORyFqtm2f5Q1SB6/Q==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=18" + "node": "14 >=14.21 || 16 >=16.20 || >=18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2972,12 +2972,12 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.0.tgz", - "integrity": "sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.2.tgz", + "integrity": "sha512-voV4dDrdVZVNz84n39LFKDaRzfwhdzJ7akpyXfTMxCgRUp07U3lcJUXRlhTKP17rgt09sUzLi5iCitpEAr+6ug==", "dev": true, "engines": { - "node": ">=18" + "node": "14 || 16 || 18 || 20 || >=22" } }, "node_modules/merge2": { @@ -4239,9 +4239,9 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz", - "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -4254,9 +4254,6 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } From 72ba79b5f2a636adab77ee116e0d11620c344bf3 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Tue, 9 Jul 2024 17:06:12 +0200 Subject: [PATCH 46/98] feat: load configuration from file * import json config file & update the config (restore) * export the config and save it to json file (backup) --- src/lib/Server.js | 19 +++++++- src/lib/WireGuard.js | 15 +++++- src/www/index.html | 106 ++++++++++++++++++++++++++++--------------- src/www/js/api.js | 15 ++++++ src/www/js/app.js | 16 +++++++ src/www/js/i18n.js | 2 + 6 files changed, 134 insertions(+), 39 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 40341ee5..2c046d99 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,6 +265,23 @@ module.exports = class Server { }); }; + // import_export + const router3 = createRouter(); + app.use(router3); + + router3 + .get('/api/wireguard/dl', defineEventHandler((event) => { + const config = WireGuard.downloadConfiguration(); + setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); + setHeader(event, 'Content-Type', 'text/json'); + return config; + })) + .put('/api/wireguard/upload', defineEventHandler(async (event) => { + const { file } = await readBody(event); + await WireGuard.uploadConfiguration(file); + return { success: true } + })); + // Static assets const publicDir = '/app/www'; app.use( @@ -276,7 +293,7 @@ module.exports = class Server { getMeta: async (id) => { const filePath = safePathJoin(publicDir, id); - const stats = await stat(filePath).catch(() => {}); + const stats = await stat(filePath).catch(() => { }); if (!stats || !stats.isFile()) { return; } diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index d4f32c5f..ba4a224d 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -111,7 +111,7 @@ PostDown = ${WG_POST_DOWN} [Peer] PublicKey = ${client.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${client.address}/32`; + }AllowedIPs = ${client.address}/32`; } debug('Config saving...'); @@ -206,7 +206,7 @@ ${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\ [Peer] PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${WG_ALLOWED_IPS} + }AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } @@ -319,6 +319,17 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } + async uploadConfiguration(config) { + const _config = JSON.parse(config); + await this.__saveConfig(_config); + await this.__syncConfig(); + } + + async downloadConfiguration() { + const config = await this.getConfig(); + return JSON.stringify(config, null, 2); + } + // Shutdown wireguard async Shutdown() { await Util.exec('wg-quick down wg0').catch(() => { }); diff --git a/src/www/index.html b/src/www/index.html index 72044728..2fe8800f 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8"/> + <meta charset="utf-8" /> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,45 +23,50 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span + class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" + :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" + class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" + :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" + fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" - @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -91,6 +96,31 @@ <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> <div class="flex-shrink-0"> + <!-- Import configuration --> + <label for="importConfig" + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" + stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z" /> + </svg> + <span class="text-sm">{{$t("upload")}}</span> + <input id="importConfig" type="file" name="configurationfile" accept="text/*,.json" + @change="importConfig" class="opacity-0 hidden -z-[1]" /> + </label> + <!-- Export configuration --> + <a href="./api/wireguard/dl" title="Download your configuration" + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path> + </svg> + <span class="text-sm">{{$t("download")}}</span> + </a> + <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> <svg class="w-4 mr-2" inline xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" @@ -109,11 +139,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -194,20 +224,24 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" + :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" + :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -215,7 +249,8 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" + v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -291,8 +326,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -309,8 +343,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -414,8 +447,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" - fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" + viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -532,8 +565,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 20 20" fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -574,9 +607,10 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" - href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" - href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" + target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a + class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is + licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> diff --git a/src/www/js/api.js b/src/www/js/api.js index 356164c5..a45b5f9d 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -138,4 +138,19 @@ class API { }); } + async uploadConfiguration(file) { + return this.call({ + method: 'put', + path: `/wireguard/upload`, + body: { file } + }); + } + + async downloadConfiguration() { + return this.call({ + method: 'get', + path: `/wireguard/dl`, + }); + } + } diff --git a/src/www/js/app.js b/src/www/js/app.js index 6745f698..d3d8959a 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -299,6 +299,22 @@ new Vue({ .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }, + importConfig(e) { + e.preventDefault(); + const file = e.currentTarget.files.item(0); + file.text() + .then(content => { + this.api.uploadConfiguration(content) + .then((_result) => { + alert("The configuration was updated."); + document.location.reload(); + }) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }, toggleTheme() { const themes = ['light', 'dark', 'auto']; const currentIndex = themes.indexOf(this.uiTheme); diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 467bb460..70aa0c59 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -11,6 +11,8 @@ const messages = { // eslint-disable-line no-unused-vars clients: 'Clients', new: 'New', deleteClient: 'Delete Client', + upload: 'Upload', + download: 'Download', deleteDialog1: 'Are you sure you want to delete', deleteDialog2: 'This action cannot be undone.', cancel: 'Cancel', From 4deca34fafe76be59f58869eadb305187d25b0e4 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Tue, 9 Jul 2024 18:53:54 +0200 Subject: [PATCH 47/98] fix: reload configuration * run linter * screenshot update --- assets/screenshot.png | Bin 107555 -> 87717 bytes src/lib/Server.js | 6 +++--- src/lib/WireGuard.js | 8 +++++--- src/www/js/api.js | 6 +++--- src/www/js/app.js | 7 ++----- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/assets/screenshot.png b/assets/screenshot.png index c5b73ccb96b3f4b372ad4c7b19384d1f1705ebe3..6f87a647a62c366850c975d2d81f5a929542db2a 100644 GIT binary patch literal 87717 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 Ho45Z5EgK0e literal 107555 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%0Am&-fX8n#JhRG^b&`om~0m>DNDA z_Z*ksF)yFF$STn08BZ<?f*4t0El51Ya~5U4-2WN+6^wS~4KyIVO=3G?^KBAEG~T@s zkH#1q=jT90P39+sxbqv-^)-2UsTp`7o3g&TY8eDD!->k}<{9#s5sRXxbK-}>0s2bB z^OC<jCbwwPoU(9?x7N83uq6{ZuZ``VFxMP`S<k_ln-NuM_a9J8Oa;8|4bjQ#jj^3J z&cpF&INsJ(wN=>b+DN=4v%O;B?{p~!E@eIUcTGyXWzo7pKuE}+3ci_Tsv}6`J@M19 zINWoB?k_B*%O{ny7L*fOT{>&wD^rWp>%7mWP}TVD_Q3B<<lQ3@fhiL;5|}RWQP1@? z|LXvqT;O*}zEJE))6WP_eqHT|Ix8P)*6&nJ#m9XxnUx_5of`ATiq|B|#}k9Pj~c2I zWs1JJj|xGRa&3K8oLf9)1Nn%QW=q#&{*^=nPPha4P-pz_d+$=b)s!LtVk|QxwKUc6 zf-dG`ka@cJrhrlrLW1^z>+4~dmJF~#5X~H%m1^8<@2L!bB+%WyUq_F$BS%JyPz>%+ z>!zrb^0t3{=({o}>O5nL1A0~UDLkCyHZj{ld=&?Puugz4UF#sDBDAWwIR2N{bprIv zEF65OwJj~>einp<nL6^UDKJb`j{mCqTx`yyic*)camcUOSNP-1c@Ww}ODnvNny}tD zP-2x7M(%91mWUnXM1&ma?rMv1LG)&I*2gbT@?JAHXYZfI=GiZ|u%=^va4z>mj=zE! zq>&H{H&a;@hYKAU?P8}sMO4(w!RVajDh?k`-<5C(eO*JHBqM%Cp0h0*PSBqjPe$SB zXxn@|(9h%XYG(^2G;6E>>&`?;`$we8=N|T3TUq2fQlUf;0mcJagY&g;dl-(mxIZne zkq9h<#Wby)R6)=YIUL<F>%29o_QFyQfOjT46J@Qcl>XG1C`cKow9h%Rrrfaa$cpGb zOBO0&J`bUQ$kqwY<=?s=rNE8Ko%y<;VVs`slCLYW3`Pc<t%q69jtN8Q__>V8a)Jcg z=b8~<-HFH2MU8Qzv!bPKJx#)8jou2QOC28*N}8Im@@m+H{oG*hQ*Uwc%X5;nq3bMF zyXV#Ytq3Cxli%+t=CWepY4g2g%hQR4mHjsEPi{6=!KABK<Zn{O>-VUwU%HQ;IwJX# zC_h=VD3S(DFPqDilC}4I!3Xd89v<Qyhv@nZ5Ey|cS;=xvGl08PXRKSqQcVog)%5an z+FZqs)J#FeS-C2Q1FQkN4L>MigQu3t?yDS=+-`#I))qQ~=PD~%^nY@~6#g(`e_w;& zXs*p~k*@Z0uNxM%DP-b*El7DtZm3I@`mKNkJmvil5_9EpXvEF(bBCXV>3QA9(9bt& zB1wE99_R=5qD9t@?^X>$yM>z8x2{i*D5+i6`pz&G>68BZO6engu31?LC*SlOCQywb z7#JLZ&h?KF-00({QQEm*RXlWeU{Mw#S2w`?^y}77^s^78nlj&?^c28u$A37h_scO~ zN1eZABOoNGcF-IBSt@mY3V|Fyl<=r;s4<b|oMp(9*NO&uOaY@6+u4xg)o>a>E0XOI zp?uYv{9T8V4+r=na4Na!$SCgm>L6bcanLJ{PJF2fZE_F&s*nk?8`rH~<(2Ob>E8f! zU)ly@^Aayqx~MY})dwz+tiH|SO`h}8!wF=RlBa=NRfM@*&iN&d;HisCBWI)fk=G|b z3()quI=XUTheYMkd-nnX<CxEct`a~^z)C$o{E^N5`!Ier2FA2CuC>BpYpW_MtM)e{ zjR{~I<U8%vu3?{(6!cm@=n3C#Pkz`)t}%kq(&6t(MbX`I%FEGJfdnhOYqIA}nDX=Y zK3FQXucAE9MHi9xjW8sXKst!67={kpdv$N#2nE&6wVb!1bUJZjuEosNU^k+ct&w*2 z)$>*DB7dHpznyC_Qu;&zp`SzUtifOQ3D)}ghGB>=6YdtM+`n|0bp$T0IBy%@?@2T$ z0&CP4)@y#(z1aCtP!Xmu)#-jQChWGs&!+^;ym`jX{%QYSkym`3pS$}nV|biut}W`b z-7-hTaXbjFaGRJ2#b)hnpLiqm-?xev#~lX#1xO573wzjCXh@{mkCw2rKJN&b23(GH zPQyAMxK;!`zrY552-Ea*TyY_D35=O9DNsr(#X>-EENQl?GC`;Rq7cXyR;+V5&Q`vN zkl=4WEH)h-9$Ho8G8myk?^`4n8>zdUuNlDBU_UlaYNx`R>ufd5XW#bpAkq!+{_suy zF3-QA1emo(^_+nX90MV^|6-iDNR96fCX}w$Tv`SF?b}e1bF=x;qnYy8;Q}oPljeqs z8Ym#;iV#O9CV5o>rbBJ#b${U5K!xZ|y}!A+KYRcw9CDMm#;Dd$1p>&S#>TW$LY{D` z)!Kp@AP3W3d$%J#C7bH>?lTk_#LH38|L1I>#yfzPG?*3gf>N*EVzGWAu5)_e@DMF| zFsr+NaKOaGq@uwgW?11<rvRk4S)y|)btqX4tMbc?5x@e52lny?QYYO=emfwF`a1_j ztWeWVqcv{iYB#@Q)$>0r>fgI!gflYZ=;2V{=DpJN!F(6c&yDRSw~7gT3JRM+9&vhJ zs_qew6Vzn2nEO2KMCEVQMqF=lWvh<N<=bGQ(W1MA1Oy%qEthkm)f)wG^#yG}1|V>m z6*`PWvQ7qdN5yKa7s9%j3$Nb%u)vAQT<+qT{up)je*H%z;E8wW)hzq4n{o=j=pjR& zQYOK{2<9aSG#VJvMcCaf9XLG9qf$qGpLSHUwI1)Fw@2~GT}DQn;NaFo-4!KC-Dyds zkN1k$*!ptyqbyT7)yffFAzfFeCjH|vPlo2_OS+kpk6szK&UVOfx#=kAegQC+HhG4B z->ra-x|r}QV<N=7PN&$HFW^564q$cW0Ty!qk|QhVKmYhI96n%USv@_uq5}DEJ;;JD zz|}Oj$hlw1$^LglWcuQb>BJ}8`KzAZKSLWoE`ZEDu6a-VXGrpo$M*pf6_cYDM6ZUu z|K%6F*#TgkQw+th^nWhn+cA!omR14cNh@sZ+30^_+W?462rR`=>MOy2{_$UdW581t z!};J>J&=Dcw3Z%tT|C*sD?)*PuH??&_WFMx_`jd@-_OqfZkqpB&S7N#-<IM2!~dr& zLonyq-IwIogTB9x&ARnJ*t)-P%5W2t$dy9f{(WctHc`!_^22?wo-ke$qLhLE(PlAo z3kwTBd$wp6tP0}c>s1Kx`ybBewRxcP!2T>prp*8J5LLilrdo7eO}_uryziy~oX7ku zsmQy38p$g!vG5eIm;d{~|NW%@c47YSruqNFv5?B#@rf0tO&+nIYg}kJrP%al7Uz4{ zD3+5uf5@R$vhbQaf$~p#CS`?>ixc?a+lqx0R!G=>P=@X%h;{S&7YT7>P&S%E+3S+E zYjBXOi;KOBi<vpm-XQSX%DWJ_b4;dcXXBit%)sE_s3{@Zr1h88?#i^6`J9?b#?wTB znwjic5VMbf!2L6d^Ci<rrFQE%<yUwW`#{8e5N34E`rlm75w0)l11GY(<Y#Xvb)nBQ za6zs|RO*J~3>wU2(3I4~L|r{SJ#D>wDK)V;1mDid$-Cwy7Kfe_>#ll}n3&c9N^)|f zQbwyatsIcq)47vD35*lpAtJz--?~wHNU_79(OVEEl^-@_$Z<*C{qaCoVQjkV-^j^b zZ7I5?4l>H5TVB&)lW{2X{2Q5Nv1F9CPI8-ThjpF~?8~7ro@Ah5AZ7b!>s4T_^Ov8V zDRJA!&-_hJGSK`8vw7K~NJc%nGIr6uV8Ov>#Fj<&@6&J*WVc>Gc*UYE_iX9IELhSl zS7lXj%{}Y*R}5*K$5PV4Np1!b$zXG(@)`m`Tftl%*-)LEOhUA5R=Q-2gz#RX;s)aW zsW5Qz9}TC0Yo~y8$U`H{{cB;Bc4hXWjXID1$oi<mgYsoTYan|?RU;9k3d{ozs9>xr zFxdsj$<SBqzB6|6{dg&#%-N*Rga63;0zR}D>CnZE2s>5ts<N9odb-r-YZ{|GH^`S` zU#2NYSAm6@8)$lOZ&A0pbN?O(`~VmS+%ghwjyK47UF%d!%V+KftT%DiCQ{^IRky$Y z^#G55{@b2mNBVnl=Kiv-pHaddV*L3VAKBa-8$Z9e4|!`kp;E*4>=E0u`)qO*WlnZ8 z9(N3#o(X`zgjen-iCDWm`lFO_>#Gj^79B|wmD8qlj=fVT<&!GpC!Tz&JXkLuXH;BJ z`8?iR@F;bdN$_KE0De6xp;y+l(9|w{30xs=(-t73aJ5hd+?TbCcSN_B_4!zenP=}k z(-bpI?)}}Npw+j~M9tPvpK3XewU*&REdD{qouxmjfAkBPQt1-hK6>IHpx*Zw2WFO% z$Kao7H0ggvsJI9-J-(I7w7=Xh@E<o%q$5t<!@lIt7N?@xv3Jw@s-gEk{b$JT#}YaE z_c-A93`4EKk$r>vtCEjI{u7)mAnTg_FL1J8MKu@x3FX2Yw5tD~{sn!Z)Mux^N-Tq0 zY3DDS>bdtr@I=Lg!I3844v3z-{v)sj0x)+v(FyO}%K`IFpMg|_y))hRCN*MHQF=57 zQe_FL8fViPgBgNroQ!63IS41<2aQG^Z;n$FZvcfisn0hm$hrt5n7FT-AU)<9yWhV3 zm8O{xC=||l<=aOR;TXLnHt|^wS8{HCjX}=>%F;0sg-3k;kc?;Ef@2=iwh9NA#~gK@ z=h0g;_LI)?{!kmBOVJ2J<od*C4IOdCL|tZ6GCx9G91sYEpnhf1fE<xE<>i$Oas?`J z=$<dc4I|@p=Li!d0+k}fwZny3>HSC{SgXktcf~z=^9_bGdEDZAHf60Qj`f3{*MSN1 znx)3WEQ`{;vQ~rWVDmmHC^!jm_{P0r)Oc>q^M1jid}cS~_iqcOqXnM^O5CYjfr8U$ zN<NhR`t|F0$#3`$dQ!ZTJRmEIH(i~q;w`Qx2{ZKuv<LuZ*}v{U#<XN=_VDD#kIn!j zC8u$HmYpPeR1JF3DVeN%saxVneEW7`2vD)KKra6ABfi%%-Cb&r8T30p;Tt@xOba`R z9;4KH?}*LtZ@N66H#r~ED#|#sk<-#bo=bfM)GmsFsVTGfe4d(igpSKRs=J+N2%z8o zz?{Sk1k``~eCqgSxHiThhvUjl(PVc)pmpajE=pR^ar0=mr@g!yOyeLRw_nW*lmn!6 z2v&5s*(&#WmVr6JH#JhMZJ$YCGyO2ZG*~v*)1Io!o1ae_zq^zC(=q++a(w!>=Zv}B z9`xVtJ2viNzw>vYU=~?DpYXj_K-ECJP7ttzC0jbyF1(@f_e0Wg6B(k|5AIR^x-H?H z?mS6-ba-TI6@N+BS;4j02q8S@omP;)vW*sA2FgG&Xiv<peReB{J>O0ai@tBmVajsQ zbsEXNf<9Ceoeyk7Rma~wy?<<Z5BT3&pc_Bp>?h#?>~^sE^4BW;eso(LPG}A-Qem<_ zf&q)3V*hjg)W(ADw_+KpCBBF_Ax4~Qmr6Fq^(z;_N{Ws9$aE7-yIO2~tVNF`$<;cm z6fwbrvyRF6vmRZX?E8&c@HQ7`|5LWGE{6+?kv(>y$Fz=lgLKZKeEj?lX0nCljg1bD zsGf;<E7VO`L!RgH+@(n4&NiITZq49y&(NOSgJrQJ(Hhk=ZlC7d<ffjpUGG2I)=@td z=Ib-}eb4R*BCVuFTu{P^?hTHCQOPl8!JLGQd{te!gEP`kM0cUmAm%x^+xHZHgNSv$ zM6^{ByQKOZ{UPJ*XHD~^b7({r5fMpC{W-kzp*OwYa`)&KlWMg|-84^2eW9h?!5IV& z2+Yd3hQYIDTZ54OzNw=M$|6>_31Ik|4>~MAkZ&Beeu|9FQTaIjjuc3>`kc=O0qw>B z!ImJ*!~m?}Bp~#R-~B{>261#i(C4UEa~2ON%AT-|V+#CNm?HIpF!iL<85jjxk|Q2n zW$K7pa-5;Ac7Pi|l}@8`_d9|$Y3n^88zb!lPhN`7%|pHCo41!8dGZBtiN4m>+x2&* zf7W2f%OeZ-IlfHsFdTk43ea3Jw(S+FsUkxBVp$mG%#+Uuz0}EEQ?g>A*Jqo-i%}Y& zBH8*Na52gDi{Sc{S5fS4s!2?$88fBTt1mP(-R^b)j0qzTLVz+!I01AiBlAQiJKH=H z8rh!1u*$%&x|)+N;ievLXM=|^u=^Qs)E2eO6by99+y8bXTHoLcB-Iz)xHiM?_K85w zHt8<*Od2b&kwz_LncFRx1UlcP>!O=UuMi0)vj+_(m-Q5a(+3RDnKh!8(^He;f`aOG zY_||*J14Cn?f{W-KA0i|yNu(y7y!+@Q@bQu;mg1zg>JVfRS#awe4Ib&bp|xO1_>xc zmgL#kP3WGrq|<8T6;Geu9+z{|#}Yf)l0G*c-1~5@Y-zYNUZOU;{Imnc@B|ha-;Au8 zt3E=|(L94<+KL*cP5c&ru{ES#2;3pc^Bc~}5q;>v8uQk#zuVPLE)Qm^L(kpBR30}3 zdTor-Zpk=+lWgd;4K}I3oRi}rS@2neewu!T9a!U4@jJ`Z2c*4&<O0Edq}Rg^3ZtTi z*>p=HK27Bk6BB!~#%dW>+PrGQ5qUikBUQFAbWt<3TSw`cR3=t?$*E#_78tsHiOj&{ zw8>yG1Lu>X4M>#Tlb1dVL&Iv&BcYo&L)%o1P#YKF^O)>rOlzs1TfPW%xu)f)X{Uw4 zTPJVM8#@FAzUb++uEb=eg@#2S%E&0=^jCstvFDVUt?N!n0EP{^f8Me;*P0E*Ok!;$ zb1DUAv7ye`l;`@ASU$=79$_+9Y$LC}Y3=g#F!s{Z*3V_}Vw{5}J-`S368g1LuxCA( z+aS1p;_^fd=CvQh)N-j7+H%@I7nAp$AW??sWl-TvX&Ee&$1V`e7ei8I1Ie_t>_?Il zRS771x}$A)!bm4ratH}>B`3l7zJWg{3!j$o6WI9t2z&yx4fS0gyQwnZvo>%1x$&z< z>qS3Gm&*YbAtv{kA@W`;JG_1LkiovMnCXyk<08kNAWe1xwmUIJsGFR?Zzt!z0@iiq zuUs(u?g!sT_bQRipJR%0g(4*UT1X*Pgw?b4h%HZ&jj;o+rlWgw=OnNE$L*R20~U{A z@)IMua>sMt=V7b;J9J{@$6LqzLdXcrX2~Y>ODQMRZKpx!X_4jWh+~Z-xW*$+vH4)G zmC`ssrQfL5YZV%>8iAdhY_>2mW58_FVdN0wYzaHH*zNjyywK07Ufb<y^|C_y6($!= z&CS=+j3%ecFVh`?+qpVT>|l1MDJw3z=i(fC)<So>yR1ZUGf(8;ieL(mRH$AoOMcy( z3Qmr!+RKCb6l>*^9ZjEfXB2=d)`m<lIiqA8M1`+=CpaXr9})E`6F1xIr;~G3M(G}_ zzVk6p8;N2>7@}@rGL7(yigd2YwVD~)$1z1w1p1#x5X&m}%GWXxgcY=rNKjue_xCE$ z3%vyow<)VWcI(&uwXzh4%KS_IPzj=lrynmgwTv46$e3K@rGpWp!>c%I@|7Ab;HTb_ zhfLBM^p`&LU%7@?5v%i!nKu!w3q5wMh=?P&$cqT*((gPTBM~o5N|HQKY6&=bf9mMW z+OUTan!m7iD-GB}N}eMVV6#;chd;g_&-$O2KoKPFN4vxK^e=7G>R*=~QU9t&A45@- zfYKrM^gEr8cGKlW0!9iOG(1CNs9(F>+)$}l_J!U{rzDiF@tjiPpuKG9q9MC;`j*vw zin)J<W93o{XBf{2Ka>H2TD~__!t0#tvW0M>SOs>SAP~gv#0txQcIiC$0xm6MUylud zt9|mBU`m?aU6F~9+=v*^<Kc(8cODo6v7q=(73u33gN(JKFXUY#V+=L+O&TWFx@z=? zea$rByDa4DW$zs(d7sl**XbDSlZziO9ah4Cm+SoTK|9YQlUL2|*=X@i?_c~k_4Xv} zJ;o<gP}rF~44p4s<-3z!larmJPVb+Cn2nc`hp3EGZ~x0V=Sw@iTI9`#&CcLaGjg40 zo4ZlVM@7m$n2SO#Y=<@MA?v|#=ngRRwobUnXa&2zj*(=G&gp}v2-yTA3HzS>RESxi z{g<~A$bRS9!7sPVt@RP!JN@0$XBCnuE>C+8!3jmAAackp>f{?#Xl(*sxcAL7ZLh^8 zkiTtGrtPH2>KIYc8_pzDl`159r~X?tyvD}yi@|syD`-Q<aY|neP)VBgB`Y3P7b4S} zH++SIL2$FVeiA~w%?nbc3BGHd&CQ*+=V3hj2!M=&Kj24LoBXsr)^Jdwu}w-<!`5U} zcSa~%$@tH9LYE|`xynW&#JmPcBruW9c9dg!Njh0|-X9b)np~!ODoG85in-X>s)$w0 zmO~JdHyvl)l~#28;6*ygX0JpYgF$Uq8}QtJIy5uk!K+gCa4V(?5t9L%uVnD%1Z5R! zzZxs#mm=ar7EJNRT;^MD31|D4&z&4!p7GLH6&Rsnwdi0t_=YI$_07}n&t69q7of+8 zJv(R-$!6^gT)Kc&urHaMkLfMAg7vAPsh^*jEAO4bRaU@RnRzIYZoj74@%{a*VSQ$K zNn^F{%pzN6-W{je#<>7=w&d;`VZXiA$*s|;fqvQKO415Txr$3twk8j>J6U(n2jyFt zCD4VD)uOP^P3Lp1Mh(Z!Wyfh<W;z3B2Kw;IxFHWTW7A`OwXBdnnEh1^OXLTfb<Zv3 z$x0YnO>)+K{;>1i3PL-M^^<<Yjr><H#8)9}(>k4lyhmDR?x%CD%V(Nx$mpgwakiv9 zs=;w9cYtbU7e>57Z1&7Zw6_z>$CKB#r)#fhmpDoz+K*PO=>`0&L+o>QaOG}SSqkQ` z%rqd*7M@qL(+`CnV|=%{LudI&{PiX(zvkyN+ePTW4JianlBP*eqVxW?^S(FdL|rUQ z>5D(O=CZOmkyovWNjl0<RE1hxDa$Q{eG8s6hUBEz>69M^Zo%m;qw0*w8yZ=)hmdXd z&axDv+(H3MF;S<+>y_2GSW{@@)~AQGR%?H)2CrGLP+O`d5kC;|=t(YvpmGuD$G{c7 zeJ46Sf5pjDtfaqTkJAA*(<t#QcxfT3nr%`99`$S$C~x<%My|H9tBeoZ>jb|eBwHDL z^p-!b&220CzO8Y309)<>1g#(X@QIC2DRv<Wd*RlyGzQGw{b`9;amXyA1#6z$yW6Or z1NcW~YkpIxMlVE<wIo)QNwsQ*?~hnqDitR!l-TfBh0s9THif<S{!R3==bk9-;6gz= zZl&*IrYJ!tkD7KbJ1ym&hc#h79|RqEPIcNIbhtT=5p*jz0LKo+#?~_)K2uW+J!+qX zWB&R2TY!k;S~S}i+J1C$Vl5BhSb+pN-%N%mxx9plbOV2A`C7j(CTDW#6Ycigfd>=| zD8zGa6o)=cUd(8rvb1J%E3Bvx<&DmXOQFM-WDJiy*RnbYfdC>6{mN45an=)omhy{_ zEeD;t#U6<jjaPz`H&S1vj)$`Yha?_F<%#u!ORFKL%W7W3?+T4}b)i%K7rB;??c{-_ zjgt25n<b7RpucAlOTynFDj+rt7m^e$XzrOHu(4_{?{Rr`E^->Z4c;jV>(^)O#%UF{ zL8K?4fAvwzgs&p#PF+^sSAr&LFsBVYlOns6p3QqvbUw<6>0~=C%|NF9#;T)dl_mkm zKJa;_LJM>^|APff{>jajOMA~>51Sn=Mzex(D<02YO#^%*-4J=W+B!c0-XZ<CQ(px9 zlpoJPaMp<1Rt0c(qKS{MG?{Sf*dx)c?1RqRZ<CSD&4E#6dMOPF6qE&tlSX?IE<(Mx zi0Q;%Z(lHIZD239G62cc1N2(}50b>ruR|20xbF4YRXJ`4Y;^63);NYYx?o$)qmq2* z=bU-zrd~T+JXPYWBYyC~6=Wg4awTYwtiYMgQ_Hj5B%%@Wo-Ec{wY~4)skZY$YaJ(W zmnZ>!Q6x|l&yk<x{2(MGH{pJIi`QyDw59t6$)tXhYe5{O@Nx+~;KU&bGvfA#Ls;iz zdnf^cl6`_q?|#lSC+iEQ5@VE@|Iu6JiK^oF8lSXo0Z5d6`th}gj#^a~ua^Pu>U!YD zM<PI`0HP;v0DDXR{E0P9_uT_&na)mwRHN9*y*8uHmAO&7QTKqzNWa>>dnC903`oj? zMa~Ucu-4G?@c9yA4#~=7t;Ee8%;J62kmBw6L}J?2ggw9)vx5@9hmc=oBJY&q-r!Qh zN>BGFsF-02L308t+TQv%8UR^IX3}M8TZkV#8wFg*HoT$@zOafgYp^YYyPg&xFsqS5 z3>2sP@6c*4A*)c5hd+oJF0h*Kk(V;9_;1#^jQtnVXDB#6Nj%x<8Ap}uc<Yh~iFz)E zr9Y$)-CV_LjLN9t?Tf?3x8geMpjy$F?3|qXb$+iQRn<@e!h#i+3d>V7a{2NPUYu(E zrfELB5<Gh&Y@;;O;zwQARoi1*Y`=>*+FKHcVV5{#P8R8sjX6p{ff?r`bcctBNq$Wk z!oHXalM|zH=T*HAqD~nY^MT^Y;|I^&$9i;^3<kx{MS&1WJoFDKlq|t*!+I7cQt-Fz zRAd~Rcp-RP1e9Lf>LWDLR|xi9ZmeE6!h=6<aFi>5tQHjnoWbhBzT||gTWYVQTcd-~ z;b_9jN=FL|<)NIMcAvBK{U^iXy$Zvo*+<ahbkDvcP;$^wU}*JA4s%}60^mMiXNHv7 zRMO8@I<YaX68npt&F2@#5gB6Hy!v7%KVC{S1I`*SKNOI)Y7Vk#TlHTc=jNJA@6NrR zu~O+D_nQT%7&S~=35Usq`?{ln&-oe20|~3@o@lHr{he&S)T@qdCm!RCybO+Xv(P10 zk{WW4LNSh@CLkri6MtWSGeXjJ=eNi=R9{R_!`Nz-Ez>f@N<V%CQYA3sG;0%of4cWX z7%r@Xnk*J^y@(aDT>>X(SniZQ1{1jA)dUhZX(!r(J?KWFaKJ$N@wDcSu#1{2naJ?> zTO$CIOhzK8ynC7ipLd=q&un&z??g$Qb@>Cs2O~#)cj%fOQ5_c-7xU+Elgr>izdhx1 z?{V0?8IVLk^j1Fp2{>C&?5YWNADE5ZG#j?R59E-zpo>B+g{JZQgXs<VTt(lYC#^3V z8hlOsmpRx%|C}ShEfiSVl0Ue$WNN$h7i6+8Ihslr^=L=(?0f4?i~ckHsw@SQ3W@_z zpbAR2Nb<;QVuXPZ{xC$YT=^A>9Uu2GUb$b=tCct1d(Qz^!*9@FCpnoeysl#?7Cc*S zwi;#?6Mzm!G!fAtQJ9N}02EUOMqW;?Zd?IA(|BAwgTZiNTu^I7$?q)p2^|h*J$`u} zXIw5OR67`2oAeggOqXEx2QMSkpsYxSiPZ^kkuU>Hxk&HAdW+%e1r~W1C%77WEE-4q z5Vdn$ES%RfDxkOXB3W7h7|qL~oBKVv*=2DA6r<B7!SqpH=f><PzlXr!S*Akyz2C{q z$(25~JGZpGg@gEC40d*8J5-Wo`{ib^a`uE2cuYS;?XMOkYlAd38_m2cbnH9aOb*RG z_7A7Z%6L>-9Ub!3+CQJ~xqsxnl5IXQSV&@e*c7lUk32t-0nD$Q=j@h7gYMk)c?sRA zjm0WDWkM2t@iFR@#}z=nV$xH{v(FAwdwNqStD}eKA_7}qoo6;6f?ld7pMs;tS;tmw zpB9xb<+i8j-26qoQ-fK>D^iUqRjaDV0QkX1R#=-btw^}1YTQ%x+Ljg*Et$%*p2owe zUyaHjMJ9FY6^5xh=kFho3*YBZ*Ve0r)hU>`Q3qqHV2+MSqYPwM^;>~q?Mfr0eMoUg zPlIVZYlM%rz|Z_sW9#ZP3BaZ48ya#qRL)rI?d_eYE_QHCGA_*`c0WFx{u^WNK*Le` zx{1y05-13EUAv_X^inO=$svEX%->)on9-2@{va^6cDl-Uz6xbj1GC-ZA0wXvxn8hG zuJ+zGA~@|2xG8Yo(ZRvb#ill|re)bjw-a(%h?rdbc~Yy|AJ9a@ped*)B%(xn<xA5q z5C-CLAWmakIx~aj!siS2D{t#W!90OcN)e$GOfn4a`O0bKcPbSwhIZdWs1j4f{0_fD zyq3mJsjT5<0rJezIclxCC6M$CusqcSTl-fS8X&I#ESI%zdbof9<ftd^CgN@_GL)LE zY`+M|rY8VkkG3+v+-pDkt3uwa|7B}I9<el=N*0isHUQ?6c&hohWRJkGubX(ZHUD_g zFsZHSs^T%eNkz^U^u#V21t1x2O)eArg*tIBIpX76?NoKf2AH+-VBKIJMPI$L`g&@% zyyoKE*`rFf)tN#4_KV0;3F>uWC`HZS?=Lyx0#k(9U2?xTi}VO&C$aLT?$I<fbfbOw z;_cw@$Gs8By1>9k{&DdXLKBnm32`0FseLR!T5{tx$CbKd9ZTs#ya9ot63&xsmWKhy zd({>5z5%ll*mtO{LVeIfFdX1+U#$72Wse8veh?_q<sZATtVL@i4x}vEUZwHk!Hxm( zbU#~{!I;aFks7=9kz{1g;v!;(%wwXS`=1Q4UW*j1@lQQUwVIf%*X5I)qn*3F0G1M$ zd6S*_mE?M?Ggpj*2<@^;^`KjwL~juIpz?6wRoj?hY+J9L{rNu_;zcI2hisdW?Y1~1 zGE9yLGJT7~YU-V8`2hDLLC&kDJOK|W=;TztzU?Mzq9WdgSZ{7v>IMdYOw|88l-Ert z4A;;6y(aNh+gt(3g5qi`+tKHv6CZ|zP_a$d`&B-|%#QqwoFoq&>%Z38xH}lmqBarX zB6o_`_uiF>H2A7`pC6#$)PCtdYp`8wXgG4E^@)(2ZrZ-T!~+uu7x4DR?>sAo;&rw@ zGoAfos;;wf`4Ac!W_)`>R}$ua<6mL#HQdHKdS~B)Z1Js(ytcxtow1|2YM4(SgEW8p z-oeyXV}87|<a(8*i<_rPg%w+4Q;hwbMTDv?ikpz8iiWL2ZH}X}zy5k6rywh>4R(VU zs=%U?ibl9W3N)cj?r^u<>q5<<tMkl@&sm9<A(@k}b)x{EF<~deOwXFjkO-G?iQ=>7 zkal^Nw}wVk3dTu%kykOI`^v}sD{zzCW^PY?eEtFgRA|OX_PT^xzzqTZqy8kdBZuv? zB?WEyAP`(H_wP6^S0Xm~zFwM<crFJU4{9Cc_!W|~>_dM?BDjdY@>bcGZ$ade3T`m{ zVT-q5<VCU2QB^g2i2=7{puRwv(jvD#TUq?7(!Kn5O68z${ib0g;Z~R9+<6jes;Wk{ zsSZzjEAw3v3-#w3pUyX(YHt&JsPg`4z52)#=cnt>x|!zBN3n5dj}Ftt{C8>QnUf@2 z0!HJX8nguL`h#)^vL~{y*(GYId8dJmjdQIj3&|_g;+uri%IRL@n*0MbUSoS{f9L@; zKR|2y@X;Xc4RkqlA1KbMGb0lZFvokxTI7O)PbI#yVM3x=z}kAxB%;QCP*xQyMk8dl z4N;xXia(wu!&a93a_ni-va?%rT8bOB#|1*?74gS*w&m|_{FQLUt9~Q3Mga5MSLioV zRKgB6mD^)8Ft*2g%iWd5y`T?;Vfr6Ja<9D*k9*r!1!qgsFUu&;1%vU8#;1hEli12b zsPY~Y<~>`l?njXYxE5&u3!E+NZ}6euXe@gLZG+cpDzw3^hl24;PTDBNkj3ds)=i3v zieh$_M|OFYcz!3TeN!c2%skJY`EB`l%6e$tf0Au(X*o?>!d#&LoRZQ;>C|t{ih)Fd z=!!jC$&xzFYL5xJPC4(z#}Tw6F)Zk^Xovt}5%SNkGpJ}AN>Opgm<{_auErJZwFx!< z^40H>o9==h0c|r32IF>7X%cq<5>~lyvk|7|1h6tG6D78ew$))k-z4K^A0yx4U-jOO zVB3Q3$<9X9WWy855#;p+;EF**@SX5WNFsOyo9?F|^2Td$Nk39f04A<r9cW4&6WEPw zH}rBfM~Py#`ZRuAFb5aOlVF2+S@vB*viOrOd~8BHL&8^st)6t-;?=8Ge@{n<C3K5w zS*6zZwed4SL5kaIvW<PKJ)bMmf41*G#)5t{e?!1P5u|H5FEL5F^mp<L3tj7nP=1$B zRd8_>s<ZAQLU~W;&7x+9oFn5`Rl4T~p3CjvTgjb8|IxR15C68O;mqX}_Vt?Y=SP_* zg$j*h|4L>5hMAF5!T*)NR>>O=M)vn~O1jKDLvw)iby>QtzRXhVhabs@7*;vzp5DA= z%P2U}?HiPGR#Qrk$nfrD6Zf?50X?pPRMhI`X>XJNrN)eF53HbAf1=UrbfleU`{QVp z#)0`KAv<qMzVq{Q!nfDL5DDaCyed!WF1gVbSi8PEsf^YP5PLG&<HylC5(WAoi58Ip z(~JP+*|R|Tun!;qmAJekMQ@Hrwq3W{3C%hmL!?)0+1`JLqv;&5r$p(oW4yOvu0;1s zW6IBbLem0zV<4kt7g>BnY2u=<Z^Kz&Ym_6+@Sr=)At6<n{5Rjco?nGO&0(*DWE<Fj zNTJm2CBBJu0IfggRtikNC@7H470~yYo%Pq5M!#cK6G>cMlGrbfh#>gmb@*`Ox4pbj zacsWLCpp6sB$C(KtJPf;O$aBdIp?b3uX-oy(KWGLwye&E`9&ecMzr<rWd~iupO24C z=4wjLy$m)B6$^`M0+3qN+M8y=UV<~%X*HZ|i;09$ohg^C?3ZM0BQeU%_U`Tu7JXIz z^G~p#0#^YIP0a`1tOF08gI_<_xP8^En-RiJe~y~_Upo7*vIP#8{bUdqFOmXr>!6RZ zkuGd_4DB`85iYxD_><p)Z_zIp1pc~ZwYt8lwx+^ZKQ<&LH$G~R&qzva#S-1_1Wuo$ z{S6NPvm`>FhbtJcuXV7$)^reRqO^Pgd)g|%ggR2gE_JB+v3C2^KDdT^!ScICF}!Z; zb}04sU^Ao%`%#ux1vj+g4><dd%kPQ0Sz$fL*b5rOv?N<nrcDNnBjaRcIuFX8q*#7A zjVnoOElRlDOBHB{Z-u8zy~c2|(eZ|6kRkl?Ues?4I!z#?%u)Cch86!7GnMvu<KZrF zYfxu6CrZ_zH`|CLPqmb`q1=J?b-34XdFAMJ0j<XuwE$!K%x=J#@z>D3d6zQu1sJLO z3&!%tNZq~PBXwIWA<Oab&J6F4zd308EiE;805Y3gMP)CXD^!Vxhb`1Oz~i=fYqw%l zP)71plp_8?a;i5TPGDhSVV9C-YBq5p6aHqZfS{m6(y#A#tZ54b(X5=D$yIuK*YL^- z2nhD|EUDK1NYdV_Wp(k#HsodaAB`Oh9@k{JRhfCR7U`EcjNenM^xF+W8#ue=y)fVi z3i>_;Ow<kS3Jc?%VRlv|zD+#up2~4Ej#y@(YR|`C5;$?>1zj25cuWiLjB||`j1W@A zeZME_@<-UZZpVBfy~S7O>TCsn3J}#3nq*h%h`{e2O{yL#Z&Cz3DNu55e2wTA8fa-2 z<>pP+4tFv%RM#Kz!}=?2&o*0}A5Eiae&t64Iv{#JTvr>b__{~;l2Zkehyo#U<p7n% zyPWsQ_)1pujT8m`|3PljdZLK3>jlO~>caBDb>&X8_4O(S6flEzNJC%WzWy^yG#?+E zz!>oFA7HoH+}z3u?uun_a$;Vf7mjSsm5TxpFDPFNjy$XqvAVDN``L5&D~3`}$!@q> zf5`Rpw46u=Fl&FECj?jTL!eA8d#`J=n|AnxtZ^~$2i!_RdNYxhhn0*KQToM~UwMuH zc^dvc7xY9poLjnSA?cz*hzZ7D0~{_lt~ukm0`qi-hpNx+3ri{)SQZ@2Vbs<Cji->3 zr)OK10903MX;YpD=C@fp3i=>jJ<?OoFNwwbha?=@CxT)saw{qQ82d}cmYzdquuv+h z2M>^&NOCW88AqTwh>`LC0kw`83jg%U_<u&N?>U|6zf718*N0=QO>IZpeqzn<pr7+z zwQ1k5ICyxcF)=Zio%K|oeCc*(6Lob!&3rdoiZOlUOKN?Z{W8S03wH5<$O^&8a`t6B zL@V&q)a^O<pIGUb(Jjh3FMI4yuU*giC&%+;X5KNE89#=0yFQj|A~uOb>T^vT4}hHX z-iFL^A9ai-GjjI&%Xvw!$LxRA{X1!W+~~jHqpPMDJh2$zfA|4xP(u)Nb%zGtCS_*t zqN5x9g6S9s5wX6gYkT{4Z|G({l_l?X?2Xm2bwFnlBV)DNd4@j#ivlVi3$l4bI!JuO zlqDsy@0z;)5-dtBJI4M8v%q-3Bzc{u8uWL(7FUH-p4tb1R*`Z2K=(4%iAl+mri6L- z<TH!$gC2Y59TK^6{_vvaYOB4rv*;zWv?f>hf#~4Yh&y+Yg~j9U+)$a(^0#|G-j^&m zc6WelqeA{jWCr0RS8Hj<f-0o=Q>jK{-9MtI_-H~msV=*!_N+QvmSAT>N#8i|LqhrO z`4>>=kk-G#cAkLs&uR|P{{Gj4>Is1k9#670C{}4jhv&ve^KgJ^vs<-09_?TGr|fo` zgI<2ln27#<Oj0uoIe(FtlK)2c{8UM#=w$Nd!}^BuEJItB<Jp6wR&z(|8=)a;)h55n zGsh7C@urgoNI86<hnWotoZyWy+|#RPDKZYHT`u@+g_q}U*V|!ofa-cyK`h$}bD-Xb zmDL&2?7$@d!f-86r5r*hXOWrD<ysZg0@4h#|1U^uROSB#X^j{z<Eg08_XZ>St6cxk zz)x{~iQs6L^C3TjVwb3dWYQ+@@ZTX~dcotS_}{3tJqW>Z2SBYgTqu<KbOAt_@r70D z(?s${wX;scNC37z-O4RcLh6aN*k25}{Q+7VQPa@SQ9aOE<FGei?dgS8oUOW|av>tA zw{XwSZo)1~e{}s!>@I-8Zi#|4?!p``-0P)&f@vA24tIAC+4<grqpJVd4TLz!7V4UY z+J)H47hJ&^56FY?16Gr`{P`<e-sUZN7ko!ni<E44N`}kq(Z)^Yi5bygL3@Wx9`|)a zV8lf;NI#dZ3Lq&41&HyoowwLQE5Fon4zo)yw&a}Sq0hUoL_al*cRfH3moP(^?6hr& ztG<@n*ee}0c{+VABk^%IX+fxtE`^i^a2RVlyJ}lW+fc$waYP*Qi+GX%dQ!;Q(42e& zfk16+jJzJ`j8lP|Ze=unq@K%Lg+*vdrnS%n=|G8{w(NrCCeU$vxC06tz+@Uub1 za()-h12#EWBe$F%%KFSa*+E18=m{^r)vS98nOINn=sjYzqP3V(llrDu1r9^M66LI{ zEwMvblmBQ%F--2QjyGFggQsb5oUfai_d#@SdpISRiLWm<Djn0hszO+`<)fyC#mF#K z-cToOah`dQI!BI<vlz8H_LM6(o^NQ`vS<)s<Pb2a@R9rE-<;(U@;^Yo04t|coBmvW zdd!xWi)xTplp#1_cVF)=yIdKs&2ya#DslhTrbU6M?*9g@!|sDMm{76ednZqh9}0W; z3^reP%o{-Vid2=BZDSg021<%6UE6*$>GAi8i6T;;O%*3sy>Rt2d#*%@9_o;JsfN6{ znl36BTGe&6I{S|^=LG;9Y$6UeVH1sw1*Y;!B^$wp{h&J>R2?H&OGKN%f#3I`%3sXB zF}8@hx8Ur7b7TC5%U^PM5s$}38+<-jrHvc^f9+j)Jk;wNkEkqdn6jLZHD)xEN)gAL z5wh=NsS#zShLlKlg;16v&5Vg;nJi;4wib-7EE!r1LZQex*5n-fcJ52uOWZ&2KlfgL z%wImg_x(NZ`z*ibdA{EVW9Zg)|C0Ab2k*Bu>2TqKE?;+xC;n1nW7VXyKBtXLno<P! zDm6W&SqZlta{Z}&7tEe_2mP>jDHWK4z|kk4=V0@HbilGcdsiCoV#@95X|0M-F~OK* zFF2As8t{!hQk65=UPf!d*w^+RxpJ8qax`)~Pr>7}mL4Nt&Ziao%z}xym?EE#sp%hN z+6wjvwlu%Vfx&M~1)Qj-D0gIp%(Tm@)8|jT{niM}3MZY|hSMa-^8YjbT#iIP01#pW zib@YokU0*&kznmE$m{gth>>1lh|GD;&A9w)5>Ug_%uN8<>=^#X#~KQkH8+>s1%G#f zT3146@knByURXE;MFoYR7ZSP((73X)!7M#Xl^tRy3jK$54dU|7VjFdo82v<xnJ^mK zS;5B2W1+hl`XO68L3(}DZpp6Od7qi#xV%Ke;P|m^EtTxUBa}Zxq)JctAXJDs-rOh) zPSRl<o1v-(T|#$$vxa@|?AE}K_<jpBj6I+I$iw>P4pv%yZv&XYLX<NDX;S>WV@#=U z*5M(P8^DO0KnoNN#tbBN8*I!oG3$WyUul~T=l_0vP=l2r;9m!gJ!Uk@W6;Q58h54Q zA*!D&Z($|f5cdM%i9K*W_0$f(9BOvccTM;1ChIE7kfgf*K)mv`hvX-AMDk8cE5Tk_ z^eD`2y07m!!v^|DpGE!Z121d)px*kapfBM>CFzjkqZIBYh1kdW&zey(t9tsDy8Doh z05C;(p5MLqVIt%qj*v5Lqgjzt*_|wMR>eHk5U)!L<GkS3>nNpH#|P*pEV@4hLoJ=n z(#JSn@;eXL<tzcU%}_Z=ahEUMkScn8(nKSbEOsWqb7D?<nE#4mLvdxOwgzd?rR}~} zjL>y2MT1O~n!kx#4X8Tj=aTTKk@n3Cj@m8<Ta$yw(K2g_X-i?lcXKeLF0I7eKc>9J zz^P&M8)LR1uL4lQS$6r>3~4;Y_6S2;C*fTk)0J-+T{CaOac~6;Kxg0S93LwmQ7!)K z+AJp~-I#Pe_{JzfZ4n`zF+dG_2<ojjz5-x0qeyy+f^x?Eo%6QLyZ_HZq@C*}-;()H z(haSqHmn9B9OKa5yQ=qO`C^ysxt({BIVh8%eu0yC(E53{dvEU3!)ku>Z+#~r2I#o> z_#?tLp3iaPt}&t@02~%Gw)sK@1wPHl3NNE)mu*rW^+29Aj-@Y#F!x(#=csjJtyf9P z5#Eae+6>4|L{%G8jobf%mt_cD$Kf*`nn?{V_*}-~i0+bWO!nd_el7&}sbtTas+laz zFeIB><Zs|AI*ag;6J?gApn$AY;P1@TnC!4OU{cc$oP9ylxtbg@!^tBupufHS`i+{2 zk0XrpdVbE4#O*fCV2Ccwn$i8z=o?~i7eQ>?wO962K{n&Br`snx3JXhU=J*Cl))w1= zPLRFXH|gwzIl3>1C1<-j@K~h50GmR(+`R*Jwi@S<&AMgFZ4paSLQtvPmpxzcut_3R zR8r+ELFx#wL$#|hU;<LyF99RW#o}DLzFYd^%!E#VP68DQHP>iTG$hHk72rbgERU)V z;Xx-r3YDT{AhRkhy|nfVxn+QN`#Ia0sY|w68hA^q|8acxrT`(}6AtsO;R0MS&EFY| zaKtVNl~ruyOEzKg2O)_>IB5lrtUK0493=qp^v<3>xpnmi$V$cm#{mresqgDG1~{lm zfQ|IM5#A^M^Vxw_$|C@WhY(lk>b8uP-An;K4dTd^-TQt*1})i#*xi8ILbAeR%_rXS zZvHDk`u{(~{|M7U`Aa*rt!<}1bVKE+g|Ha~p+vXj4^3Whbgc6~wT5bMIrb8d<1pPb zr(=R}a&=XVyS(%Kde#Y!U34A_Y^uiw0j-`p^oW~-ed5ao92gwCYGv3sZ=BN({Ul6t zs(|@~4q=Yr0~gx>)@vY=$QAq9$icXF+}@k7-W2|_=+{GsqVrzkvPDeR$E6^p!pj!y zCospwv$g8L<9fNAK<iYa>1o!u(@y&6=%|BAUE%sQHnA@V7`N86Z|daU>eXa%CCD0` z1|jF)tE*cL3s_N5@u>IgxE(QmHpH}-qpGpk$dfS*TH4xb`*;Z(=`+O&$tD);r=Nlr zuPy%7Q?%an!_i`W$@jChwY9CSu^vH5xDB*9z?}O)Q_9VI66!KjF@dRSyf{3s@XdKl zsBi)#Q?KIt#q|Uyz~)G@ae4_1nDkZ{qYIExdxwj}>hp?3g*6cgSX<mAe7mcQOO$6z z1osA<8vzjl^sQb)aiwv$qafn0ewQw9$=3(cPS?+`H=dTU52;(Qwm1G|b&70RAY_Te z^1I}02MP6or)nGmN@3~yQ|OALVtcC39tpTVkm+?WMd)6mjB%Q*h&<(qrL{F#?HUQm ze`d{8yyZiQQVe+g`t_GD_E`tb<I@ro%k?peBdI&Tg=9<A^y(m(VfNPN5y}%$M6F*D zh{SZXiAnA`4>Pl9KgsoRFOUbEy}}?jHMP2?=7<7RG2#jRp6x_w$i8+X>6i(rSgeYJ zH?20l8?75BWEFrcmonF4Q_b)3`|UUTt5>hu+b1R4B+WT!y(-M$f8H;9WC8bwZ(BUv zWk62?BJCP!Hk;o&3#Y_6tLa`;1xebEjNet)nEI&w?5r;t8FC7AGeOy1vBq{a3ysI? zlOWqnD=BKi$;=Aacry)J;9;p@s>=KtThQ5%bjQuWa7#$Y7D9?s15?F`Z%yCc%KfA0 zmveXAVmD(|$YC8(#2tV{Hb#k&mo_|aUOJDME&vbC)EG#wG)*m*N%Dv^dk-DN1Y4B9 zdZF({FiC|>E0RvT-(Q`iTJe#m0&YTLOa!$X`rnld9fI}tz4NxLl*jXlj<YiDh>T(! z0?o@jNgEoGw_~?L+cAqiabL1lmRk312K-S8KY|TrRt9N)pQLsTYm^zGd?c7L7@N@s z#wKk^yiM>r7Kyi$IgaJ?KDJ-s(a|dXyNX%9y{%j{Umuw@1bWN+47kM^A81^64Bkw; zb*Hhf!=arY%~HW~pH|M6O}=!M;46ZzeVt(3{)>D9w$b}ou7VFLD=t4(L|3*;%yFZ4 zy=_*`K{0RT$kIoR$arI=0qDe{(LYJipj7Ai)HfZ3-h6(b@x(2i!H%#C<ooDT%%XQ+ zZ$+}G^03FN0T?Uq4n|bcjz3`V9fmOD6-UsjdZFHJJKd99X&ye6wio`y12Z&0hWO;2 zvqGo34#9l@k7P8AU@o(IfX~Xa*m5}ak#&yJiU|<jb8WWr87Xv+!FSY}s+02IDcM}7 zlo@e%Y;fiiiqSn%bO;``W6iZ&ibta&Zr;(-Y_Yp%+E3e&QvI}EZm^@N$2<-2;TDHh zz}%UlK6#B3E*1{$XF!KKdAIB8#)lOHiJW6c|Dwy~V{<h2Wv$2H1AJAH{DM{wyx$p! zhhAwqQ9!`&#I^C<dg5NYws!JE;^J8LiJK1yPeXH?V(7lCV^CH~wl}bUWm)eCLP73= zlDpB3DHUcLE=@sNA?s8kq7eiuPKm*5P+7>Lx`dr3`+wXC8mj5ld&uV>N&NhQx2PhY zqmd5!b#=LXj_nC|RmZ4T<ah)%l>~_V*VEawfA^#yH*^3*q}2o6X?tb+&}dE?^^6e( zln9zf(nmAW$wjZ^x~P$Bo5PlbeDmfYdvvZm>txehIyu|pH5JiZ0b{vD9I%KmL#M57 z^ZxPgV0RQPaV?sBwcN-IF~N=~WHfg*b4t%!R<mJ6<||4L9NBfAS7PyDWt72l{k%Bq zp#5m9Nz?{c*%umBEl9+6huaaGMSKFckuX7PIun1SyrOj3)L&&K-~CWlK}+wDUYD`} zE=Zij`KO!L_lS+6S@C=j>0(>vlb>y{QA5BERoDOV?dSC&azH)cVk1~jhIek@IFuDY z5-IJ9deEv0-b!Sxs0R{WxDL4Yn(En)#lIGS=sCW0o>z3ma{WszwJ`7vKz1+d+u&A3 su|P=fIx}(DbG^g;{|o;66P)^+ZL?muM$6YTm`&hMN7L|RHp(vWAM-G9uK)l5 diff --git a/src/lib/Server.js b/src/lib/Server.js index 2c046d99..52534a2a 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -270,8 +270,8 @@ module.exports = class Server { app.use(router3); router3 - .get('/api/wireguard/dl', defineEventHandler((event) => { - const config = WireGuard.downloadConfiguration(); + .get('/api/wireguard/dl', defineEventHandler(async (event) => { + const config = await WireGuard.downloadConfiguration(); setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); setHeader(event, 'Content-Type', 'text/json'); return config; @@ -279,7 +279,7 @@ module.exports = class Server { .put('/api/wireguard/upload', defineEventHandler(async (event) => { const { file } = await readBody(event); await WireGuard.uploadConfiguration(file); - return { success: true } + return { success: true }; })); // Static assets diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index ba4a224d..716c5385 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -111,7 +111,7 @@ PostDown = ${WG_POST_DOWN} [Peer] PublicKey = ${client.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' - }AllowedIPs = ${client.address}/32`; +}AllowedIPs = ${client.address}/32`; } debug('Config saving...'); @@ -206,7 +206,7 @@ ${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\ [Peer] PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' - }AllowedIPs = ${WG_ALLOWED_IPS} +}AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } @@ -322,7 +322,9 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; async uploadConfiguration(config) { const _config = JSON.parse(config); await this.__saveConfig(_config); - await this.__syncConfig(); + // force restart + this.__configPromise = null; + await this.saveConfig(); } async downloadConfiguration() { diff --git a/src/www/js/api.js b/src/www/js/api.js index a45b5f9d..645462be 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -141,15 +141,15 @@ class API { async uploadConfiguration(file) { return this.call({ method: 'put', - path: `/wireguard/upload`, - body: { file } + path: '/wireguard/upload', + body: { file }, }); } async downloadConfiguration() { return this.call({ method: 'get', - path: `/wireguard/dl`, + path: '/wireguard/dl', }); } diff --git a/src/www/js/app.js b/src/www/js/app.js index d3d8959a..73527ae9 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -303,12 +303,9 @@ new Vue({ e.preventDefault(); const file = e.currentTarget.files.item(0); file.text() - .then(content => { + .then((content) => { this.api.uploadConfiguration(content) - .then((_result) => { - alert("The configuration was updated."); - document.location.reload(); - }) + .then((_result) => alert('The configuration was updated.')) .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }) From 43b193b76d5e96b6b84addae12da0076674063ae Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 11:55:36 +0200 Subject: [PATCH 48/98] feat: support more langs * add translations for French, Spanish, and Italian * change the wording for better understanding of this feature: - "import" to "restore" - "export" to "backup" * rename functions to reflect these changes --- src/lib/Server.js | 8 ++++---- src/lib/WireGuard.js | 13 ++++++++----- src/www/index.html | 29 +++++++++++++++-------------- src/www/js/api.js | 11 ++--------- src/www/js/app.js | 23 +++++++++++++---------- src/www/js/i18n.js | 18 ++++++++++++++++-- 6 files changed, 58 insertions(+), 44 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 52534a2a..315679c3 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -270,15 +270,15 @@ module.exports = class Server { app.use(router3); router3 - .get('/api/wireguard/dl', defineEventHandler(async (event) => { - const config = await WireGuard.downloadConfiguration(); + .get('/api/wireguard/backup', defineEventHandler(async (event) => { + const config = await WireGuard.backupConfiguration(); setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); setHeader(event, 'Content-Type', 'text/json'); return config; })) - .put('/api/wireguard/upload', defineEventHandler(async (event) => { + .put('/api/wireguard/restore', defineEventHandler(async (event) => { const { file } = await readBody(event); - await WireGuard.uploadConfiguration(file); + await WireGuard.restoreConfiguration(file); return { success: true }; })); diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 716c5385..215d0d5a 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -319,15 +319,18 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } - async uploadConfiguration(config) { - const _config = JSON.parse(config); - await this.__saveConfig(_config); - // force restart + async ___forceRestart() { this.__configPromise = null; await this.saveConfig(); } - async downloadConfiguration() { + async restoreConfiguration(config) { + const _config = JSON.parse(config); + await this.__saveConfig(_config); + await this.___forceRestart(); + } + + async backupConfiguration() { const config = await this.getConfig(); return JSON.stringify(config, null, 2); } diff --git a/src/www/index.html b/src/www/index.html index 2fe8800f..4c32ae05 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -96,29 +96,30 @@ <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> <div class="flex-shrink-0"> - <!-- Import configuration --> - <label for="importConfig" + <!-- Restore configuration --> + <label for="inputRC" :title="$t('titleRestoreConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z" /> + d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill-rule="evenodd" + d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> </svg> - <span class="text-sm">{{$t("upload")}}</span> - <input id="importConfig" type="file" name="configurationfile" accept="text/*,.json" - @change="importConfig" class="opacity-0 hidden -z-[1]" /> + <span class="text-sm">{{$t("restore")}}</span> + <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" + class="hidden -z-[1]" /> </label> - <!-- Export configuration --> - <a href="./api/wireguard/dl" title="Download your configuration" + <!-- Backup configuration --> + <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 2H9v3h2z" /> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path> + d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> </svg> - <span class="text-sm">{{$t("download")}}</span> + <span class="text-sm">{{$t("backup")}}</span> </a> <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" diff --git a/src/www/js/api.js b/src/www/js/api.js index 645462be..9006f5ab 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -138,19 +138,12 @@ class API { }); } - async uploadConfiguration(file) { + async restoreConfiguration(file) { return this.call({ method: 'put', - path: '/wireguard/upload', + path: '/wireguard/restore', body: { file }, }); } - async downloadConfiguration() { - return this.call({ - method: 'get', - path: '/wireguard/dl', - }); - } - } diff --git a/src/www/js/app.js b/src/www/js/app.js index 73527ae9..61bb7c03 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -299,18 +299,21 @@ new Vue({ .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }, - importConfig(e) { + restoreConfig(e) { e.preventDefault(); const file = e.currentTarget.files.item(0); - file.text() - .then((content) => { - this.api.uploadConfiguration(content) - .then((_result) => alert('The configuration was updated.')) - .catch((err) => alert(err.message || err.toString())) - .finally(() => this.refresh().catch(console.error)); - }) - .catch((err) => alert(err.message || err.toString())) - .finally(() => this.refresh().catch(console.error)); + if (file) { + file.text() + .then((content) => { + this.api.restoreConfiguration(content) + .then((_result) => alert('The configuration was updated.')) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }) + .catch((err) => alert(err.message || err.toString())); + } else { + alert('Failed to load your file!'); + } }, toggleTheme() { const themes = ['light', 'dark', 'auto']; diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 70aa0c59..267f8c32 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -11,8 +11,6 @@ const messages = { // eslint-disable-line no-unused-vars clients: 'Clients', new: 'New', deleteClient: 'Delete Client', - upload: 'Upload', - download: 'Download', deleteDialog1: 'Are you sure you want to delete', deleteDialog2: 'This action cannot be undone.', cancel: 'Cancel', @@ -32,6 +30,10 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donate', toggleCharts: 'Show/hide Charts', theme: { dark: 'Dark theme', light: 'Light theme', auto: 'Auto theme' }, + restore: 'Restore', + backup: 'Backup', + titleRestoreConfig: 'Restore your configuration', + titleBackupConfig: 'Backup your configuration', }, ua: { name: 'Ім`я', @@ -195,6 +197,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Télécharger la configuration', madeBy: 'Développé par', donate: 'Soutenir', + restore: 'Restaurer', + backup: 'Sauvegarder', + titleRestoreConfig: 'Restaurer votre configuration', + titleBackupConfig: 'Sauvegarder votre configuration', }, de: { // github.com/florian-asche name: 'Name', @@ -279,6 +285,10 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donar', toggleCharts: 'Mostrar/Ocultar gráficos', theme: { dark: 'Modo oscuro', light: 'Modo claro', auto: 'Modo automático' }, + restore: 'Restaurar', + backup: 'Realizar copia de seguridad', + titleRestoreConfig: 'Restaurar su configuración', + titleBackupConfig: 'Realizar copia de seguridad de su configuración', }, ko: { name: '이름', @@ -495,6 +505,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Scarica configurazione', madeBy: 'Realizzato da', donate: 'Donazione', + restore: 'Ripristina', + backup: 'Backup', + titleRestoreConfig: 'Ripristina la tua configurazione', + titleBackupConfig: 'Esegui il backup della tua configurazione', }, th: { name: 'ชื่อ', From e4a7ff08c6c76bf9b1449d520d458be9f57102bc Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 10 Jul 2024 12:34:11 +0200 Subject: [PATCH 49/98] i18n.js: german translation --- src/www/js/i18n.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 267f8c32..ec914b81 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -229,6 +229,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Konfiguration herunterladen', madeBy: 'Erstellt von', donate: 'Spenden', + restore: 'Wiederherstellen', + backup: 'Sichern', + titleRestoreConfig: 'Stelle deine Konfiguration wieder her', + titleBackupConfig: 'Sichere deine Konfiguraion', }, ca: { // github.com/guillembonet name: 'Nom', From 8b2706e3c2f092fc6d51cbe1c400fff05d5ecf83 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:38:02 +0000 Subject: [PATCH 50/98] npm: package updates --- src/package-lock.json | 17 +++++++---------- src/www/css/app.css | 4 ++++ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 95700cd3..c0fb4526 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -358,9 +358,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -2972,13 +2972,10 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.2.tgz", - "integrity": "sha512-voV4dDrdVZVNz84n39LFKDaRzfwhdzJ7akpyXfTMxCgRUp07U3lcJUXRlhTKP17rgt09sUzLi5iCitpEAr+6ug==", - "dev": true, - "engines": { - "node": "14 || 16 || 18 || 20 || >=22" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", diff --git a/src/www/css/app.css b/src/www/css/app.css index ead64396..b64e1d91 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -668,6 +668,10 @@ video { top: 1rem; } +.-z-\[1\] { + z-index: -1; +} + .z-0 { z-index: 0; } From abdf96011efe805f58e632129c3c38a96076aa27 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 10 Jul 2024 12:44:59 +0200 Subject: [PATCH 51/98] Revert "import & export configuration" --- assets/screenshot.png | Bin 87717 -> 107555 bytes src/lib/Server.js | 19 +------- src/lib/WireGuard.js | 16 ------- src/www/index.html | 107 ++++++++++++++---------------------------- src/www/js/api.js | 8 ---- src/www/js/app.js | 16 ------- src/www/js/i18n.js | 20 -------- 7 files changed, 37 insertions(+), 149 deletions(-) diff --git a/assets/screenshot.png b/assets/screenshot.png index 6f87a647a62c366850c975d2d81f5a929542db2a..c5b73ccb96b3f4b372ad4c7b19384d1f1705ebe3 100644 GIT binary patch literal 107555 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%0Am&-fX8n#JhRG^b&`om~0m>DNDA z_Z*ksF)yFF$STn08BZ<?f*4t0El51Ya~5U4-2WN+6^wS~4KyIVO=3G?^KBAEG~T@s zkH#1q=jT90P39+sxbqv-^)-2UsTp`7o3g&TY8eDD!->k}<{9#s5sRXxbK-}>0s2bB z^OC<jCbwwPoU(9?x7N83uq6{ZuZ``VFxMP`S<k_ln-NuM_a9J8Oa;8|4bjQ#jj^3J z&cpF&INsJ(wN=>b+DN=4v%O;B?{p~!E@eIUcTGyXWzo7pKuE}+3ci_Tsv}6`J@M19 zINWoB?k_B*%O{ny7L*fOT{>&wD^rWp>%7mWP}TVD_Q3B<<lQ3@fhiL;5|}RWQP1@? z|LXvqT;O*}zEJE))6WP_eqHT|Ix8P)*6&nJ#m9XxnUx_5of`ATiq|B|#}k9Pj~c2I zWs1JJj|xGRa&3K8oLf9)1Nn%QW=q#&{*^=nPPha4P-pz_d+$=b)s!LtVk|QxwKUc6 zf-dG`ka@cJrhrlrLW1^z>+4~dmJF~#5X~H%m1^8<@2L!bB+%WyUq_F$BS%JyPz>%+ z>!zrb^0t3{=({o}>O5nL1A0~UDLkCyHZj{ld=&?Puugz4UF#sDBDAWwIR2N{bprIv zEF65OwJj~>einp<nL6^UDKJb`j{mCqTx`yyic*)camcUOSNP-1c@Ww}ODnvNny}tD zP-2x7M(%91mWUnXM1&ma?rMv1LG)&I*2gbT@?JAHXYZfI=GiZ|u%=^va4z>mj=zE! zq>&H{H&a;@hYKAU?P8}sMO4(w!RVajDh?k`-<5C(eO*JHBqM%Cp0h0*PSBqjPe$SB zXxn@|(9h%XYG(^2G;6E>>&`?;`$we8=N|T3TUq2fQlUf;0mcJagY&g;dl-(mxIZne zkq9h<#Wby)R6)=YIUL<F>%29o_QFyQfOjT46J@Qcl>XG1C`cKow9h%Rrrfaa$cpGb zOBO0&J`bUQ$kqwY<=?s=rNE8Ko%y<;VVs`slCLYW3`Pc<t%q69jtN8Q__>V8a)Jcg z=b8~<-HFH2MU8Qzv!bPKJx#)8jou2QOC28*N}8Im@@m+H{oG*hQ*Uwc%X5;nq3bMF zyXV#Ytq3Cxli%+t=CWepY4g2g%hQR4mHjsEPi{6=!KABK<Zn{O>-VUwU%HQ;IwJX# zC_h=VD3S(DFPqDilC}4I!3Xd89v<Qyhv@nZ5Ey|cS;=xvGl08PXRKSqQcVog)%5an z+FZqs)J#FeS-C2Q1FQkN4L>MigQu3t?yDS=+-`#I))qQ~=PD~%^nY@~6#g(`e_w;& zXs*p~k*@Z0uNxM%DP-b*El7DtZm3I@`mKNkJmvil5_9EpXvEF(bBCXV>3QA9(9bt& zB1wE99_R=5qD9t@?^X>$yM>z8x2{i*D5+i6`pz&G>68BZO6engu31?LC*SlOCQywb z7#JLZ&h?KF-00({QQEm*RXlWeU{Mw#S2w`?^y}77^s^78nlj&?^c28u$A37h_scO~ zN1eZABOoNGcF-IBSt@mY3V|Fyl<=r;s4<b|oMp(9*NO&uOaY@6+u4xg)o>a>E0XOI zp?uYv{9T8V4+r=na4Na!$SCgm>L6bcanLJ{PJF2fZE_F&s*nk?8`rH~<(2Ob>E8f! zU)ly@^Aayqx~MY})dwz+tiH|SO`h}8!wF=RlBa=NRfM@*&iN&d;HisCBWI)fk=G|b z3()quI=XUTheYMkd-nnX<CxEct`a~^z)C$o{E^N5`!Ier2FA2CuC>BpYpW_MtM)e{ zjR{~I<U8%vu3?{(6!cm@=n3C#Pkz`)t}%kq(&6t(MbX`I%FEGJfdnhOYqIA}nDX=Y zK3FQXucAE9MHi9xjW8sXKst!67={kpdv$N#2nE&6wVb!1bUJZjuEosNU^k+ct&w*2 z)$>*DB7dHpznyC_Qu;&zp`SzUtifOQ3D)}ghGB>=6YdtM+`n|0bp$T0IBy%@?@2T$ z0&CP4)@y#(z1aCtP!Xmu)#-jQChWGs&!+^;ym`jX{%QYSkym`3pS$}nV|biut}W`b z-7-hTaXbjFaGRJ2#b)hnpLiqm-?xev#~lX#1xO573wzjCXh@{mkCw2rKJN&b23(GH zPQyAMxK;!`zrY552-Ea*TyY_D35=O9DNsr(#X>-EENQl?GC`;Rq7cXyR;+V5&Q`vN zkl=4WEH)h-9$Ho8G8myk?^`4n8>zdUuNlDBU_UlaYNx`R>ufd5XW#bpAkq!+{_suy zF3-QA1emo(^_+nX90MV^|6-iDNR96fCX}w$Tv`SF?b}e1bF=x;qnYy8;Q}oPljeqs z8Ym#;iV#O9CV5o>rbBJ#b${U5K!xZ|y}!A+KYRcw9CDMm#;Dd$1p>&S#>TW$LY{D` z)!Kp@AP3W3d$%J#C7bH>?lTk_#LH38|L1I>#yfzPG?*3gf>N*EVzGWAu5)_e@DMF| zFsr+NaKOaGq@uwgW?11<rvRk4S)y|)btqX4tMbc?5x@e52lny?QYYO=emfwF`a1_j ztWeWVqcv{iYB#@Q)$>0r>fgI!gflYZ=;2V{=DpJN!F(6c&yDRSw~7gT3JRM+9&vhJ zs_qew6Vzn2nEO2KMCEVQMqF=lWvh<N<=bGQ(W1MA1Oy%qEthkm)f)wG^#yG}1|V>m z6*`PWvQ7qdN5yKa7s9%j3$Nb%u)vAQT<+qT{up)je*H%z;E8wW)hzq4n{o=j=pjR& zQYOK{2<9aSG#VJvMcCaf9XLG9qf$qGpLSHUwI1)Fw@2~GT}DQn;NaFo-4!KC-Dyds zkN1k$*!ptyqbyT7)yffFAzfFeCjH|vPlo2_OS+kpk6szK&UVOfx#=kAegQC+HhG4B z->ra-x|r}QV<N=7PN&$HFW^564q$cW0Ty!qk|QhVKmYhI96n%USv@_uq5}DEJ;;JD zz|}Oj$hlw1$^LglWcuQb>BJ}8`KzAZKSLWoE`ZEDu6a-VXGrpo$M*pf6_cYDM6ZUu z|K%6F*#TgkQw+th^nWhn+cA!omR14cNh@sZ+30^_+W?462rR`=>MOy2{_$UdW581t z!};J>J&=Dcw3Z%tT|C*sD?)*PuH??&_WFMx_`jd@-_OqfZkqpB&S7N#-<IM2!~dr& zLonyq-IwIogTB9x&ARnJ*t)-P%5W2t$dy9f{(WctHc`!_^22?wo-ke$qLhLE(PlAo z3kwTBd$wp6tP0}c>s1Kx`ybBewRxcP!2T>prp*8J5LLilrdo7eO}_uryziy~oX7ku zsmQy38p$g!vG5eIm;d{~|NW%@c47YSruqNFv5?B#@rf0tO&+nIYg}kJrP%al7Uz4{ zD3+5uf5@R$vhbQaf$~p#CS`?>ixc?a+lqx0R!G=>P=@X%h;{S&7YT7>P&S%E+3S+E zYjBXOi;KOBi<vpm-XQSX%DWJ_b4;dcXXBit%)sE_s3{@Zr1h88?#i^6`J9?b#?wTB znwjic5VMbf!2L6d^Ci<rrFQE%<yUwW`#{8e5N34E`rlm75w0)l11GY(<Y#Xvb)nBQ za6zs|RO*J~3>wU2(3I4~L|r{SJ#D>wDK)V;1mDid$-Cwy7Kfe_>#ll}n3&c9N^)|f zQbwyatsIcq)47vD35*lpAtJz--?~wHNU_79(OVEEl^-@_$Z<*C{qaCoVQjkV-^j^b zZ7I5?4l>H5TVB&)lW{2X{2Q5Nv1F9CPI8-ThjpF~?8~7ro@Ah5AZ7b!>s4T_^Ov8V zDRJA!&-_hJGSK`8vw7K~NJc%nGIr6uV8Ov>#Fj<&@6&J*WVc>Gc*UYE_iX9IELhSl zS7lXj%{}Y*R}5*K$5PV4Np1!b$zXG(@)`m`Tftl%*-)LEOhUA5R=Q-2gz#RX;s)aW zsW5Qz9}TC0Yo~y8$U`H{{cB;Bc4hXWjXID1$oi<mgYsoTYan|?RU;9k3d{ozs9>xr zFxdsj$<SBqzB6|6{dg&#%-N*Rga63;0zR}D>CnZE2s>5ts<N9odb-r-YZ{|GH^`S` zU#2NYSAm6@8)$lOZ&A0pbN?O(`~VmS+%ghwjyK47UF%d!%V+KftT%DiCQ{^IRky$Y z^#G55{@b2mNBVnl=Kiv-pHaddV*L3VAKBa-8$Z9e4|!`kp;E*4>=E0u`)qO*WlnZ8 z9(N3#o(X`zgjen-iCDWm`lFO_>#Gj^79B|wmD8qlj=fVT<&!GpC!Tz&JXkLuXH;BJ z`8?iR@F;bdN$_KE0De6xp;y+l(9|w{30xs=(-t73aJ5hd+?TbCcSN_B_4!zenP=}k z(-bpI?)}}Npw+j~M9tPvpK3XewU*&REdD{qouxmjfAkBPQt1-hK6>IHpx*Zw2WFO% z$Kao7H0ggvsJI9-J-(I7w7=Xh@E<o%q$5t<!@lIt7N?@xv3Jw@s-gEk{b$JT#}YaE z_c-A93`4EKk$r>vtCEjI{u7)mAnTg_FL1J8MKu@x3FX2Yw5tD~{sn!Z)Mux^N-Tq0 zY3DDS>bdtr@I=Lg!I3844v3z-{v)sj0x)+v(FyO}%K`IFpMg|_y))hRCN*MHQF=57 zQe_FL8fViPgBgNroQ!63IS41<2aQG^Z;n$FZvcfisn0hm$hrt5n7FT-AU)<9yWhV3 zm8O{xC=||l<=aOR;TXLnHt|^wS8{HCjX}=>%F;0sg-3k;kc?;Ef@2=iwh9NA#~gK@ z=h0g;_LI)?{!kmBOVJ2J<od*C4IOdCL|tZ6GCx9G91sYEpnhf1fE<xE<>i$Oas?`J z=$<dc4I|@p=Li!d0+k}fwZny3>HSC{SgXktcf~z=^9_bGdEDZAHf60Qj`f3{*MSN1 znx)3WEQ`{;vQ~rWVDmmHC^!jm_{P0r)Oc>q^M1jid}cS~_iqcOqXnM^O5CYjfr8U$ zN<NhR`t|F0$#3`$dQ!ZTJRmEIH(i~q;w`Qx2{ZKuv<LuZ*}v{U#<XN=_VDD#kIn!j zC8u$HmYpPeR1JF3DVeN%saxVneEW7`2vD)KKra6ABfi%%-Cb&r8T30p;Tt@xOba`R z9;4KH?}*LtZ@N66H#r~ED#|#sk<-#bo=bfM)GmsFsVTGfe4d(igpSKRs=J+N2%z8o zz?{Sk1k``~eCqgSxHiThhvUjl(PVc)pmpajE=pR^ar0=mr@g!yOyeLRw_nW*lmn!6 z2v&5s*(&#WmVr6JH#JhMZJ$YCGyO2ZG*~v*)1Io!o1ae_zq^zC(=q++a(w!>=Zv}B z9`xVtJ2viNzw>vYU=~?DpYXj_K-ECJP7ttzC0jbyF1(@f_e0Wg6B(k|5AIR^x-H?H z?mS6-ba-TI6@N+BS;4j02q8S@omP;)vW*sA2FgG&Xiv<peReB{J>O0ai@tBmVajsQ zbsEXNf<9Ceoeyk7Rma~wy?<<Z5BT3&pc_Bp>?h#?>~^sE^4BW;eso(LPG}A-Qem<_ zf&q)3V*hjg)W(ADw_+KpCBBF_Ax4~Qmr6Fq^(z;_N{Ws9$aE7-yIO2~tVNF`$<;cm z6fwbrvyRF6vmRZX?E8&c@HQ7`|5LWGE{6+?kv(>y$Fz=lgLKZKeEj?lX0nCljg1bD zsGf;<E7VO`L!RgH+@(n4&NiITZq49y&(NOSgJrQJ(Hhk=ZlC7d<ffjpUGG2I)=@td z=Ib-}eb4R*BCVuFTu{P^?hTHCQOPl8!JLGQd{te!gEP`kM0cUmAm%x^+xHZHgNSv$ zM6^{ByQKOZ{UPJ*XHD~^b7({r5fMpC{W-kzp*OwYa`)&KlWMg|-84^2eW9h?!5IV& z2+Yd3hQYIDTZ54OzNw=M$|6>_31Ik|4>~MAkZ&Beeu|9FQTaIjjuc3>`kc=O0qw>B z!ImJ*!~m?}Bp~#R-~B{>261#i(C4UEa~2ON%AT-|V+#CNm?HIpF!iL<85jjxk|Q2n zW$K7pa-5;Ac7Pi|l}@8`_d9|$Y3n^88zb!lPhN`7%|pHCo41!8dGZBtiN4m>+x2&* zf7W2f%OeZ-IlfHsFdTk43ea3Jw(S+FsUkxBVp$mG%#+Uuz0}EEQ?g>A*Jqo-i%}Y& zBH8*Na52gDi{Sc{S5fS4s!2?$88fBTt1mP(-R^b)j0qzTLVz+!I01AiBlAQiJKH=H z8rh!1u*$%&x|)+N;ievLXM=|^u=^Qs)E2eO6by99+y8bXTHoLcB-Iz)xHiM?_K85w zHt8<*Od2b&kwz_LncFRx1UlcP>!O=UuMi0)vj+_(m-Q5a(+3RDnKh!8(^He;f`aOG zY_||*J14Cn?f{W-KA0i|yNu(y7y!+@Q@bQu;mg1zg>JVfRS#awe4Ib&bp|xO1_>xc zmgL#kP3WGrq|<8T6;Geu9+z{|#}Yf)l0G*c-1~5@Y-zYNUZOU;{Imnc@B|ha-;Au8 zt3E=|(L94<+KL*cP5c&ru{ES#2;3pc^Bc~}5q;>v8uQk#zuVPLE)Qm^L(kpBR30}3 zdTor-Zpk=+lWgd;4K}I3oRi}rS@2neewu!T9a!U4@jJ`Z2c*4&<O0Edq}Rg^3ZtTi z*>p=HK27Bk6BB!~#%dW>+PrGQ5qUikBUQFAbWt<3TSw`cR3=t?$*E#_78tsHiOj&{ zw8>yG1Lu>X4M>#Tlb1dVL&Iv&BcYo&L)%o1P#YKF^O)>rOlzs1TfPW%xu)f)X{Uw4 zTPJVM8#@FAzUb++uEb=eg@#2S%E&0=^jCstvFDVUt?N!n0EP{^f8Me;*P0E*Ok!;$ zb1DUAv7ye`l;`@ASU$=79$_+9Y$LC}Y3=g#F!s{Z*3V_}Vw{5}J-`S368g1LuxCA( z+aS1p;_^fd=CvQh)N-j7+H%@I7nAp$AW??sWl-TvX&Ee&$1V`e7ei8I1Ie_t>_?Il zRS771x}$A)!bm4ratH}>B`3l7zJWg{3!j$o6WI9t2z&yx4fS0gyQwnZvo>%1x$&z< z>qS3Gm&*YbAtv{kA@W`;JG_1LkiovMnCXyk<08kNAWe1xwmUIJsGFR?Zzt!z0@iiq zuUs(u?g!sT_bQRipJR%0g(4*UT1X*Pgw?b4h%HZ&jj;o+rlWgw=OnNE$L*R20~U{A z@)IMua>sMt=V7b;J9J{@$6LqzLdXcrX2~Y>ODQMRZKpx!X_4jWh+~Z-xW*$+vH4)G zmC`ssrQfL5YZV%>8iAdhY_>2mW58_FVdN0wYzaHH*zNjyywK07Ufb<y^|C_y6($!= z&CS=+j3%ecFVh`?+qpVT>|l1MDJw3z=i(fC)<So>yR1ZUGf(8;ieL(mRH$AoOMcy( z3Qmr!+RKCb6l>*^9ZjEfXB2=d)`m<lIiqA8M1`+=CpaXr9})E`6F1xIr;~G3M(G}_ zzVk6p8;N2>7@}@rGL7(yigd2YwVD~)$1z1w1p1#x5X&m}%GWXxgcY=rNKjue_xCE$ z3%vyow<)VWcI(&uwXzh4%KS_IPzj=lrynmgwTv46$e3K@rGpWp!>c%I@|7Ab;HTb_ zhfLBM^p`&LU%7@?5v%i!nKu!w3q5wMh=?P&$cqT*((gPTBM~o5N|HQKY6&=bf9mMW z+OUTan!m7iD-GB}N}eMVV6#;chd;g_&-$O2KoKPFN4vxK^e=7G>R*=~QU9t&A45@- zfYKrM^gEr8cGKlW0!9iOG(1CNs9(F>+)$}l_J!U{rzDiF@tjiPpuKG9q9MC;`j*vw zin)J<W93o{XBf{2Ka>H2TD~__!t0#tvW0M>SOs>SAP~gv#0txQcIiC$0xm6MUylud zt9|mBU`m?aU6F~9+=v*^<Kc(8cODo6v7q=(73u33gN(JKFXUY#V+=L+O&TWFx@z=? zea$rByDa4DW$zs(d7sl**XbDSlZziO9ah4Cm+SoTK|9YQlUL2|*=X@i?_c~k_4Xv} zJ;o<gP}rF~44p4s<-3z!larmJPVb+Cn2nc`hp3EGZ~x0V=Sw@iTI9`#&CcLaGjg40 zo4ZlVM@7m$n2SO#Y=<@MA?v|#=ngRRwobUnXa&2zj*(=G&gp}v2-yTA3HzS>RESxi z{g<~A$bRS9!7sPVt@RP!JN@0$XBCnuE>C+8!3jmAAackp>f{?#Xl(*sxcAL7ZLh^8 zkiTtGrtPH2>KIYc8_pzDl`159r~X?tyvD}yi@|syD`-Q<aY|neP)VBgB`Y3P7b4S} zH++SIL2$FVeiA~w%?nbc3BGHd&CQ*+=V3hj2!M=&Kj24LoBXsr)^Jdwu}w-<!`5U} zcSa~%$@tH9LYE|`xynW&#JmPcBruW9c9dg!Njh0|-X9b)np~!ODoG85in-X>s)$w0 zmO~JdHyvl)l~#28;6*ygX0JpYgF$Uq8}QtJIy5uk!K+gCa4V(?5t9L%uVnD%1Z5R! zzZxs#mm=ar7EJNRT;^MD31|D4&z&4!p7GLH6&Rsnwdi0t_=YI$_07}n&t69q7of+8 zJv(R-$!6^gT)Kc&urHaMkLfMAg7vAPsh^*jEAO4bRaU@RnRzIYZoj74@%{a*VSQ$K zNn^F{%pzN6-W{je#<>7=w&d;`VZXiA$*s|;fqvQKO415Txr$3twk8j>J6U(n2jyFt zCD4VD)uOP^P3Lp1Mh(Z!Wyfh<W;z3B2Kw;IxFHWTW7A`OwXBdnnEh1^OXLTfb<Zv3 z$x0YnO>)+K{;>1i3PL-M^^<<Yjr><H#8)9}(>k4lyhmDR?x%CD%V(Nx$mpgwakiv9 zs=;w9cYtbU7e>57Z1&7Zw6_z>$CKB#r)#fhmpDoz+K*PO=>`0&L+o>QaOG}SSqkQ` z%rqd*7M@qL(+`CnV|=%{LudI&{PiX(zvkyN+ePTW4JianlBP*eqVxW?^S(FdL|rUQ z>5D(O=CZOmkyovWNjl0<RE1hxDa$Q{eG8s6hUBEz>69M^Zo%m;qw0*w8yZ=)hmdXd z&axDv+(H3MF;S<+>y_2GSW{@@)~AQGR%?H)2CrGLP+O`d5kC;|=t(YvpmGuD$G{c7 zeJ46Sf5pjDtfaqTkJAA*(<t#QcxfT3nr%`99`$S$C~x<%My|H9tBeoZ>jb|eBwHDL z^p-!b&220CzO8Y309)<>1g#(X@QIC2DRv<Wd*RlyGzQGw{b`9;amXyA1#6z$yW6Or z1NcW~YkpIxMlVE<wIo)QNwsQ*?~hnqDitR!l-TfBh0s9THif<S{!R3==bk9-;6gz= zZl&*IrYJ!tkD7KbJ1ym&hc#h79|RqEPIcNIbhtT=5p*jz0LKo+#?~_)K2uW+J!+qX zWB&R2TY!k;S~S}i+J1C$Vl5BhSb+pN-%N%mxx9plbOV2A`C7j(CTDW#6Ycigfd>=| zD8zGa6o)=cUd(8rvb1J%E3Bvx<&DmXOQFM-WDJiy*RnbYfdC>6{mN45an=)omhy{_ zEeD;t#U6<jjaPz`H&S1vj)$`Yha?_F<%#u!ORFKL%W7W3?+T4}b)i%K7rB;??c{-_ zjgt25n<b7RpucAlOTynFDj+rt7m^e$XzrOHu(4_{?{Rr`E^->Z4c;jV>(^)O#%UF{ zL8K?4fAvwzgs&p#PF+^sSAr&LFsBVYlOns6p3QqvbUw<6>0~=C%|NF9#;T)dl_mkm zKJa;_LJM>^|APff{>jajOMA~>51Sn=Mzex(D<02YO#^%*-4J=W+B!c0-XZ<CQ(px9 zlpoJPaMp<1Rt0c(qKS{MG?{Sf*dx)c?1RqRZ<CSD&4E#6dMOPF6qE&tlSX?IE<(Mx zi0Q;%Z(lHIZD239G62cc1N2(}50b>ruR|20xbF4YRXJ`4Y;^63);NYYx?o$)qmq2* z=bU-zrd~T+JXPYWBYyC~6=Wg4awTYwtiYMgQ_Hj5B%%@Wo-Ec{wY~4)skZY$YaJ(W zmnZ>!Q6x|l&yk<x{2(MGH{pJIi`QyDw59t6$)tXhYe5{O@Nx+~;KU&bGvfA#Ls;iz zdnf^cl6`_q?|#lSC+iEQ5@VE@|Iu6JiK^oF8lSXo0Z5d6`th}gj#^a~ua^Pu>U!YD zM<PI`0HP;v0DDXR{E0P9_uT_&na)mwRHN9*y*8uHmAO&7QTKqzNWa>>dnC903`oj? zMa~Ucu-4G?@c9yA4#~=7t;Ee8%;J62kmBw6L}J?2ggw9)vx5@9hmc=oBJY&q-r!Qh zN>BGFsF-02L308t+TQv%8UR^IX3}M8TZkV#8wFg*HoT$@zOafgYp^YYyPg&xFsqS5 z3>2sP@6c*4A*)c5hd+oJF0h*Kk(V;9_;1#^jQtnVXDB#6Nj%x<8Ap}uc<Yh~iFz)E zr9Y$)-CV_LjLN9t?Tf?3x8geMpjy$F?3|qXb$+iQRn<@e!h#i+3d>V7a{2NPUYu(E zrfELB5<Gh&Y@;;O;zwQARoi1*Y`=>*+FKHcVV5{#P8R8sjX6p{ff?r`bcctBNq$Wk z!oHXalM|zH=T*HAqD~nY^MT^Y;|I^&$9i;^3<kx{MS&1WJoFDKlq|t*!+I7cQt-Fz zRAd~Rcp-RP1e9Lf>LWDLR|xi9ZmeE6!h=6<aFi>5tQHjnoWbhBzT||gTWYVQTcd-~ z;b_9jN=FL|<)NIMcAvBK{U^iXy$Zvo*+<ahbkDvcP;$^wU}*JA4s%}60^mMiXNHv7 zRMO8@I<YaX68npt&F2@#5gB6Hy!v7%KVC{S1I`*SKNOI)Y7Vk#TlHTc=jNJA@6NrR zu~O+D_nQT%7&S~=35Usq`?{ln&-oe20|~3@o@lHr{he&S)T@qdCm!RCybO+Xv(P10 zk{WW4LNSh@CLkri6MtWSGeXjJ=eNi=R9{R_!`Nz-Ez>f@N<V%CQYA3sG;0%of4cWX z7%r@Xnk*J^y@(aDT>>X(SniZQ1{1jA)dUhZX(!r(J?KWFaKJ$N@wDcSu#1{2naJ?> zTO$CIOhzK8ynC7ipLd=q&un&z??g$Qb@>Cs2O~#)cj%fOQ5_c-7xU+Elgr>izdhx1 z?{V0?8IVLk^j1Fp2{>C&?5YWNADE5ZG#j?R59E-zpo>B+g{JZQgXs<VTt(lYC#^3V z8hlOsmpRx%|C}ShEfiSVl0Ue$WNN$h7i6+8Ihslr^=L=(?0f4?i~ckHsw@SQ3W@_z zpbAR2Nb<;QVuXPZ{xC$YT=^A>9Uu2GUb$b=tCct1d(Qz^!*9@FCpnoeysl#?7Cc*S zwi;#?6Mzm!G!fAtQJ9N}02EUOMqW;?Zd?IA(|BAwgTZiNTu^I7$?q)p2^|h*J$`u} zXIw5OR67`2oAeggOqXEx2QMSkpsYxSiPZ^kkuU>Hxk&HAdW+%e1r~W1C%77WEE-4q z5Vdn$ES%RfDxkOXB3W7h7|qL~oBKVv*=2DA6r<B7!SqpH=f><PzlXr!S*Akyz2C{q z$(25~JGZpGg@gEC40d*8J5-Wo`{ib^a`uE2cuYS;?XMOkYlAd38_m2cbnH9aOb*RG z_7A7Z%6L>-9Ub!3+CQJ~xqsxnl5IXQSV&@e*c7lUk32t-0nD$Q=j@h7gYMk)c?sRA zjm0WDWkM2t@iFR@#}z=nV$xH{v(FAwdwNqStD}eKA_7}qoo6;6f?ld7pMs;tS;tmw zpB9xb<+i8j-26qoQ-fK>D^iUqRjaDV0QkX1R#=-btw^}1YTQ%x+Ljg*Et$%*p2owe zUyaHjMJ9FY6^5xh=kFho3*YBZ*Ve0r)hU>`Q3qqHV2+MSqYPwM^;>~q?Mfr0eMoUg zPlIVZYlM%rz|Z_sW9#ZP3BaZ48ya#qRL)rI?d_eYE_QHCGA_*`c0WFx{u^WNK*Le` zx{1y05-13EUAv_X^inO=$svEX%->)on9-2@{va^6cDl-Uz6xbj1GC-ZA0wXvxn8hG zuJ+zGA~@|2xG8Yo(ZRvb#ill|re)bjw-a(%h?rdbc~Yy|AJ9a@ped*)B%(xn<xA5q z5C-CLAWmakIx~aj!siS2D{t#W!90OcN)e$GOfn4a`O0bKcPbSwhIZdWs1j4f{0_fD zyq3mJsjT5<0rJezIclxCC6M$CusqcSTl-fS8X&I#ESI%zdbof9<ftd^CgN@_GL)LE zY`+M|rY8VkkG3+v+-pDkt3uwa|7B}I9<el=N*0isHUQ?6c&hohWRJkGubX(ZHUD_g zFsZHSs^T%eNkz^U^u#V21t1x2O)eArg*tIBIpX76?NoKf2AH+-VBKIJMPI$L`g&@% zyyoKE*`rFf)tN#4_KV0;3F>uWC`HZS?=Lyx0#k(9U2?xTi}VO&C$aLT?$I<fbfbOw z;_cw@$Gs8By1>9k{&DdXLKBnm32`0FseLR!T5{tx$CbKd9ZTs#ya9ot63&xsmWKhy zd({>5z5%ll*mtO{LVeIfFdX1+U#$72Wse8veh?_q<sZATtVL@i4x}vEUZwHk!Hxm( zbU#~{!I;aFks7=9kz{1g;v!;(%wwXS`=1Q4UW*j1@lQQUwVIf%*X5I)qn*3F0G1M$ zd6S*_mE?M?Ggpj*2<@^;^`KjwL~juIpz?6wRoj?hY+J9L{rNu_;zcI2hisdW?Y1~1 zGE9yLGJT7~YU-V8`2hDLLC&kDJOK|W=;TztzU?Mzq9WdgSZ{7v>IMdYOw|88l-Ert z4A;;6y(aNh+gt(3g5qi`+tKHv6CZ|zP_a$d`&B-|%#QqwoFoq&>%Z38xH}lmqBarX zB6o_`_uiF>H2A7`pC6#$)PCtdYp`8wXgG4E^@)(2ZrZ-T!~+uu7x4DR?>sAo;&rw@ zGoAfos;;wf`4Ac!W_)`>R}$ua<6mL#HQdHKdS~B)Z1Js(ytcxtow1|2YM4(SgEW8p z-oeyXV}87|<a(8*i<_rPg%w+4Q;hwbMTDv?ikpz8iiWL2ZH}X}zy5k6rywh>4R(VU zs=%U?ibl9W3N)cj?r^u<>q5<<tMkl@&sm9<A(@k}b)x{EF<~deOwXFjkO-G?iQ=>7 zkal^Nw}wVk3dTu%kykOI`^v}sD{zzCW^PY?eEtFgRA|OX_PT^xzzqTZqy8kdBZuv? zB?WEyAP`(H_wP6^S0Xm~zFwM<crFJU4{9Cc_!W|~>_dM?BDjdY@>bcGZ$ade3T`m{ zVT-q5<VCU2QB^g2i2=7{puRwv(jvD#TUq?7(!Kn5O68z${ib0g;Z~R9+<6jes;Wk{ zsSZzjEAw3v3-#w3pUyX(YHt&JsPg`4z52)#=cnt>x|!zBN3n5dj}Ftt{C8>QnUf@2 z0!HJX8nguL`h#)^vL~{y*(GYId8dJmjdQIj3&|_g;+uri%IRL@n*0MbUSoS{f9L@; zKR|2y@X;Xc4RkqlA1KbMGb0lZFvokxTI7O)PbI#yVM3x=z}kAxB%;QCP*xQyMk8dl z4N;xXia(wu!&a93a_ni-va?%rT8bOB#|1*?74gS*w&m|_{FQLUt9~Q3Mga5MSLioV zRKgB6mD^)8Ft*2g%iWd5y`T?;Vfr6Ja<9D*k9*r!1!qgsFUu&;1%vU8#;1hEli12b zsPY~Y<~>`l?njXYxE5&u3!E+NZ}6euXe@gLZG+cpDzw3^hl24;PTDBNkj3ds)=i3v zieh$_M|OFYcz!3TeN!c2%skJY`EB`l%6e$tf0Au(X*o?>!d#&LoRZQ;>C|t{ih)Fd z=!!jC$&xzFYL5xJPC4(z#}Tw6F)Zk^Xovt}5%SNkGpJ}AN>Opgm<{_auErJZwFx!< z^40H>o9==h0c|r32IF>7X%cq<5>~lyvk|7|1h6tG6D78ew$))k-z4K^A0yx4U-jOO zVB3Q3$<9X9WWy855#;p+;EF**@SX5WNFsOyo9?F|^2Td$Nk39f04A<r9cW4&6WEPw zH}rBfM~Py#`ZRuAFb5aOlVF2+S@vB*viOrOd~8BHL&8^st)6t-;?=8Ge@{n<C3K5w zS*6zZwed4SL5kaIvW<PKJ)bMmf41*G#)5t{e?!1P5u|H5FEL5F^mp<L3tj7nP=1$B zRd8_>s<ZAQLU~W;&7x+9oFn5`Rl4T~p3CjvTgjb8|IxR15C68O;mqX}_Vt?Y=SP_* zg$j*h|4L>5hMAF5!T*)NR>>O=M)vn~O1jKDLvw)iby>QtzRXhVhabs@7*;vzp5DA= z%P2U}?HiPGR#Qrk$nfrD6Zf?50X?pPRMhI`X>XJNrN)eF53HbAf1=UrbfleU`{QVp z#)0`KAv<qMzVq{Q!nfDL5DDaCyed!WF1gVbSi8PEsf^YP5PLG&<HylC5(WAoi58Ip z(~JP+*|R|Tun!;qmAJekMQ@Hrwq3W{3C%hmL!?)0+1`JLqv;&5r$p(oW4yOvu0;1s zW6IBbLem0zV<4kt7g>BnY2u=<Z^Kz&Ym_6+@Sr=)At6<n{5Rjco?nGO&0(*DWE<Fj zNTJm2CBBJu0IfggRtikNC@7H470~yYo%Pq5M!#cK6G>cMlGrbfh#>gmb@*`Ox4pbj zacsWLCpp6sB$C(KtJPf;O$aBdIp?b3uX-oy(KWGLwye&E`9&ecMzr<rWd~iupO24C z=4wjLy$m)B6$^`M0+3qN+M8y=UV<~%X*HZ|i;09$ohg^C?3ZM0BQeU%_U`Tu7JXIz z^G~p#0#^YIP0a`1tOF08gI_<_xP8^En-RiJe~y~_Upo7*vIP#8{bUdqFOmXr>!6RZ zkuGd_4DB`85iYxD_><p)Z_zIp1pc~ZwYt8lwx+^ZKQ<&LH$G~R&qzva#S-1_1Wuo$ z{S6NPvm`>FhbtJcuXV7$)^reRqO^Pgd)g|%ggR2gE_JB+v3C2^KDdT^!ScICF}!Z; zb}04sU^Ao%`%#ux1vj+g4><dd%kPQ0Sz$fL*b5rOv?N<nrcDNnBjaRcIuFX8q*#7A zjVnoOElRlDOBHB{Z-u8zy~c2|(eZ|6kRkl?Ues?4I!z#?%u)Cch86!7GnMvu<KZrF zYfxu6CrZ_zH`|CLPqmb`q1=J?b-34XdFAMJ0j<XuwE$!K%x=J#@z>D3d6zQu1sJLO z3&!%tNZq~PBXwIWA<Oab&J6F4zd308EiE;805Y3gMP)CXD^!Vxhb`1Oz~i=fYqw%l zP)71plp_8?a;i5TPGDhSVV9C-YBq5p6aHqZfS{m6(y#A#tZ54b(X5=D$yIuK*YL^- z2nhD|EUDK1NYdV_Wp(k#HsodaAB`Oh9@k{JRhfCR7U`EcjNenM^xF+W8#ue=y)fVi z3i>_;Ow<kS3Jc?%VRlv|zD+#up2~4Ej#y@(YR|`C5;$?>1zj25cuWiLjB||`j1W@A zeZME_@<-UZZpVBfy~S7O>TCsn3J}#3nq*h%h`{e2O{yL#Z&Cz3DNu55e2wTA8fa-2 z<>pP+4tFv%RM#Kz!}=?2&o*0}A5Eiae&t64Iv{#JTvr>b__{~;l2Zkehyo#U<p7n% zyPWsQ_)1pujT8m`|3PljdZLK3>jlO~>caBDb>&X8_4O(S6flEzNJC%WzWy^yG#?+E zz!>oFA7HoH+}z3u?uun_a$;Vf7mjSsm5TxpFDPFNjy$XqvAVDN``L5&D~3`}$!@q> zf5`Rpw46u=Fl&FECj?jTL!eA8d#`J=n|AnxtZ^~$2i!_RdNYxhhn0*KQToM~UwMuH zc^dvc7xY9poLjnSA?cz*hzZ7D0~{_lt~ukm0`qi-hpNx+3ri{)SQZ@2Vbs<Cji->3 zr)OK10903MX;YpD=C@fp3i=>jJ<?OoFNwwbha?=@CxT)saw{qQ82d}cmYzdquuv+h z2M>^&NOCW88AqTwh>`LC0kw`83jg%U_<u&N?>U|6zf718*N0=QO>IZpeqzn<pr7+z zwQ1k5ICyxcF)=Zio%K|oeCc*(6Lob!&3rdoiZOlUOKN?Z{W8S03wH5<$O^&8a`t6B zL@V&q)a^O<pIGUb(Jjh3FMI4yuU*giC&%+;X5KNE89#=0yFQj|A~uOb>T^vT4}hHX z-iFL^A9ai-GjjI&%Xvw!$LxRA{X1!W+~~jHqpPMDJh2$zfA|4xP(u)Nb%zGtCS_*t zqN5x9g6S9s5wX6gYkT{4Z|G({l_l?X?2Xm2bwFnlBV)DNd4@j#ivlVi3$l4bI!JuO zlqDsy@0z;)5-dtBJI4M8v%q-3Bzc{u8uWL(7FUH-p4tb1R*`Z2K=(4%iAl+mri6L- z<TH!$gC2Y59TK^6{_vvaYOB4rv*;zWv?f>hf#~4Yh&y+Yg~j9U+)$a(^0#|G-j^&m zc6WelqeA{jWCr0RS8Hj<f-0o=Q>jK{-9MtI_-H~msV=*!_N+QvmSAT>N#8i|LqhrO z`4>>=kk-G#cAkLs&uR|P{{Gj4>Is1k9#670C{}4jhv&ve^KgJ^vs<-09_?TGr|fo` zgI<2ln27#<Oj0uoIe(FtlK)2c{8UM#=w$Nd!}^BuEJItB<Jp6wR&z(|8=)a;)h55n zGsh7C@urgoNI86<hnWotoZyWy+|#RPDKZYHT`u@+g_q}U*V|!ofa-cyK`h$}bD-Xb zmDL&2?7$@d!f-86r5r*hXOWrD<ysZg0@4h#|1U^uROSB#X^j{z<Eg08_XZ>St6cxk zz)x{~iQs6L^C3TjVwb3dWYQ+@@ZTX~dcotS_}{3tJqW>Z2SBYgTqu<KbOAt_@r70D z(?s${wX;scNC37z-O4RcLh6aN*k25}{Q+7VQPa@SQ9aOE<FGei?dgS8oUOW|av>tA zw{XwSZo)1~e{}s!>@I-8Zi#|4?!p``-0P)&f@vA24tIAC+4<grqpJVd4TLz!7V4UY z+J)H47hJ&^56FY?16Gr`{P`<e-sUZN7ko!ni<E44N`}kq(Z)^Yi5bygL3@Wx9`|)a zV8lf;NI#dZ3Lq&41&HyoowwLQE5Fon4zo)yw&a}Sq0hUoL_al*cRfH3moP(^?6hr& ztG<@n*ee}0c{+VABk^%IX+fxtE`^i^a2RVlyJ}lW+fc$waYP*Qi+GX%dQ!;Q(42e& zfk16+jJzJ`j8lP|Ze=unq@K%Lg+*vdrnS%n=|G8{w(NrCCeU$vxC06tz+@Uub1 za()-h12#EWBe$F%%KFSa*+E18=m{^r)vS98nOINn=sjYzqP3V(llrDu1r9^M66LI{ zEwMvblmBQ%F--2QjyGFggQsb5oUfai_d#@SdpISRiLWm<Djn0hszO+`<)fyC#mF#K z-cToOah`dQI!BI<vlz8H_LM6(o^NQ`vS<)s<Pb2a@R9rE-<;(U@;^Yo04t|coBmvW zdd!xWi)xTplp#1_cVF)=yIdKs&2ya#DslhTrbU6M?*9g@!|sDMm{76ednZqh9}0W; z3^reP%o{-Vid2=BZDSg021<%6UE6*$>GAi8i6T;;O%*3sy>Rt2d#*%@9_o;JsfN6{ znl36BTGe&6I{S|^=LG;9Y$6UeVH1sw1*Y;!B^$wp{h&J>R2?H&OGKN%f#3I`%3sXB zF}8@hx8Ur7b7TC5%U^PM5s$}38+<-jrHvc^f9+j)Jk;wNkEkqdn6jLZHD)xEN)gAL z5wh=NsS#zShLlKlg;16v&5Vg;nJi;4wib-7EE!r1LZQex*5n-fcJ52uOWZ&2KlfgL z%wImg_x(NZ`z*ibdA{EVW9Zg)|C0Ab2k*Bu>2TqKE?;+xC;n1nW7VXyKBtXLno<P! zDm6W&SqZlta{Z}&7tEe_2mP>jDHWK4z|kk4=V0@HbilGcdsiCoV#@95X|0M-F~OK* zFF2As8t{!hQk65=UPf!d*w^+RxpJ8qax`)~Pr>7}mL4Nt&Ziao%z}xym?EE#sp%hN z+6wjvwlu%Vfx&M~1)Qj-D0gIp%(Tm@)8|jT{niM}3MZY|hSMa-^8YjbT#iIP01#pW zib@YokU0*&kznmE$m{gth>>1lh|GD;&A9w)5>Ug_%uN8<>=^#X#~KQkH8+>s1%G#f zT3146@knByURXE;MFoYR7ZSP((73X)!7M#Xl^tRy3jK$54dU|7VjFdo82v<xnJ^mK zS;5B2W1+hl`XO68L3(}DZpp6Od7qi#xV%Ke;P|m^EtTxUBa}Zxq)JctAXJDs-rOh) zPSRl<o1v-(T|#$$vxa@|?AE}K_<jpBj6I+I$iw>P4pv%yZv&XYLX<NDX;S>WV@#=U z*5M(P8^DO0KnoNN#tbBN8*I!oG3$WyUul~T=l_0vP=l2r;9m!gJ!Uk@W6;Q58h54Q zA*!D&Z($|f5cdM%i9K*W_0$f(9BOvccTM;1ChIE7kfgf*K)mv`hvX-AMDk8cE5Tk_ z^eD`2y07m!!v^|DpGE!Z121d)px*kapfBM>CFzjkqZIBYh1kdW&zey(t9tsDy8Doh z05C;(p5MLqVIt%qj*v5Lqgjzt*_|wMR>eHk5U)!L<GkS3>nNpH#|P*pEV@4hLoJ=n z(#JSn@;eXL<tzcU%}_Z=ahEUMkScn8(nKSbEOsWqb7D?<nE#4mLvdxOwgzd?rR}~} zjL>y2MT1O~n!kx#4X8Tj=aTTKk@n3Cj@m8<Ta$yw(K2g_X-i?lcXKeLF0I7eKc>9J zz^P&M8)LR1uL4lQS$6r>3~4;Y_6S2;C*fTk)0J-+T{CaOac~6;Kxg0S93LwmQ7!)K z+AJp~-I#Pe_{JzfZ4n`zF+dG_2<ojjz5-x0qeyy+f^x?Eo%6QLyZ_HZq@C*}-;()H z(haSqHmn9B9OKa5yQ=qO`C^ysxt({BIVh8%eu0yC(E53{dvEU3!)ku>Z+#~r2I#o> z_#?tLp3iaPt}&t@02~%Gw)sK@1wPHl3NNE)mu*rW^+29Aj-@Y#F!x(#=csjJtyf9P z5#Eae+6>4|L{%G8jobf%mt_cD$Kf*`nn?{V_*}-~i0+bWO!nd_el7&}sbtTas+laz zFeIB><Zs|AI*ag;6J?gApn$AY;P1@TnC!4OU{cc$oP9ylxtbg@!^tBupufHS`i+{2 zk0XrpdVbE4#O*fCV2Ccwn$i8z=o?~i7eQ>?wO962K{n&Br`snx3JXhU=J*Cl))w1= zPLRFXH|gwzIl3>1C1<-j@K~h50GmR(+`R*Jwi@S<&AMgFZ4paSLQtvPmpxzcut_3R zR8r+ELFx#wL$#|hU;<LyF99RW#o}DLzFYd^%!E#VP68DQHP>iTG$hHk72rbgERU)V z;Xx-r3YDT{AhRkhy|nfVxn+QN`#Ia0sY|w68hA^q|8acxrT`(}6AtsO;R0MS&EFY| zaKtVNl~ruyOEzKg2O)_>IB5lrtUK0493=qp^v<3>xpnmi$V$cm#{mresqgDG1~{lm zfQ|IM5#A^M^Vxw_$|C@WhY(lk>b8uP-An;K4dTd^-TQt*1})i#*xi8ILbAeR%_rXS zZvHDk`u{(~{|M7U`Aa*rt!<}1bVKE+g|Ha~p+vXj4^3Whbgc6~wT5bMIrb8d<1pPb zr(=R}a&=XVyS(%Kde#Y!U34A_Y^uiw0j-`p^oW~-ed5ao92gwCYGv3sZ=BN({Ul6t zs(|@~4q=Yr0~gx>)@vY=$QAq9$icXF+}@k7-W2|_=+{GsqVrzkvPDeR$E6^p!pj!y zCospwv$g8L<9fNAK<iYa>1o!u(@y&6=%|BAUE%sQHnA@V7`N86Z|daU>eXa%CCD0` z1|jF)tE*cL3s_N5@u>IgxE(QmHpH}-qpGpk$dfS*TH4xb`*;Z(=`+O&$tD);r=Nlr zuPy%7Q?%an!_i`W$@jChwY9CSu^vH5xDB*9z?}O)Q_9VI66!KjF@dRSyf{3s@XdKl zsBi)#Q?KIt#q|Uyz~)G@ae4_1nDkZ{qYIExdxwj}>hp?3g*6cgSX<mAe7mcQOO$6z z1osA<8vzjl^sQb)aiwv$qafn0ewQw9$=3(cPS?+`H=dTU52;(Qwm1G|b&70RAY_Te z^1I}02MP6or)nGmN@3~yQ|OALVtcC39tpTVkm+?WMd)6mjB%Q*h&<(qrL{F#?HUQm ze`d{8yyZiQQVe+g`t_GD_E`tb<I@ro%k?peBdI&Tg=9<A^y(m(VfNPN5y}%$M6F*D zh{SZXiAnA`4>Pl9KgsoRFOUbEy}}?jHMP2?=7<7RG2#jRp6x_w$i8+X>6i(rSgeYJ zH?20l8?75BWEFrcmonF4Q_b)3`|UUTt5>hu+b1R4B+WT!y(-M$f8H;9WC8bwZ(BUv zWk62?BJCP!Hk;o&3#Y_6tLa`;1xebEjNet)nEI&w?5r;t8FC7AGeOy1vBq{a3ysI? zlOWqnD=BKi$;=Aacry)J;9;p@s>=KtThQ5%bjQuWa7#$Y7D9?s15?F`Z%yCc%KfA0 zmveXAVmD(|$YC8(#2tV{Hb#k&mo_|aUOJDME&vbC)EG#wG)*m*N%Dv^dk-DN1Y4B9 zdZF({FiC|>E0RvT-(Q`iTJe#m0&YTLOa!$X`rnld9fI}tz4NxLl*jXlj<YiDh>T(! z0?o@jNgEoGw_~?L+cAqiabL1lmRk312K-S8KY|TrRt9N)pQLsTYm^zGd?c7L7@N@s z#wKk^yiM>r7Kyi$IgaJ?KDJ-s(a|dXyNX%9y{%j{Umuw@1bWN+47kM^A81^64Bkw; zb*Hhf!=arY%~HW~pH|M6O}=!M;46ZzeVt(3{)>D9w$b}ou7VFLD=t4(L|3*;%yFZ4 zy=_*`K{0RT$kIoR$arI=0qDe{(LYJipj7Ai)HfZ3-h6(b@x(2i!H%#C<ooDT%%XQ+ zZ$+}G^03FN0T?Uq4n|bcjz3`V9fmOD6-UsjdZFHJJKd99X&ye6wio`y12Z&0hWO;2 zvqGo34#9l@k7P8AU@o(IfX~Xa*m5}ak#&yJiU|<jb8WWr87Xv+!FSY}s+02IDcM}7 zlo@e%Y;fiiiqSn%bO;``W6iZ&ibta&Zr;(-Y_Yp%+E3e&QvI}EZm^@N$2<-2;TDHh zz}%UlK6#B3E*1{$XF!KKdAIB8#)lOHiJW6c|Dwy~V{<h2Wv$2H1AJAH{DM{wyx$p! zhhAwqQ9!`&#I^C<dg5NYws!JE;^J8LiJK1yPeXH?V(7lCV^CH~wl}bUWm)eCLP73= zlDpB3DHUcLE=@sNA?s8kq7eiuPKm*5P+7>Lx`dr3`+wXC8mj5ld&uV>N&NhQx2PhY zqmd5!b#=LXj_nC|RmZ4T<ah)%l>~_V*VEawfA^#yH*^3*q}2o6X?tb+&}dE?^^6e( zln9zf(nmAW$wjZ^x~P$Bo5PlbeDmfYdvvZm>txehIyu|pH5JiZ0b{vD9I%KmL#M57 z^ZxPgV0RQPaV?sBwcN-IF~N=~WHfg*b4t%!R<mJ6<||4L9NBfAS7PyDWt72l{k%Bq zp#5m9Nz?{c*%umBEl9+6huaaGMSKFckuX7PIun1SyrOj3)L&&K-~CWlK}+wDUYD`} zE=Zij`KO!L_lS+6S@C=j>0(>vlb>y{QA5BERoDOV?dSC&azH)cVk1~jhIek@IFuDY z5-IJ9deEv0-b!Sxs0R{WxDL4Yn(En)#lIGS=sCW0o>z3ma{WszwJ`7vKz1+d+u&A3 su|P=fIx}(DbG^g;{|o;66P)^+ZL?muM$6YTm`&hMN7L|RHp(vWAM-G9uK)l5 literal 87717 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 Ho45Z5EgK0e diff --git a/src/lib/Server.js b/src/lib/Server.js index 315679c3..40341ee5 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,23 +265,6 @@ module.exports = class Server { }); }; - // import_export - const router3 = createRouter(); - app.use(router3); - - router3 - .get('/api/wireguard/backup', defineEventHandler(async (event) => { - const config = await WireGuard.backupConfiguration(); - setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); - setHeader(event, 'Content-Type', 'text/json'); - return config; - })) - .put('/api/wireguard/restore', defineEventHandler(async (event) => { - const { file } = await readBody(event); - await WireGuard.restoreConfiguration(file); - return { success: true }; - })); - // Static assets const publicDir = '/app/www'; app.use( @@ -293,7 +276,7 @@ module.exports = class Server { getMeta: async (id) => { const filePath = safePathJoin(publicDir, id); - const stats = await stat(filePath).catch(() => { }); + const stats = await stat(filePath).catch(() => {}); if (!stats || !stats.isFile()) { return; } diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 215d0d5a..d4f32c5f 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -319,22 +319,6 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } - async ___forceRestart() { - this.__configPromise = null; - await this.saveConfig(); - } - - async restoreConfiguration(config) { - const _config = JSON.parse(config); - await this.__saveConfig(_config); - await this.___forceRestart(); - } - - async backupConfiguration() { - const config = await this.getConfig(); - return JSON.stringify(config, null, 2); - } - // Shutdown wireguard async Shutdown() { await Util.exec('wg-quick down wg0').catch(() => { }); diff --git a/src/www/index.html b/src/www/index.html index 4c32ae05..72044728 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8" /> + <meta charset="utf-8"/> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,50 +23,45 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span - class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" - :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" - class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" - :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" - fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" + @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -96,32 +91,6 @@ <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> <div class="flex-shrink-0"> - <!-- Restore configuration --> - <label for="inputRC" :title="$t('titleRestoreConfig')" - class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" - stroke="currentColor"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill-rule="evenodd" - d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> - </svg> - <span class="text-sm">{{$t("restore")}}</span> - <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" - class="hidden -z-[1]" /> - </label> - <!-- Backup configuration --> - <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" - class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" - stroke="currentColor"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 2H9v3h2z" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> - </svg> - <span class="text-sm">{{$t("backup")}}</span> - </a> - <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> <svg class="w-4 mr-2" inline xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" @@ -140,11 +109,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -225,24 +194,20 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" - :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" - :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -250,8 +215,7 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" - v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -327,7 +291,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -344,7 +309,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -448,8 +414,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" - viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" + fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -566,8 +532,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -608,10 +574,9 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" - target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a - class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is - licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" + href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" + href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> diff --git a/src/www/js/api.js b/src/www/js/api.js index 9006f5ab..356164c5 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -138,12 +138,4 @@ class API { }); } - async restoreConfiguration(file) { - return this.call({ - method: 'put', - path: '/wireguard/restore', - body: { file }, - }); - } - } diff --git a/src/www/js/app.js b/src/www/js/app.js index 61bb7c03..6745f698 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -299,22 +299,6 @@ new Vue({ .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }, - restoreConfig(e) { - e.preventDefault(); - const file = e.currentTarget.files.item(0); - if (file) { - file.text() - .then((content) => { - this.api.restoreConfiguration(content) - .then((_result) => alert('The configuration was updated.')) - .catch((err) => alert(err.message || err.toString())) - .finally(() => this.refresh().catch(console.error)); - }) - .catch((err) => alert(err.message || err.toString())); - } else { - alert('Failed to load your file!'); - } - }, toggleTheme() { const themes = ['light', 'dark', 'auto']; const currentIndex = themes.indexOf(this.uiTheme); diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index ec914b81..467bb460 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -30,10 +30,6 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donate', toggleCharts: 'Show/hide Charts', theme: { dark: 'Dark theme', light: 'Light theme', auto: 'Auto theme' }, - restore: 'Restore', - backup: 'Backup', - titleRestoreConfig: 'Restore your configuration', - titleBackupConfig: 'Backup your configuration', }, ua: { name: 'Ім`я', @@ -197,10 +193,6 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Télécharger la configuration', madeBy: 'Développé par', donate: 'Soutenir', - restore: 'Restaurer', - backup: 'Sauvegarder', - titleRestoreConfig: 'Restaurer votre configuration', - titleBackupConfig: 'Sauvegarder votre configuration', }, de: { // github.com/florian-asche name: 'Name', @@ -229,10 +221,6 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Konfiguration herunterladen', madeBy: 'Erstellt von', donate: 'Spenden', - restore: 'Wiederherstellen', - backup: 'Sichern', - titleRestoreConfig: 'Stelle deine Konfiguration wieder her', - titleBackupConfig: 'Sichere deine Konfiguraion', }, ca: { // github.com/guillembonet name: 'Nom', @@ -289,10 +277,6 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donar', toggleCharts: 'Mostrar/Ocultar gráficos', theme: { dark: 'Modo oscuro', light: 'Modo claro', auto: 'Modo automático' }, - restore: 'Restaurar', - backup: 'Realizar copia de seguridad', - titleRestoreConfig: 'Restaurar su configuración', - titleBackupConfig: 'Realizar copia de seguridad de su configuración', }, ko: { name: '이름', @@ -509,10 +493,6 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Scarica configurazione', madeBy: 'Realizzato da', donate: 'Donazione', - restore: 'Ripristina', - backup: 'Backup', - titleRestoreConfig: 'Ripristina la tua configurazione', - titleBackupConfig: 'Esegui il backup della tua configurazione', }, th: { name: 'ชื่อ', From 9efac11680292bd9d14415d646bd7c439958a965 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:49:29 +0000 Subject: [PATCH 52/98] npm: package updates --- src/www/css/app.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/www/css/app.css b/src/www/css/app.css index b64e1d91..ead64396 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -668,10 +668,6 @@ video { top: 1rem; } -.-z-\[1\] { - z-index: -1; -} - .z-0 { z-index: 0; } From f47e740861d27863774c3c81f2d132248eb200e2 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 14:30:52 +0200 Subject: [PATCH 54/98] fix: auto formatter --- assets/screenshot.png | Bin 87717 -> 107555 bytes src/lib/Server.js | 4 +- src/www/index.html | 83 +++++++++++++++++++----------------------- 3 files changed, 39 insertions(+), 48 deletions(-) diff --git a/assets/screenshot.png b/assets/screenshot.png index 6f87a647a62c366850c975d2d81f5a929542db2a..c5b73ccb96b3f4b372ad4c7b19384d1f1705ebe3 100644 GIT binary patch literal 107555 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%0Am&-fX8n#JhRG^b&`om~0m>DNDA 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 literal 87717 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 Ho45Z5EgK0e diff --git a/src/lib/Server.js b/src/lib/Server.js index 315679c3..d995bb69 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,7 +265,7 @@ module.exports = class Server { }); }; - // import_export + // backup_restore const router3 = createRouter(); app.use(router3); @@ -293,7 +293,7 @@ module.exports = class Server { getMeta: async (id) => { const filePath = safePathJoin(publicDir, id); - const stats = await stat(filePath).catch(() => { }); + const stats = await stat(filePath).catch(() => {}); if (!stats || !stats.isFile()) { return; } diff --git a/src/www/index.html b/src/www/index.html index 4c32ae05..927d2690 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8" /> + <meta charset="utf-8"/> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,50 +23,45 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span - class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" - :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" - class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" - :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" - fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" + @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -108,7 +103,7 @@ </svg> <span class="text-sm">{{$t("restore")}}</span> <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" - class="hidden -z-[1]" /> + class="hidden" /> </label> <!-- Backup configuration --> <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" @@ -140,11 +135,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -225,24 +220,20 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" - :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" - :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -250,8 +241,7 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" - v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -327,7 +317,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -344,7 +335,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -448,8 +440,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" - viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" + fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -566,8 +558,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -608,10 +600,9 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" - target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a - class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is - licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" + href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" + href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> From 39d32b0a1cb5990ff3a36ea64f7b639f970d121d Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 14:44:40 +0200 Subject: [PATCH 55/98] Revert "i18n.js: german translation" This reverts commit e4a7ff08c6c76bf9b1449d520d458be9f57102bc. --- src/www/js/i18n.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index ec914b81..267f8c32 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -229,10 +229,6 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Konfiguration herunterladen', madeBy: 'Erstellt von', donate: 'Spenden', - restore: 'Wiederherstellen', - backup: 'Sichern', - titleRestoreConfig: 'Stelle deine Konfiguration wieder her', - titleBackupConfig: 'Sichere deine Konfiguraion', }, ca: { // github.com/guillembonet name: 'Nom', From 45087a9683cf43a6a76d77f637c1b19644da0ca1 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 15:01:39 +0200 Subject: [PATCH 56/98] fix conficts --- src/lib/Server.js | 2 +- src/www/index.html | 81 +++++++++++++++++++++++++--------------------- 2 files changed, 46 insertions(+), 37 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index d995bb69..12c42077 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,7 +265,7 @@ module.exports = class Server { }); }; - // backup_restore + // import_export const router3 = createRouter(); app.use(router3); diff --git a/src/www/index.html b/src/www/index.html index 927d2690..345ccb74 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8"/> + <meta charset="utf-8" /> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,45 +23,50 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span + class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" + :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" + class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" + :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" + fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" - @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -135,11 +140,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -220,20 +225,24 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" + :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" + :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -241,7 +250,8 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" + v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -317,8 +327,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -335,8 +344,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -440,8 +448,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" - fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" + viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -558,8 +566,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 20 20" fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -600,9 +608,10 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" - href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" - href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" + target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a + class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is + licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> From 03b7d8e537a34e4025dbaed65373b4ba32f75d95 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Tue, 9 Jul 2024 17:06:12 +0200 Subject: [PATCH 57/98] feat: load configuration from file * import json config file & update the config (restore) * export the config and save it to json file (backup) --- src/lib/Server.js | 19 +++++++- src/lib/WireGuard.js | 15 +++++- src/www/index.html | 106 ++++++++++++++++++++++++++++--------------- src/www/js/api.js | 15 ++++++ src/www/js/app.js | 16 +++++++ src/www/js/i18n.js | 2 + 6 files changed, 134 insertions(+), 39 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 40341ee5..2c046d99 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,6 +265,23 @@ module.exports = class Server { }); }; + // import_export + const router3 = createRouter(); + app.use(router3); + + router3 + .get('/api/wireguard/dl', defineEventHandler((event) => { + const config = WireGuard.downloadConfiguration(); + setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); + setHeader(event, 'Content-Type', 'text/json'); + return config; + })) + .put('/api/wireguard/upload', defineEventHandler(async (event) => { + const { file } = await readBody(event); + await WireGuard.uploadConfiguration(file); + return { success: true } + })); + // Static assets const publicDir = '/app/www'; app.use( @@ -276,7 +293,7 @@ module.exports = class Server { getMeta: async (id) => { const filePath = safePathJoin(publicDir, id); - const stats = await stat(filePath).catch(() => {}); + const stats = await stat(filePath).catch(() => { }); if (!stats || !stats.isFile()) { return; } diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index d4f32c5f..ba4a224d 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -111,7 +111,7 @@ PostDown = ${WG_POST_DOWN} [Peer] PublicKey = ${client.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${client.address}/32`; + }AllowedIPs = ${client.address}/32`; } debug('Config saving...'); @@ -206,7 +206,7 @@ ${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\ [Peer] PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${WG_ALLOWED_IPS} + }AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } @@ -319,6 +319,17 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } + async uploadConfiguration(config) { + const _config = JSON.parse(config); + await this.__saveConfig(_config); + await this.__syncConfig(); + } + + async downloadConfiguration() { + const config = await this.getConfig(); + return JSON.stringify(config, null, 2); + } + // Shutdown wireguard async Shutdown() { await Util.exec('wg-quick down wg0').catch(() => { }); diff --git a/src/www/index.html b/src/www/index.html index 72044728..2fe8800f 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8"/> + <meta charset="utf-8" /> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,45 +23,50 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span + class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" + :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" - class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" + class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" + :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" + fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" - @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -91,6 +96,31 @@ <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> <div class="flex-shrink-0"> + <!-- Import configuration --> + <label for="importConfig" + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" + stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z" /> + </svg> + <span class="text-sm">{{$t("upload")}}</span> + <input id="importConfig" type="file" name="configurationfile" accept="text/*,.json" + @change="importConfig" class="opacity-0 hidden -z-[1]" /> + </label> + <!-- Export configuration --> + <a href="./api/wireguard/dl" title="Download your configuration" + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" + d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path> + </svg> + <span class="text-sm">{{$t("download")}}</span> + </a> + <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> <svg class="w-4 mr-2" inline xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" @@ -109,11 +139,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -194,20 +224,24 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" + :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" + :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -215,7 +249,8 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" + v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -291,8 +326,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -309,8 +343,7 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" - :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -414,8 +447,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" - fill="none" viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" + viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -532,8 +565,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 20 20" fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" + fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -574,9 +607,10 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" - href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" - href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" + target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a + class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is + licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> diff --git a/src/www/js/api.js b/src/www/js/api.js index 356164c5..a45b5f9d 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -138,4 +138,19 @@ class API { }); } + async uploadConfiguration(file) { + return this.call({ + method: 'put', + path: `/wireguard/upload`, + body: { file } + }); + } + + async downloadConfiguration() { + return this.call({ + method: 'get', + path: `/wireguard/dl`, + }); + } + } diff --git a/src/www/js/app.js b/src/www/js/app.js index 6745f698..d3d8959a 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -299,6 +299,22 @@ new Vue({ .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }, + importConfig(e) { + e.preventDefault(); + const file = e.currentTarget.files.item(0); + file.text() + .then(content => { + this.api.uploadConfiguration(content) + .then((_result) => { + alert("The configuration was updated."); + document.location.reload(); + }) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }, toggleTheme() { const themes = ['light', 'dark', 'auto']; const currentIndex = themes.indexOf(this.uiTheme); diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 467bb460..70aa0c59 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -11,6 +11,8 @@ const messages = { // eslint-disable-line no-unused-vars clients: 'Clients', new: 'New', deleteClient: 'Delete Client', + upload: 'Upload', + download: 'Download', deleteDialog1: 'Are you sure you want to delete', deleteDialog2: 'This action cannot be undone.', cancel: 'Cancel', From e3ee09b755d0bf824cb09f67281875714ec0a474 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Tue, 9 Jul 2024 18:53:54 +0200 Subject: [PATCH 58/98] fix: reload configuration * run linter * screenshot update --- assets/screenshot.png | Bin 107555 -> 87717 bytes src/lib/Server.js | 6 +++--- src/lib/WireGuard.js | 8 +++++--- src/www/js/api.js | 6 +++--- src/www/js/app.js | 7 ++----- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/assets/screenshot.png b/assets/screenshot.png index c5b73ccb96b3f4b372ad4c7b19384d1f1705ebe3..6f87a647a62c366850c975d2d81f5a929542db2a 100644 GIT binary patch literal 87717 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 Ho45Z5EgK0e literal 107555 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%0Am&-fX8n#JhRG^b&`om~0m>DNDA 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 diff --git a/src/lib/Server.js b/src/lib/Server.js index 2c046d99..52534a2a 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -270,8 +270,8 @@ module.exports = class Server { app.use(router3); router3 - .get('/api/wireguard/dl', defineEventHandler((event) => { - const config = WireGuard.downloadConfiguration(); + .get('/api/wireguard/dl', defineEventHandler(async (event) => { + const config = await WireGuard.downloadConfiguration(); setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); setHeader(event, 'Content-Type', 'text/json'); return config; @@ -279,7 +279,7 @@ module.exports = class Server { .put('/api/wireguard/upload', defineEventHandler(async (event) => { const { file } = await readBody(event); await WireGuard.uploadConfiguration(file); - return { success: true } + return { success: true }; })); // Static assets diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index ba4a224d..716c5385 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -111,7 +111,7 @@ PostDown = ${WG_POST_DOWN} [Peer] PublicKey = ${client.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' - }AllowedIPs = ${client.address}/32`; +}AllowedIPs = ${client.address}/32`; } debug('Config saving...'); @@ -206,7 +206,7 @@ ${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\ [Peer] PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' - }AllowedIPs = ${WG_ALLOWED_IPS} +}AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } @@ -322,7 +322,9 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; async uploadConfiguration(config) { const _config = JSON.parse(config); await this.__saveConfig(_config); - await this.__syncConfig(); + // force restart + this.__configPromise = null; + await this.saveConfig(); } async downloadConfiguration() { diff --git a/src/www/js/api.js b/src/www/js/api.js index a45b5f9d..645462be 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -141,15 +141,15 @@ class API { async uploadConfiguration(file) { return this.call({ method: 'put', - path: `/wireguard/upload`, - body: { file } + path: '/wireguard/upload', + body: { file }, }); } async downloadConfiguration() { return this.call({ method: 'get', - path: `/wireguard/dl`, + path: '/wireguard/dl', }); } diff --git a/src/www/js/app.js b/src/www/js/app.js index d3d8959a..73527ae9 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -303,12 +303,9 @@ new Vue({ e.preventDefault(); const file = e.currentTarget.files.item(0); file.text() - .then(content => { + .then((content) => { this.api.uploadConfiguration(content) - .then((_result) => { - alert("The configuration was updated."); - document.location.reload(); - }) + .then((_result) => alert('The configuration was updated.')) .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }) From ce20bb7fcb93bc8d9ae0cf19d5c82f790ded1ae1 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 11:55:36 +0200 Subject: [PATCH 59/98] feat: support more langs * add translations for French, Spanish, and Italian * change the wording for better understanding of this feature: - "import" to "restore" - "export" to "backup" * rename functions to reflect these changes --- src/lib/Server.js | 8 ++++---- src/lib/WireGuard.js | 13 ++++++++----- src/www/index.html | 29 +++++++++++++++-------------- src/www/js/api.js | 11 ++--------- src/www/js/app.js | 23 +++++++++++++---------- src/www/js/i18n.js | 18 ++++++++++++++++-- 6 files changed, 58 insertions(+), 44 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 52534a2a..315679c3 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -270,15 +270,15 @@ module.exports = class Server { app.use(router3); router3 - .get('/api/wireguard/dl', defineEventHandler(async (event) => { - const config = await WireGuard.downloadConfiguration(); + .get('/api/wireguard/backup', defineEventHandler(async (event) => { + const config = await WireGuard.backupConfiguration(); setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); setHeader(event, 'Content-Type', 'text/json'); return config; })) - .put('/api/wireguard/upload', defineEventHandler(async (event) => { + .put('/api/wireguard/restore', defineEventHandler(async (event) => { const { file } = await readBody(event); - await WireGuard.uploadConfiguration(file); + await WireGuard.restoreConfiguration(file); return { success: true }; })); diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 716c5385..215d0d5a 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -319,15 +319,18 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } - async uploadConfiguration(config) { - const _config = JSON.parse(config); - await this.__saveConfig(_config); - // force restart + async ___forceRestart() { this.__configPromise = null; await this.saveConfig(); } - async downloadConfiguration() { + async restoreConfiguration(config) { + const _config = JSON.parse(config); + await this.__saveConfig(_config); + await this.___forceRestart(); + } + + async backupConfiguration() { const config = await this.getConfig(); return JSON.stringify(config, null, 2); } diff --git a/src/www/index.html b/src/www/index.html index 2fe8800f..4c32ae05 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -96,29 +96,30 @@ <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> <div class="flex-shrink-0"> - <!-- Import configuration --> - <label for="importConfig" + <!-- Restore configuration --> + <label for="inputRC" :title="$t('titleRestoreConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M7.646 1.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L8.5 2.707V11.5a.5.5 0 0 1-1 0V2.707L5.354 4.854a.5.5 0 1 1-.708-.708z" /> + d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill-rule="evenodd" + d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> </svg> - <span class="text-sm">{{$t("upload")}}</span> - <input id="importConfig" type="file" name="configurationfile" accept="text/*,.json" - @change="importConfig" class="opacity-0 hidden -z-[1]" /> + <span class="text-sm">{{$t("restore")}}</span> + <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" + class="hidden -z-[1]" /> </label> - <!-- Export configuration --> - <a href="./api/wireguard/dl" title="Download your configuration" + <!-- Backup configuration --> + <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 2H9v3h2z" /> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path> + d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> </svg> - <span class="text-sm">{{$t("download")}}</span> + <span class="text-sm">{{$t("backup")}}</span> </a> <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" diff --git a/src/www/js/api.js b/src/www/js/api.js index 645462be..9006f5ab 100644 --- a/src/www/js/api.js +++ b/src/www/js/api.js @@ -138,19 +138,12 @@ class API { }); } - async uploadConfiguration(file) { + async restoreConfiguration(file) { return this.call({ method: 'put', - path: '/wireguard/upload', + path: '/wireguard/restore', body: { file }, }); } - async downloadConfiguration() { - return this.call({ - method: 'get', - path: '/wireguard/dl', - }); - } - } diff --git a/src/www/js/app.js b/src/www/js/app.js index 73527ae9..61bb7c03 100644 --- a/src/www/js/app.js +++ b/src/www/js/app.js @@ -299,18 +299,21 @@ new Vue({ .catch((err) => alert(err.message || err.toString())) .finally(() => this.refresh().catch(console.error)); }, - importConfig(e) { + restoreConfig(e) { e.preventDefault(); const file = e.currentTarget.files.item(0); - file.text() - .then((content) => { - this.api.uploadConfiguration(content) - .then((_result) => alert('The configuration was updated.')) - .catch((err) => alert(err.message || err.toString())) - .finally(() => this.refresh().catch(console.error)); - }) - .catch((err) => alert(err.message || err.toString())) - .finally(() => this.refresh().catch(console.error)); + if (file) { + file.text() + .then((content) => { + this.api.restoreConfiguration(content) + .then((_result) => alert('The configuration was updated.')) + .catch((err) => alert(err.message || err.toString())) + .finally(() => this.refresh().catch(console.error)); + }) + .catch((err) => alert(err.message || err.toString())); + } else { + alert('Failed to load your file!'); + } }, toggleTheme() { const themes = ['light', 'dark', 'auto']; diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 70aa0c59..267f8c32 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -11,8 +11,6 @@ const messages = { // eslint-disable-line no-unused-vars clients: 'Clients', new: 'New', deleteClient: 'Delete Client', - upload: 'Upload', - download: 'Download', deleteDialog1: 'Are you sure you want to delete', deleteDialog2: 'This action cannot be undone.', cancel: 'Cancel', @@ -32,6 +30,10 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donate', toggleCharts: 'Show/hide Charts', theme: { dark: 'Dark theme', light: 'Light theme', auto: 'Auto theme' }, + restore: 'Restore', + backup: 'Backup', + titleRestoreConfig: 'Restore your configuration', + titleBackupConfig: 'Backup your configuration', }, ua: { name: 'Ім`я', @@ -195,6 +197,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Télécharger la configuration', madeBy: 'Développé par', donate: 'Soutenir', + restore: 'Restaurer', + backup: 'Sauvegarder', + titleRestoreConfig: 'Restaurer votre configuration', + titleBackupConfig: 'Sauvegarder votre configuration', }, de: { // github.com/florian-asche name: 'Name', @@ -279,6 +285,10 @@ const messages = { // eslint-disable-line no-unused-vars donate: 'Donar', toggleCharts: 'Mostrar/Ocultar gráficos', theme: { dark: 'Modo oscuro', light: 'Modo claro', auto: 'Modo automático' }, + restore: 'Restaurar', + backup: 'Realizar copia de seguridad', + titleRestoreConfig: 'Restaurar su configuración', + titleBackupConfig: 'Realizar copia de seguridad de su configuración', }, ko: { name: '이름', @@ -495,6 +505,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Scarica configurazione', madeBy: 'Realizzato da', donate: 'Donazione', + restore: 'Ripristina', + backup: 'Backup', + titleRestoreConfig: 'Ripristina la tua configurazione', + titleBackupConfig: 'Esegui il backup della tua configurazione', }, th: { name: 'ชื่อ', From 8421e313b5d77fb938eabf283260d0a7b8b6ca0d Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 10 Jul 2024 12:34:11 +0200 Subject: [PATCH 60/98] i18n.js: german translation --- src/www/js/i18n.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 267f8c32..ec914b81 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -229,6 +229,10 @@ const messages = { // eslint-disable-line no-unused-vars downloadConfig: 'Konfiguration herunterladen', madeBy: 'Erstellt von', donate: 'Spenden', + restore: 'Wiederherstellen', + backup: 'Sichern', + titleRestoreConfig: 'Stelle deine Konfiguration wieder her', + titleBackupConfig: 'Sichere deine Konfiguraion', }, ca: { // github.com/guillembonet name: 'Nom', From a0ed35fd76622914f6e3922cb75f6d05a7858dea Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 10 Jul 2024 10:38:02 +0000 Subject: [PATCH 61/98] npm: package updates --- src/package-lock.json | 17 +++++++---------- src/www/css/app.css | 4 ++++ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 95700cd3..c0fb4526 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -358,9 +358,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -2972,13 +2972,10 @@ "peer": true }, "node_modules/lru-cache": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.2.tgz", - "integrity": "sha512-voV4dDrdVZVNz84n39LFKDaRzfwhdzJ7akpyXfTMxCgRUp07U3lcJUXRlhTKP17rgt09sUzLi5iCitpEAr+6ug==", - "dev": true, - "engines": { - "node": "14 || 16 || 18 || 20 || >=22" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", diff --git a/src/www/css/app.css b/src/www/css/app.css index ead64396..b64e1d91 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -668,6 +668,10 @@ video { top: 1rem; } +.-z-\[1\] { + z-index: -1; +} + .z-0 { z-index: 0; } From 10d24fa04bb6baeadb23635ddac2e84aff343aa8 Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Wed, 10 Jul 2024 18:07:12 +0200 Subject: [PATCH 62/98] fix: icons & buttons view * update the viewBox of svg elements * add cursor pointer when hover the restore button * rebuild the css --- src/lib/Server.js | 4 +- src/www/css/app.css | 8 ++-- src/www/index.html | 101 +++++++++++++++++++------------------------- 3 files changed, 49 insertions(+), 64 deletions(-) diff --git a/src/lib/Server.js b/src/lib/Server.js index 315679c3..d995bb69 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -265,7 +265,7 @@ module.exports = class Server { }); }; - // import_export + // backup_restore const router3 = createRouter(); app.use(router3); @@ -293,7 +293,7 @@ module.exports = class Server { getMeta: async (id) => { const filePath = safePathJoin(publicDir, id); - const stats = await stat(filePath).catch(() => { }); + const stats = await stat(filePath).catch(() => {}); if (!stats || !stats.isFile()) { return; } diff --git a/src/www/css/app.css b/src/www/css/app.css index b64e1d91..472b2ac8 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -668,10 +668,6 @@ video { top: 1rem; } -.-z-\[1\] { - z-index: -1; -} - .z-0 { z-index: 0; } @@ -1462,6 +1458,10 @@ video { border-bottom-width: 0px; } +.hover\:cursor-pointer:hover { + cursor: pointer; +} + .hover\:border-red-800:hover { --tw-border-opacity: 1; border-color: rgb(153 27 27 / var(--tw-border-opacity)); diff --git a/src/www/index.html b/src/www/index.html index 345ccb74..314e7fbe 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -3,7 +3,7 @@ <head> <title>WireGuard</title> - <meta charset="utf-8" /> + <meta charset="utf-8"/> <link href="./css/app.css" rel="stylesheet"> <link rel="manifest" href="./manifest.json"> <link rel="icon" type="image/png" href="./img/favicon.png"> @@ -23,50 +23,45 @@ <div v-if="authenticated === true"> <div class="flex flex-col-reverse xxs:flex-row flex-auto items-center items-end gap-3"> <h1 class="text-4xl dark:text-neutral-200 font-medium flex-grow self-start mb-4"> - <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span - class="align-middle">WireGuard</span> + <img src="./img/logo.png" width="32" class="inline align-middle dark:bg mr-2" /><span class="align-middle">WireGuard</span> </h1> <div class="flex items-center grow-0 gap-3 items-end self-end xxs:self-center"> <!-- Dark / light theme --> <button @click="toggleTheme" - class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" - :title="$t(`theme.${uiTheme}`)"> - <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5"> + class="flex items-center justify-center w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 transition" :title="$t(`theme.${uiTheme}`)"> + <svg v-if="uiTheme === 'light'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5"> <path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z" /> </svg> - <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke-width="1.5" stroke="currentColor" class="w-5 h-5 text-neutral-400"> + <svg v-else-if="uiTheme === 'dark'" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" + class="w-5 h-5 text-neutral-400"> <path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z" /> </svg> - <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" + <svg v-else xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="w-5 h-5 fill-gray-600 dark:fill-neutral-400"> <path d="M12,2.2c-5.4,0-9.8,4.4-9.8,9.8s4.4,9.8,9.8,9.8s9.8-4.4,9.8-9.8S17.4,2.2,12,2.2z M3.8,12c0-4.5,3.7-8.2,8.2-8.2v16.5C7.5,20.2,3.8,16.5,3.8,12z" /> </svg> - <path stroke-linecap="round" stroke-linejoin="round" - d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> + <path stroke-linecap="round" stroke-linejoin="round" + d="M9 17.25v1.007a3 3 0 0 1-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0 1 15 18.257V17.25m6-12V15a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 15V5.25m18 0A2.25 2.25 0 0 0 18.75 3H5.25A2.25 2.25 0 0 0 3 5.25m18 0V12a2.25 2.25 0 0 1-2.25 2.25H5.25A2.25 2.25 0 0 1 3 12V5.25" /> </svg> </button> <!-- Show / hide charts --> - <label v-if="uiChartType > 0" - class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" - :title="$t('toggleCharts')"> + <label v-if="uiChartType > 0" class="inline-flex items-center justify-center cursor-pointer w-8 h-8 rounded-full bg-gray-200 hover:bg-gray-300 dark:bg-neutral-700 dark:hover:bg-neutral-600 whitespace-nowrap transition group" :title="$t('toggleCharts')"> <input type="checkbox" value="" class="sr-only peer" v-model="uiShowCharts" @change="toggleCharts"> - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" - fill="currentColor" + <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" fill="currentColor" class="w-5 h-5 peer fill-gray-400 peer-checked:fill-gray-600 dark:fill-neutral-600 peer-checked:dark:fill-neutral-400 group-hover:dark:fill-neutral-500 transition"> - <path - d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> + <path + d="M18.375 2.25c-1.035 0-1.875.84-1.875 1.875v15.75c0 1.035.84 1.875 1.875 1.875h.75c1.035 0 1.875-.84 1.875-1.875V4.125c0-1.036-.84-1.875-1.875-1.875h-.75ZM9.75 8.625c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v11.25c0 1.035-.84 1.875-1.875 1.875h-.75a1.875 1.875 0 0 1-1.875-1.875V8.625ZM3 13.125c0-1.036.84-1.875 1.875-1.875h.75c1.036 0 1.875.84 1.875 1.875v6.75c0 1.035-.84 1.875-1.875 1.875h-.75A1.875 1.875 0 0 1 3 19.875v-6.75Z" /> </svg> </label> <span v-if="requiresPassword" - class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" @click="logout"> + class="text-sm text-gray-400 dark:text-neutral-400 cursor-pointer hover:underline" + @click="logout"> {{$t("logout")}} - <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" - stroke="currentColor"> + <svg class="h-3 inline" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1" /> </svg> @@ -98,26 +93,20 @@ <div class="flex-shrink-0"> <!-- Restore configuration --> <label for="inputRC" :title="$t('titleRestoreConfig')" - class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" - stroke="currentColor"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" fill-rule="evenodd" - d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> + class="hover:cursor-pointer hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-2 -2 18 18" stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> </svg> <span class="text-sm">{{$t("restore")}}</span> - <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" - class="hidden" /> + <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" class="hidden"/> </label> <!-- Backup configuration --> <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20" - stroke="currentColor"> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-2 -2 18 18" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 2H9v3h2z" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" - d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> </svg> <span class="text-sm">{{$t("backup")}}</span> </a> @@ -140,11 +129,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6"> + <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> @@ -225,24 +214,20 @@ </span> </span> <!-- Inline Transfer TX --> - <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" - :title="$t('totalDownload') + bytes(client.transferTx)"> + <span v-if="!uiTrafficStats && client.transferTx" class="whitespace-nowrap" :title="$t('totalDownload') + bytes(client.transferTx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z" clip-rule="evenodd" /> </svg> {{client.transferTxCurrent | bytes}}/s </span> - + <!-- Inline Transfer RX --> - <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" - :title="$t('totalUpload') + bytes(client.transferRx)"> + <span v-if="!uiTrafficStats && client.transferRx" class="whitespace-nowrap" :title="$t('totalUpload') + bytes(client.transferRx)"> · - <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="align-middle h-3 inline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z" clip-rule="evenodd" /> @@ -250,8 +235,7 @@ {{client.transferRxCurrent | bytes}}/s </span> <!-- Last seen --> - <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" - v-if="client.latestHandshakeAt" + <span class="text-gray-400 dark:text-neutral-500 whitespace-nowrap" v-if="client.latestHandshakeAt" :title="$t('lastSeen') + dateTime(new Date(client.latestHandshakeAt))"> {{!uiTrafficStats ? " · " : ""}}{{new Date(client.latestHandshakeAt) | timeago}} </span> @@ -327,7 +311,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('showQR')" @click="qrcode = `./api/wireguard/client/${client.id}/qrcode.svg`"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -344,7 +329,8 @@ :class="{ 'hover:bg-red-800 dark:hover:bg-red-800 hover:text-white dark:hover:text-white': client.downloadableConfig, 'is-disabled': !client.downloadableConfig - }" :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" + }" + :title="!client.downloadableConfig ? $t('noPrivKey') : $t('downloadConfig')" @click="if(!client.downloadableConfig) { $event.preventDefault(); }"> <svg class="w-5" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> @@ -448,8 +434,8 @@ <div class="sm:flex sm:items-start"> <div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-800 sm:mx-0 sm:h-10 sm:w-10"> - <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" fill="none" - viewBox="0 0 24 24" stroke="currentColor"> + <svg class="h-6 w-6 text-white" inline xmlns="http://www.w3.org/2000/svg" + fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> @@ -566,8 +552,8 @@ class="shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-64 p-5 overflow-hidden mt-10"> <!-- Avatar --> <div class="h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"> - <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" - fill="currentColor"> + <svg class="w-10 h-10 m-5 text-white dark:text-white" xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd" /> </svg> </div> @@ -608,10 +594,9 @@ </div> - <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" - target="_blank" href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a - class="hover:underline" target="_blank" href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is - licensed under <a class="hover:underline" target="_blank" + <p v-cloak class="text-center m-10 text-gray-300 dark:text-neutral-600 text-xs"> <a class="hover:underline" target="_blank" + href="https://github.com/wg-easy/wg-easy">WireGuard Easy</a> © 2021-2024 by <a class="hover:underline" target="_blank" + href="https://emilenijssen.nl/?ref=wg-easy">Emile Nijssen</a> is licensed under <a class="hover:underline" target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> · <a class="hover:underline" href="https://github.com/sponsors/WeeJeWel" target="_blank">{{$t("donate")}}</a></p> From 3ad2607515988de26abee1dfcc259fa2a43a7032 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 10 Jul 2024 16:49:35 +0000 Subject: [PATCH 63/98] npm: package updates --- src/package-lock.json | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index c0fb4526..2862da04 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -2827,16 +2827,13 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.2.tgz", - "integrity": "sha512-qH3nOSj8q/8+Eg8LUPOq3C+6HWkpUioIjDsq1+D4zY91oZvpPttw8GwtF1nReRYKXl+1AORyFqtm2f5Q1SB6/Q==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": "14 >=14.21 || 16 >=16.20 || >=18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, From 4ba638c09c9217cd139e9e6a5a8eb4b7b4a5b633 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Wed, 10 Jul 2024 18:55:24 +0200 Subject: [PATCH 64/98] i18n.js: fix typo --- src/www/js/i18n.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index ec914b81..3b616e4c 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -232,7 +232,7 @@ const messages = { // eslint-disable-line no-unused-vars restore: 'Wiederherstellen', backup: 'Sichern', titleRestoreConfig: 'Stelle deine Konfiguration wieder her', - titleBackupConfig: 'Sichere deine Konfiguraion', + titleBackupConfig: 'Sichere deine Konfiguration', }, ca: { // github.com/guillembonet name: 'Nom', From 9371b78a21f541215e1b6a00645e5cfe7249a8cc Mon Sep 17 00:00:00 2001 From: tetuaoro <tetuaoropro@gmail.com> Date: Thu, 11 Jul 2024 12:42:58 +0200 Subject: [PATCH 65/98] refactor: optimize build config, factorize code, enhance SVG icons * focus on syncing configuration without shutting down current wg session refactor build configuration logic to optimize code structure * enhance SVG icons for better visual appeal (https://github.com/wg-easy/wg-easy/pull/1166#issuecomment-2222418606) * update the screenshot to reflect the latest UI changes * fix: prevent logging private key during user creation --- assets/screenshot.png | Bin 87717 -> 106280 bytes src/lib/WireGuard.js | 111 +++++++++++++++++++++++------------------- src/www/index.html | 10 ++-- 3 files changed, 66 insertions(+), 55 deletions(-) diff --git a/assets/screenshot.png b/assets/screenshot.png index 6f87a647a62c366850c975d2d81f5a929542db2a..5f54cfe5a55754be114558511ad51d5d4d3085e5 100644 GIT binary patch literal 106280 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 literal 87717 zcmeFZXH-<n);5X>R0NEmh@cqAIZ2aLB<Gw#LX)A%Ij9Jz2uPNkb7+YzG(kmj&O*}! z$+5`|G!3^v-RGR~ePi75j(gvKr}u{4tW{O3YSye7p82f(PElTh<Raxo0s;aODaq%` z1O(@52nf#DohJlWh^d?W!GG#KR5hKH4PEcrIlxRUtf6<E-0h%up>7tY1O#p)Hi|l= zXYQRpz+M+R&2}SX$^{_>>z<+zix_da8hB+?>#iPr?milF{-IQncENSKx9^l3Q!ktQ zT`^hvYX2;0m?fE!fJ`iDk<m8gA#KsY!3#0#qK&|?F|)~^#E-5>)qS8pjSZ<1&JL5i zpG7~xZO%b{y{{_R<r`^m1mxYS&CzH+4AXu{^Qh|Pt%O(}$_bwb_Kr$K@gmQ8hrUDC zC|f8tU<$+wBmwSPAII)*KOrDE<!>P>swgEY`gb{C5eeR5LX!1Qs2U7ZGSwJqT`t=< zE1vuII_GV=dg}Qb(uLi5el3{>-5K|!?Cr1X5|jEctKZR0aCWx4arPV8Wiui=F$#ut zU#V2F4@6CPH&={3mh|!>G%N1T)XO|AaYpKET*GP{YwroFx&xKYJ~Ul)Y%w{VG_^!6 zTstP_9*wOOkq8avx;1g_oms4{=8xMy`r@NI-IE`;zYl-rB`;{&eeNAiB`flvv2x<` zSFU<-2#*5QBXVLJW&{TlCFA;a`{znLtrVQBObLj``7?}GV-a=ik$vjXmGX|~?U{`( zNWJ~2Bz6I+`L;JN%!pPD$3b?KGNlkM^GM^u2P)#6C;rpB-;O3+5vD#4-{megyzHbv z9o{57jeL@BiW+aKKtDcp(DgNHa6@D9YdhUSc{DlyX%ED!prz<Xm{TzVU%y7M-U`3J zXK`^)aLq@2Jo4N=?A0m{0x>HrPxF%7IqJ(PQqospr=f7qYJs0)s5-MaJf7gGltToR z+*2Irotp*FFHJdFh%wBD)zAcH1Z8!zu>*=nKp-gMW@l(@1$DY>1U0j;6{5u;>uB#< zm<Z8o@W`>t*@;5UEhIf0pei2ns>U8x#{4F<BElC1-5_898>o}vT{jzRTSthS5beph z5b*u@G8^sPlO|49LbRH4ig!g}4$!;YtlX^ZEMjgJE}XQ&7w-x>n3zJ8pNsz)0{kUJ zYwqM^2VrA#b#-NR<zj_7n6Yv2^YgQ@bFy)AvVayWj_$TjhHfmjj`xp;_&vsRsH3ri zg`JZH%=Yf_n1)6$XD1<AT5$jF-}%|t$;tgQyshIODFAt}xf$BAaj>$p+1RlCdk;q^ zF&8k%p9%e6dpN3sW6Gusb%Z%P7(>Nepter;|9uD(<A3_wIXhUNEXTx{4QdUw0Zkpj zQ#t<QkrGmJivRRD7J-?CjonEvAngBW>11L0FJb-1+>Y;@Ea%@R0=oY*?tirYyY`dD zpp~2)<T=dP`FMI#&xL4@pARvC8C#e@PQDs)b8?$<@o=#48k#~`xD9ztSsrtl8nJNk z8gg(MJvQd#=jQphp`>gboeXV_p~pjk!C5W9I9z<(#-<$HJS<QiK0X$19zK4S$54J_ z7EWFx9zG6senTU6?tdFX!NCG(rJ?n|&+2$66EM_cW8=sCMjRY0>_*1iEZiKt+${X2 zCdMpa1a@8{<Ht}QQ{$7NOpGDoFb5k$u$>k*hGtMUJ6p4p8^;2NJXMquqUB^||JM~o zYeOef&_Re+*231=?O!)kEo`7FPKL+Q<ly6E=ivswxcGRuIC;7L)kq!c;0QGFcuWp< zR<6e<caFCO0u}=VYj~`uV1SeBU@Z_)2dJSF%s~|fvlgN~p3>dpp8wpI1INk4(8=(* zp%WAg%Ff9RVdsOe^Q&_3L%4Y%++0lToDlYZYY#KAFm?ZbYkhop?h5|ia!CtE@O<}^ zOTSN)3e^7hU%&sfwm3OTckiAY3W%Zc?<F`Ix<E}%<_X67eaqO~(AEqJtj8a9{d?Ww z|Dp=KhCC*`{Jf7@I1IVDSh$TiOj(SK!7pxpE@RHe+<Z_DcE0}{-4SN$<Z9>ueQE~e z2xJA+^F&s6=}$I_;XhlunnRCw0SJtRosZ@J6d2o|1+yL7jK3=uWcxp4B6!l^-;50C z_xl<!UceTz{bLOO$n4nc{4aj~?8X1$6Tr~_eaQbvzW){1f5r7blED9{@qe}JzvB8I zN#K9f_`llq|C_ij{wtk=+JY#^6(mb?x6VRAqD5#VBk`Qz==h(Mn(PR0<$|50mLtFb zt{wlJB8W@42`&;jNy&*3%@bX?!pbCC7JEoQaF;;p`BPQ5k!7^2o2uGj(|T9g7GWwv z@%76sMoFb7_L)qt&!?poSxKDRMpUpYjy(B{tyNcKNOQ`i<+<!ZlKQahvLt7$EFS;r z^NXwp846?Yx%De^37&Ifj$Q4|W}RN}dtIw*=fSg&KQHgTF!}qP;M?o&+rKXpT;@Js zbL!9cr+)vvd@PFpU756BdfKx7MYklez5nnAQ)G!<SZ{dvbjb`uiMX?xRgdnwA^rT3 zL`dt^EB7KAzQ6plIZv+K+E^wft5@W72+3e_UT}bBWifKoD$l+>4_!v5_Zv_wnY0Q^ zDMvL1_nU6f^HeP|iVfv6Ihxa-A^Nku6z{r`*G-m33WYZ3tcDayot^qj-32K~E5Dhm zZj-b0&wRrT%;(jf9Vbwfqz;uJBBSmeWYH;iUQ)L~SBdE$YzIE+*bbmw$2$m4CZ+gJ zaV+De`=~86D`S2FlON@}7}-8)criFcUDB!S`>$Wu^~>|HD}vO}JHi=i@S1x|?=B52 z^gq2a@C({i!B}m1!@r?{<4YzzAD>1Yt9FJrZij)FRlUX&tDXpPzI8K&3S#%7P8{tN zQDKA1Dkv!MTHzaIPk4Izcs(iM_qJHY3H_ehX3G%y9_cXzk+)1av;m<xYJQ^P=Wp$3 zZbr1~gv*i#Q95B#&oKG+VIs2Wi=KM>|M<}y8<YKMq<jE6dM2;;3&$DVi#|z0I=)C8 z4B|1}e5C)tw3OOo*H8$z?8r%3iDgnuN)S%W9LU$;x_lzb394t9UncB1(h-eS2R#?w z7pdsn7CC}Dgiw=wiA62+zZ%Goiivs{gTA*^Y&<vefjnrG6|pau)ZD=;^RqRIiN|Y~ z!~v2>A-L)U;aQK;FyW@$UM}t8Q2f19Px!^>_1Zs}mKxpe*Lc>IG=hAQD!<%(@k?;i zO7!-;lD|e_p1AiueUah!SRjG$>uRN0g7VqV=k?N(JXeRkUSapLWRnU4X?&imc}M0x zopckVwi*4R#1zdo6vty#=8B=tTpfom7cgrTs{6lrLr+WlOi8K7vOA^r>Q%}-u^@8G z@!A@Q%VGwjS|0n`-;-(%>_&ca7o>LAWz|YcyMFc70s{WcJhI0m{1V}<ON9Id>Y2>i z^fGR51gTr7sPpP%V+*ubP*IEg2fI^bl<rf(J~->2p9;uXv?JTB>`;Y>#U*&%#_(bD z?z+dMKgFidA?p1NAFLGuRqoP3xs9BqeB^Ou8I9Dy)L@IU<Px*|h{$%A%}R$&N{1uE z!cy@#m2$7W4M!XCbR`>9#Xvb8XZ7Rl?Y0%&vnLaNvTz?L2sJ_{7Pn)8IXE|RIOUZ1 zv$79%G;(JoS3E!ZeSyA8s=YnuffC!ul*`h5mR#OgntLwMSa^S`XwysY@Cd$WREm9H z)-=J~(7kbETZB$!W#uVsVpL+o^EydS?CL;-f?(=GpKl~;g|)YK)D{sQ9v&GPnQ<g| zRK35olAoRAp^Zkmnx*_c!;JjTFh-G{8yVrk2bv7T6fH>+Eba$bm~)?;CC9SIt&W)` z&Ib=3&<hLe)5#~S4b$=SYw?XeE*aH36Ih>mN5ExwWs0Srk1{w<2az-$)nwL~b?;iu zM_tw!eXq%LHCw$wt!-^gVRM>gcB$knx;fA`jU1U6)=QAz@^}c8>cgdQ%I%f(su*W= zef1DvNtPz^1|VgY<$|mlwTGxIZ}=h$n_94XVJo__%w|YFh@5q6xYnXC%fX$b0yfSX zSU*`R#LKH5e4B4)g!fnD6%Xg$2gxX2o00w{M*Cftt>!Dil+F>+EIR7Hy3~*^cbpgd z-#z_pfS`@5cC9l`Eej4UD=uv_4sBERZJSNMH2t1(-u%EB`+<`(m@{6MGgj_m@#Q{p zI`Pt*{!LB!O5?)e4-jpcW!qBHG9weEN2vo=W%DiB1Ct@e(p2mdvfdbnG|@m(A5qM7 zaLddF<pVm{7HX`>+w<1pm#6c|LVMFH+9htqgM~UVaF$1p#FM@DV?X#traXO-o10s; z!!~5zl_Zq8;l&qR^=|3RiKwLYlF&uff`L?|O_g>iicpCSx6wK2x+J_@^|!lP%;f$7 z+Se(seorC4azW`rabmOL>boiF`7u#6O=8M!mfYsHJyKU%2ca*Mgb!7hPk5kXYFf#E z_=G90ua|UbcYTVY<|rS&nBRRlXvnt~zY`xc21~gyf7r>y$S6%rfzQiM_7Rth=Z$JG zQrcb|;IZsCFVwCPPZV%9HKI`T(2grwL?QZ5!=$SAW;reio=lnk22jsI-FQy<Bz5&@ zH5bo`uPB;Oi4xSE*47fnsc8!>M;ozPI&Em9H0J76eHQ)T{T(6fIE(EU`Jf~>anIR~ zwjn+N7C9*zuZ(K~F1bzDLh~(+jAChgaXYWt+^omSq%?L`_2#|JpiqmM)+k|=ZxVh} zY>1dmdY(mUa&ppRaUpxVzfXbd9h<VPZBf9bTLs{R68DdrbLUBPB`u<|;SiVQoPc0T z23B76=#Q5Zg}tTe6igTA!|qE<OZOhzr44Kp#AR##9L{{GC{eq@x@F>IKVDv)S$B)H zYKs`KWGbGsL!wKxZNR_p-=0@-)6D5=J+~Ipjm)@ti6WBeU7nf_Uf)~HYTULUIQd8; zB!SAk6Sv=FSZdK#?cORcP@u0Mk_pkPYBpy@I?w?%R@c={;KUaQE6B^&=5*tR3@G*r zkwUOB-AY~7Sk|;rnTc-XeaF%_`0*p5B9hy@XP3>2HJygW53|;%n(}SY9{RW+4Gp<Z z{mx4D4&e8tAdbfE4}&PI7W*+<9em@>mgOa_zhkY)FV%ubhk{JxX_RGoi)kqnC#`I1 zYNQYYeQW%6x=@M1Yjly7d}0<$5s_6UxjXIg+5HVN$3A*k-ZT&WQ)ggmy-79G{{F3w zy*kIoB^IURLVIP(6l~F`1;)NUi=o<@@g2E%)}kV8b)_S|!py{ESMS1VTd{GI(*q&2 znWwDmhd6GF?}98(Wn!3nkeKRgpAAY)JGO9n10LH0Ey8DD2C|PLj_sD~n74v}%W}Uc znMgs{eF@Ip6BSGOVPd8e6=lN`5q=*io7S*8)J&)H^0^<<m|t<bfn*EKSsl`N=Xbrl z)~cq`@0a=c=SD=+)73Jij0ctm)tn)&%1xfDJv*4Xp>G3L)Ao8dZIgeN%LE<mvFYJV zt1Zi|G)(9EYrQ>L4!1RuSI%j5EOoHewO{yYwzHhvpDq#lY{k|1<<z?CHJR&Ox7XfW zm^!nw)SDUP6NfJ~GByr6NZ_#??3ZDyY5%J>lMa<piN;a&lgyjO#WTY*4#*ofZrzJ` zSKfYj*@Geswb1)5im7~N30Cgg;Gm^o;<geK6P39|ayzP)L#v0&S9vNQ-uqBApqYxg zC{k?CZ>HTlS9`s;ZSiO@{vuqvT(*-%5x-QZgJ?A^WngA5_==O2mmmD*M|64zXEDfJ zv-Um6A2ODakwKdn+PBaja!0_cLIbWY2j*ElzrN)r2yt6`>0&*eTEoE53h~y~8rEv< z?2PVPP<3)Dvm7YMd=qfNvgemFkL~Dgny3c?RS1=dvFse>*Dm!acUc)LjJS2n0f~P9 z;e#p&n4DT3cJvqO@R3joe$iC_su0hscAL+33zZF&G>*ejz4+|dx6Y|`dLbb>Pi)qF zcd8$Fm{QRIBNAQI-L2Tr*pO$NSY<g}l9@M@qm<V4%kD9V6!ceq7V8m_QK`DP>{M1- zaZ}#7eLElGyqKp{A7F{Dat_m{3orBa%~OZ#7YZS<^iw7Q*1YjXMn<aT(rV=ved37_ zS5wjx2PmCTzo4wHE?-%dno&R5pW8S5J|rYE^ODT{7}qyrViWBh10h<a<&#sP&elu3 z?iV*suen7!&wu3g-7W{(ksW<sqIt!I$$358OOLETGj~O#QxPZ77~QgWF3)$x2?Cz> z$a!_N@+<COW-ghyA2!#SI8tsE6US?#J>d;Es1yFWw@X%|KqXQ{y5bElNM4&y_c+`; zy1wh?;NVc^HO$GPU!qx8sF@0kFT-5*z|pH8jg5;XMS9!qTu1b4H|J(&7i(O{2SDIb z1YC~CN<?gIZhN~d2#?kJvX63_XnbXbJa_t46okB$ct*NBY+55<dXITxgw$Bl+3Y(P zhtrWjPAlar;WDf}SsgkT%j<v>=&Il_w(SX|@m5X2o0yoG_oVr27aREx7V71LiL_X< z{OpRR<gv_n<wv*>BCx6&M9%VFP+TIEswd5W!eY2LQ@he3(`9vZ0YQ3{JW!~kAmp*t zJ<XtUorcCB#YR36l1Vn^Ymn@{lY7z#-eRJR5%%UbZNFJ=ZqGmi3W*>+G}53xgDC|u zOi78u`C9zlt=gY0GY%F_1<6~uX`r1>UtYYzy6d_iN#T0=qaUs<?)?~#@?8EBVq3{> zz4-+_a<DyQ$z@t5doR-<N0@^{X?=YiV*l$+m#~zSl>fyVv#!J3uij=I3AqxDp=@?X z84r$9U5AR$($LY_uJ~-kn2!v|0UpG!{K8CoF7`8Y#0zL#YgC|DJn|<dpI=2{1`qMM z{ys&}w&;a8t9^^D`S|U|co-umXNe*Tu7i-b8Y<dG%|+|j^1E_LPxBe=k^m1fEM^lQ z9-hXh@2dx^KCH6+V)*5eTwI2BxfO+n2&NieQG2jar;T)3Imb7`QULaJF_5Nqh=|5V zGv$!RXE!y;XHg1jVsd>M-#63ydT+D*#i5s4uCjm2iDRNyXN^IQ5{{WAlGGX-r_nqA zI(Oe8EW}!Nuu(x+ZSb3@KWTN>#us$!&l-s(kpoG+Ml_qFxp}RyR$yObCCnf;aSp17 z+_zECt}B`_j!s&2^e^P&GL>bs8&}Dew@6O5&(lMOT)lc#8rm+5Tjs)VY<7uVtnT8x zdC8LIg@4t9nyp_!l#lJcik%yq!)>%3Ew(awEc`4s_8+kwDa$>D6Fg{k8+&{pDJ#ny zjh6)m0hoz?;At<`toZ8hh7J~JsbqY`6{r_#GxWE4j_f%&Iyz6iy;6l4^Snsqb~M}) zK^J=xU%WH|hLmOK6;{g@8|yLE9NLYeou(EkVlnVdzaP)*NfHRMm1nf~Z(K1@GgSL^ z{puZ-h~%s17o=`S7F&fbx~zozZa@+tQB`&Ao#i?&2YOyfzfXY87HIij>;q5F+$t+O zy^a1DIqf<gW8mZNpI`+vUk!MyabX3)byuOy_P&N4(}aYCf>U@ni=73@LVKQ<Z<Q;i zNQN!*lD|ldZg0WQ9p~kr93)iT21KNhXitf3`NV??lr=92wV)(8oy`p=VQA#-;o+I7 ztf+G{c8{YH<<{_KZ^rzmL3~kp^m3=&;3K@_1v`D3r5X<nL{(IHPtw>|rwBP%G$>b^ zm0xdwQI)On(1*#+yFj9ftq^(c`3+0!%@%DerJE}w9lrB5AXy$>**U#pHQRp6pL*%m zsqg)zr_n!3(gMa3A$x3hHi0Hv_WpR+a99nDbALTqFq7iAaZ`xJP?4Sw?nABnB^dQ7 z-QMMJBea33X_hUGKt+3P?CQ-It0A6ir&#n#-Vl==pI3Umjg94!nPH|;d(_5qYyQh7 zz3}rj#4RgMi(fZxlu(N#!8@+r$|ZHht9cu^$#1h_vOYFT#y%5O<Ka+3(|D?C9O7v5 zM!0=1oC!s-=*&v_KX=Pbw`OmqBG)&aLsdGOX))Jo<f2wwY{shjCwxjuO3F;ujo>yz zI~a^3@^#T^lCodbI_F4g1YEYfxq4W1D&~tN&J5v-^lPeY>+mkexwFSi)H{#)$v|SK z(s~6EylPtv8`)2o+$rfnClbX+L=DJZTtTKx40&FNk3|Q1Z*z8`PeEiR?c{8=l7u#; zQ{@+ar}hmQP-mWz_B+Q{!u%ixUDSVrsk(yaOEq$2%q72la!=IKuO;J+eodtJV>u@M zq?~H7*+b^sjDo`Y73~M*79`^7v{nPmrJE#VWE!Xn8~j*?9e#g%@p8)Q)@Y?;WK7Il z`AP$YL2ukZzVm1s#f9VW2x$J9u>#wA!f~dW`?R$E0D*Ae@ckg3zFLXZcV6ffW6{>l zd-LY3n1loq8=C_E@bE}XTpkF~&A0Q^w5#2UA^Qwh)+f$jaa4V!L#qZy`-oNKkxy&~ zMQy)<#{#q?fnO9m<_QnEBedv9(<Ov0m~D?;!X~&Z|C~e!F*4>ox#tN5Zuov|hbfOm z?{ht*i&`M*oq-IgYdn&YishCA*Qu$G-8KlLwZV<v@P?r6P5~H^F7#-<iN>ls<(rsr zEhUfDVy6H`6*TBC&~hBeRgnOpdTU3=z(QYknJ1R|*mKpvb#tSbd^fc^8!gKh0f2B} z*Gnx=wWkn)&U)%cm@gI4_&yX4@E7Jg5GTpDXx4!bv0Pq0VaGftf+vPEBOB6NL%p|o zA1rhX8T6f*qE<##ti1O=I?k6X1jXJ2+H;7_>zPx>=wxF(;Sng0ElL09V*Av~pV<c% zyPv9EyB6g#)@tG?`PR~PF-K3NqZ1(~salrDZK;|yH(IX4SC@(%;mLQNOLW~wH?`jy zYl|#1?|Ie{&!=&8h~M6uOP;fGg(Sua;pouI*@EIA|2g(^r8SN*tb5PKON@#&w-)mw zHif9KTuFWV_PiQgNfd0<;Cv4s4&BvNYKGJEzjNzW?kz5}T(hnuVcaEZ!RNrB$a;Gi z<X)qbcU#$9N)sC?HV%yA*{r$9&-1l|3sq)uKRt{l>bi;T@^Gm}x#iFf3N9VRn5Ufi zUc1~f6N#ymm}(M9a~<<RnH^O+&eAh6$@KK}h(T(BCN0t&?V8m#r2`n{#*NJ5U`hk7 zUxiym;#cQTusRY=tAj-!{MNbzO}=;saot)_XsCvlSM^AlMLKS^&H(6e-&Ckb78sWO z)$t|}P;`KdTKju`b@tI(jn5vmVi90fw5f;(T7|s+{sABB-)=nepS7<v5prp_(%FuF z1?#6!D$Gk;(!FUpV2u)=RQu&*Qs3x>UvgP}AY)<@o8*WfaIVoP)Sf}0C+*BT6AY>= zNT@lVhjW{M#zf`x`6jHo9!V_?5zWXk<6}2QuGg(Z=qE1otqJG5Z_dU&wg?{=9{0u; zj_=e5lHzPaL*b3LB~G2YSbfxP!fDYOIkXjH1>YWS0ue@i0LjcOm5AGsP~8g9@_{mo z@j2q^8Ve8w>AOveJt93`V2Y%4dWdULhs(D*rj1I~v%qFkbNF>Vl2KKiSP@DhKCLa| z_N8jn7d}{rs|A_IUKL;MEF+w+j#=*2v#Avnf{BT#%?$Vb9I+FKE#NkOM9CLw;I&oB zw6wI<JFz0ZN#l5&jz6muy2^z(kKqdlXva%PZAQv^fHx(su8X&&%xnz4jjQoFG?_C2 z3knLF@=kvP{F2B)1?;?C`cQ8;a8AxkgL~F|v9caVeq=Yu8x@L==T4B>WLoOT`ZS;$ z`SB8AdYa|n#)ymCO4Uo0jzWU!;AA~;=NI3-?;W^iFj!$B!r0Nqh-s$e>7S0XYCT9; z>d(#h*j~h0yCTurb98Qphd2v;8W8Y|RmP+J0|WD6<N03Inl`|zXLaFm#5E*@eyqeL z@${XagzI5AG<H;{nct@S?QPhWK&=ZB!zZg_TQrVuYHT1!RnARM&m%Fl+k0IH?wgD= zIOV30J8Cr^&dDo*q%@2aO}BCgv2U;N?XzT_*yJbnZKbFn-8P&b*;wC8E8N28<T~GY z*(~D2l@5^gIBlzGEJlQiRL>jRBhjs;*Su8vz>*)O8{K|H&&A_=XNqOqD;uD1Ox%we zmn!7r<t(g*7MvD+)L=cjazv#4V|&Eq-uq5$UB<movQf66n0TXT|2DR|QCMuyIKX%T z0+EQZ2UwU^si`~Kw0q(yMS&5Gpvl`VJI|4R3lJlh4ONs|4ebhou%L!}UY(Lnr=lHu zz<rb3?(56%2IIE18k+)Cq$?xkGQeSNjZn{ber?#3@t<l6wQBFET}niNghd0pq`@#A z53+_lV_|8w#MX9Zil&=6*L&Yyxxf4IB$J8Es}__9!*Vz_I@$dEnDOllZV5+Y#(3}E zJ%i-QdWqu{t3J^42#7ZFItkL}ZEs&6xAA@`r6(>?43gdb@uRf2p4Nh%WY)*a19jE$ zLw8{SozTV}5<vg}V4J=4nl}_xIE8YZ->tBb{_^YMLw(Oe(gNMwJHn?YM^;d|3lmRg zW~)7S7H1INGZ>~C;ac;_XNiLDy;i91d!lT+m{Vs6cdI9-U!U8oiI(K|n0~9Q;yo@| zJaj|jEShRdgPQi<y{9}@1B_e3O9OBW!W%OtB#iog+KWR)|Mbucifc=rV)%tVt(jjp zHQ+mUJmO^^Z7-l=h%X$gGrbzAM2{$jZ_G^x456$&Vn}j_^9d0tRr64`cVNi=Zba8W zt!R^%O)hR{p(^!ER8mqFu!&3ML*tB_j(PK%VBzAWTH8oh4U<CcR(Tm@N(U6dwBQ%& zWZlO5aBDf$vLilMJf0UEib$5JjF1O(ZB*1*)yq^5efOeDLaD;43&Mk~KBcf?$FtXr zn2D8Cz0bT+%GW3iZ<=bsLSMpr9|7~%MIqS)@Iy1W{=Rchniqa^V}sjjP!{dA`H48$ zwPTU?j;ok40_8m4{WN)nUp?QJTBxcUSFT;?g9@eMUo2&z75t8=072wz@D%OxXr+qd zTzk)KM|_z#&gG7vo8<6GvaYVF`3WSuYNe(mz$a@TTa2Fj5?-qS-;CPZ`=ZNQXQ24- z(Ie%y6AVZ(Z<#dv^uf!TCzQOF88q2P8I$z^iy#x<pRdPmcliqGOst3;tO?x_@=ztA z<nAt`G0g$lyBLHzbgsS9Uy~8GB{Q!l2{8ZS3ncwzM+Rl<eO)t$DxXZcT6)HSadYUh zEw7m&A1*D8N=hg&jz=&ut$Z%&>y7l}RH@ZhnjFZ>#jhBvA#^lu9rW)q*vQ3kD?NMm zx~rS<{(Vsa*VXD2YIyx*cYEwuThygHkbWzYbi;bvHA)Ye-ZG26jli*d@4&G~5mGfC z=Z2&)^?_tK7CMLJc_q2TeZ684SXSu3ez+=-MIDM-#ODKF$Z3biRQuBr3S0YDDrHtf ztjYKiFtx<QLeP~VH(@k`bAsyP=U;VFMzo+>3O<T?x}Cpt9z=iqm=Y_3FKB_w_ZndK zQI$<Yg?j0*+CAxbKAYZEG&1tjPt`(g#9)pRU$V}&_t5xi6neFLcRe&uyd$o`)%ML8 z{fEy#HF@d|J?@~Y#fUWYZdOr#5O3f^K9?)1l@3&g_XL0(t+UwJ;jE?<lT;XwRo*7r zS0(6n0K)^$lF>xhWMS{E7P{nJYlC8=hI6S{co6v>vyDSNNqvp5u+zL^Fo?(DOez$t znknt=?ZlQ&xcn=lxhixGjg5o@qivm?tPykN!`8y6)84pG2?@*F8U$auftBW-o$Zm9 zlDg2kNqpU->3I|T$)O_1Y}IP7`%t8oU!m{ep7wxYY0E-r@5j*s4wJ3lO~>z^4$2XW z`D{n|VSK^8B1hW^i$ic<TjYj^?F|y18n)M<h8L{PGB6t*e?t$k>P|v9U^y;tV|y#T zW|PA582gl!V|g*5C$rKtmi3l$AaX9##o7IG&e-aP2>Qi33RW||TjCK+DQxuy#3Fh^ z9y?njrU(=dzB=BgN|&{8y|h>0=F%A)ak5M}Y6{2ND0ek}7tITz8lW}P!S$h-y5y|< z{hbRVUv<KV;tuA5-kvw3J=s#}C{P|L_73$m0niN649>LG%M`IS4zC@MVN+1WQk#{) zVYP?SzDIQuOrw=*z_(Kf*gcAfBe|6(+;ya*7RMdkW33()Kr-O4YgZVz5fEa7dW7g( z@TDOSdX|>fpQ8XPr}50M@HwjSsl_~H*_$hclpnnu=Ol-wx?+TVG?rNPs<uXxZFu8N zI};|$$G3;{=E}=jwCV%U6QwI4;Nr*50VJ4_j;_gUT-f_H+g8Z?_lyy9B*nY6Q!oGy zoUz5g#C+V9$>Eito#nC(B5Ig|GIJ-%V(Z90A~CU^i1>J=DXNva53gP7`gE9X+I1)u zzSX=dvE6~_bK2}c<bat}xwjYY?;tVT6JG)!NQoStglfsSt9gI9051Ogi1)8I9*Om@ zwKClx*AUaG-BTy=*y(Q7pktbotm-->Ojo+66!tz(OJxA$A60tD`3YFv5<=rqQa)L& z=c=y%bBTrbzQXCBH>KSp%Rv;F4?+@YdHJ0YpNX$NE91#|gd|tDHoHol_sg)iZ|*bN zI1D<A1}>)BlX>99En9vyfCA`S%l?Ags5<<tBh8g7R~7+;*4=?%gmTjyM7^t=4wt!p z?b_5Pum~Ck-nlxqm6^I9QtQ}k9UNu&+*}}ul#ZL`Gcz;ieBc&86$`b?)ypl{^C)T9 z7TOgum9dzi=nkEOv57Llx0e)47&cWO(a;~u?xpg~dZaA-!2%tPRCtwBrR)@)U^E>4 zf_;Ad$Wxg~y`a0Q+-eJeWb-3dM5=Ec^Xbpmu$lILL6;;pcdsW3I9ne1@E24r9{xOw z-&ng3sWgLQgD(+^4d$dS##AVxI}>ljD;fm)7!;1v)i5r-`{0E}C?uz9uZ-lb*dQYF z9Wi|fcvrVhxDVdB*tTX{-FtJJPakD9m^V}E)uIIuTh-7cp>n5|a4#Fy7#RT140vP5 z;WKS9xKRmk=LSG&oE+iO19_+5T>!Oa7%&F)ti`@;c$UIZk6Cg<-C-W6Z|54;2S9}b zuK0W(8r8MRrEc3=5U~V7mk&<Y6}^32Lm9|ZW2(awl2GQjJI+O;Ds}SJS?X4h_|Y#X z2J&UNU9rfn{4i1jK=&W(CqF&_2_gv<x29a&1L^RcRrGzSs!h1>CNf!IbvGYCi0ML} zE=L$l6VlaUN1=53ApP~52BV&dZ=wUAmC}{@5igzshhm$pLgcHHn^<bP@D=FOR;p;8 zue*kOg8UuLitkIj(QoY@9?q~ye@Tm3bXh3K(Jpr~=`#hzR2h!#B~OwXw0yRD-FkGK zu47c1<q!kk+&DtPKrU8r*bJBEPt4=C_5#1r)}@bveVGh+2_=1C0qV3h0b}8yKw_{o zhFk3me;9<PHe<hd;eygOC65zuDDV}53JiV36eYV|%6K<wYJI+ZD9e0fngK|!N2x~` zC7&diTU{;a9}p1TTHKz%(Feo%O*Jk=X<T%<Pwe~9uhnmU-n^lyY3awiYx*ecDmove za`cCxYRkv!Mi8k1ui@2FsYBX*n+v&v+TIbsv@O`pgW_Cx#*ZvH{A#vV>1=pLx<m+o zoZHN~0cI1!<Jh=Gyq}q|JTT1wV_)-s0wkwX8=pr)<DK>ajhu0*G$AEcD@_$G-$`_x zSyv9ZpQg>@>^*(&p}u1|t<@nc(|Cn+MXk`Ci)Ud-A>Y7P1zA(j-7XwnWYg!PI!Cn1 z#5d>ba;_Y0iyf(*9}<g$IOlckgx!ZRc5hy~%_~bL!o51mXF8`-<5BK&uuhab8GAi} zuUK%Ygf(U%JK5CTM!;!41t18irX6uniyS0(AgZ8`{P6IwFs>TAiaf3tE`o$6HYB-D znFZwM3=9mGW7Y1tR5HrF9?3QUvfanlC6nY;qCowWMfdYpGhCNQ*Wf1(#0hoiW$z1i z-O=~+_EXgA>Egkig^j%N9bkvLV?}hB^9<^0NvR&EoWWs}i7RTP<j{0dfKl+RQY;Oe z<t#9zwrz=9CP58pPyGUP`zzH<N1ID7SI8!2-C$GbU%w;JIWQiQYhbX`r`0N)5bbNn zV(MHwXR8M}2p~R<DP_KLC2zPQ*h2`PLAkX&xy=ubuToLtT|iwxv(}B8;Xv56^@|v= zysbvR6jwPdD5uQjYM18~tqygW;dUh&an=Glo`Rad9(KTR6b4@Ui%r0grGxs`{>qd? zr4x31HGII5rEi^B)d<=VH<0PVY++#`j5?-4tgWr3#39jam{kPc4?8~RcY=K=T3!kW z3KGA~V_RTPCX}{*jk<65La4>4Xed3$x^I4!PK98Ej9mOq;yB*xNWyc8*QQG-8pJJR zLV|~*wKP=N&y+m2x|Va~%mBHY|FLsN`!Jaz3fI(itut>V<6X!DSa@5QFVqoT6qDOx zP!#s?iQSF9lv>ERXXud6@PY-zJH-o~V*AAR$bZ`#t%zwPNHwoL<QtnWU0ItH6-Mo2 zF&M0={|&vAxOrIZdH^ZaPlLrK9-r^&C7R4WxCeA}R`cEWpp;$+>w#VvE<w5AozKo~ zLm2IST0h%WQY!9d7%opOpW9|cRrvQyMVa4C7-P+ymRDRQ!%aI9Qirmt7t6bt*y?hI zOMSy1pj}WaH)cl}FFwP7(v9G8LQ|3~%mPw#Kn7AR)Z!|q64osQZ)~CC?jx9dEh0Sh zSXJE0ziuC6bVj$i6}O}J>L16{=YDW-@k87b4b<;<ImZHARLWDo8@IG}Ct%$Z-<}H5 zupyT@>++)<f1}l{t*wj$Q<h-YZR>>A;<o@2#^cugB-tP&vTU#rwQG~iVO+Jdg3@4Y zQZCeXPPW1AWS&Kj0?tSw>+wL|jY7LAz;d<`ogk|zKW<FdI#Q%dbm>zH|7!o$6=UG> zlrNa7=-lQU1J`B-s8;0Pmblax*%I+UiZ7V5unmdLVV_esEMn;sV2?qwhN9AEMFVrj zr{7g=51pedwMzobpPYaic%%@M%!YE8K$gCq|MTb9=lNw*@4YY3;_~%tO0QNXWjkZ> z^K&Z5l+<!;fX~&KhqQ!+g#mb9F}30XfG)>tHO_5&ao@aDHJ9Xx-_b(Yf}q<w%4PY> zm)klJD$?URg$L3XkJB2+(-U}62P!4Ga!Z3AQ`<xMA{W*R@7}$$T$~fXN*X9?3`42` zF3Uq7W*)1-wc!fGdcu{_O0M}?%n^Qk9A7~r;-l;BfgJ>p$KKlSjF-N&Mb!xBvokz5 zFc<p4av{8-YCF2ea`@L(w98V5cCB^pgN3|&+yc#!SH<^49Wh`W2_6NBY1C|_6(w!G zXT9}U@yY<3ZlXomr<uapnx?6+?5_iBLK|PI1AUW%a&rv66Ou9Lp2B}G+7MpKiob}^ z1M6i-duhO}YT}AtfgM*u#)X%L;2JTViB3ZXnEs8KwkUwzmcmghgJU(G+cPmo1A4wS zDi=r=4OG2n0Ci~|j~!#{M!W+CFpk}@8dSdvj!Sf#vz=<%Ba>cuz?=d2Yu+)mFzyBX z{s)5;Wq~?C$nbEg(*>=zZ?~eXD`@XX0Q}Ue?!KE~mHQTbU8Waf+Tj_(8~|4N;4(7r zs3VGEEJnW&9hV>Lyz%I6@)Hl^D?9s(Bp@^+d#UFF*%COA??c}8P#od4yM&HjgIz8J za7D9qagKN}rR6|gxxU*v)O%+y29!jPE67{(ZvvgSn!_ACZEpm}F5LM9s8%fsZz+^` z^g#@mBw}mpKDdA<n*Kb?_<+&w9jRxCS}X&uTG;h@6yuDoETCWH0Tz<it9{B~@!)EU zX)&QLz)r{o$<aBV9wJYR2uDX&+Gp^Z!#MFvG^>c@4%0rfWbdplVVo>LF@RI3%xi37 zdIS-73Dg_b(rRsP?oJZ&-0=Sez(-_`F>;p8x5u$d2u_!@>-lOwJ3G^&b-E>v(|seB z?_sGH&|47wl%Q5hv<n*!8@hl4nV*T#4+oxY*lcsQgOb}k1(fWa7cyh=EC<}&r<LU8 zLmWy<oww$TX=BW9ahl|eVK-;K1N|G==#}Adn3mLY-X5?VEU3&=eHYPU9$vqoC?BFm zr;yYSgjL3t`72U%Z=yc5Ki`b3E`LFfHD=6v?oJJ^Qy@<zyNHrkR?*9g2awma919^n z%b%20Q~)uFK{(@Nrzjr&FpB<m_lCss$GEt>+eI{K$Jr?-r}WXmQ0$FSV_2OE`02w` zU}|s`wfmr82>3)<cy>{cqSN;l-@IhjS;z^<W`qFBhH}SF@2kuw0tSb+u88VAr9;f; zMHh&($&@(MBlo^FcRb)jL^!y10t`yUkMP1soe0m1@iFiHv$|2sj<4f7DES>S^nF*# zUwQ|NrxR{r3@m2RAMc4echz7Q6A|OAioT#+KRrEt8UvU)HWc30Q*^S5v$?W02fZ@> zV}lD$(QY4yKO2e)ar#sPTA2S!Zv{{Qj$+b?ZnoDQMk20WyH@UrwN3UeP|p`W+%@(- zSZ{jD<q81pbiOe!71uF)iC6nH!d~?A>eassF+@QPv`Dm4hBqMNNz?=BfS?F))P!F& z<IP-0?PE+kKOI-Y7pv}_*~XJ`^@F&QHc<sC;T~c1(N2sl_Sv%yAs_2Da+}=)Vt#yN z)W?kW$m@lkbKY>g(KSl?67@m{_c1?0ih{A7`JVKkEkVSngVn2j=amt)0jvHTRY%yb zA5xUO%K=x1v4BGHzU=${uvv27k9QF!yfIy%E_{fkI~d$yB{414g4N;WGrh*CxMs=a z+_sd2pPXzkl##n^{?z&xBFqqo5>x>#tz+NfxURafEu~#24?y~OUTewLp~25e_d7oA zm4fqFxV6PC#JzgRDU$sju#0Z0!UmL!NfzfkM=cOcdz)-!%i~?G7Ms*wX3JxR3y6?` z;uTa)1>z>JY@>s=pIP(7SLd4h_wVyK%{z;EBmweSKJYiEa6n_e^mYi94i~T;;tYh= zCj1&|Vfh1jcpR3(f`&|RH-(&8H{-{T9}avjhK7c5{7ZD8XoHXqoqEp%?<Z!f)?^qL zNcKGx@z|TuXkDSWf4shz6BLwJl~X(;_P9)%oh?xniKZQgVi!nmd#rFdFS_o}#0<yn zqY?V3+W>T0;4%ZOf(lB(>0hPX={-4$Y(b7pw*j5?=JN=tL<~|xob6k1+iG_}S8aF9 zkZ%4q#y97K9x}>t>n&-~f!-!fYzo^^uR-<>&6>6#eTg_pITe4}Xp-x34n#vkGa)9T z3QoV6Ptogwog(J#-+({Zz&M^II>2N3qKU2XMpe*a(gB}XdgQYbD1CW--BVWeuX$%N z)fl{uY8~${HS6N62?+f_19u(wG*D7fin2Wn@tnU0=o#D-9V{mfiJrmGP>lE;=3q&0 z-@VhTZpOPSS`4J0!nl68fk9onUJ45HrL?{Cp(ddEM3{;aGOfq?m@zhZh83HIMjzm` zya$o+F-*6ZO5k`-$GF^f<!QkOoXSGU2gqmd@3FHo0F(=lBU?jd=VZ!tR@qNW)@{E9 z@QwOxCS$91omG+2MplOh22TbUOSqsh1xd-bf2mVKp4*Jk#>5vc^rVLhWeItzY|ZMx zmNwehV!kz5WwL*-uOF!KbQRj!or>c!D*_v?I`7?Iq$jaS!Q4-m?2`vV<r{mSK;)I> zGo+htmb4d0O~qIA6%~9(KwYQ8df<-hXzKj@ywNQzsAd7ei`FqSuV~H|&|S(muxk4o z`EbAkLeOI1z}!;;Tbd>7F2{#<x<>PxUtIV7ndsw~yT;9>0)m%B*B@7Uf)~y?pIS)W ze(!|R0MQ!j9S+$Vz+IhPV<)V5y*C+%DTlU^!);6>w0wPky;J570jyT5Z?Dgt@Q_wV zQ_m2QE^aNTlnh&6Bq33AlKo(0Y@~{mzrzC?l<kN|D1y+pA3$TEToJRoo(Y`A@CFpP zz$ic|E%IhyfcPAI0SugJyT>NH@gS2<YtEr>XlTp>uJO0|w#)&*D}XY1tG0S&f@-)M zk8w2Es&1hcQrr`}tmNTQ1<V;BuK?NJ0CmyNpY7CguV(LW-_CjZ?94-MNkxz?_gBeT z4Zz1!nwwsf4wt?7=2fU!{0xPF0j{Ayl>1_2NofhF1!sT!c-i0IpMjfMHVmX3TBTWw zpaKJNUdnljC$t2tia3OMY5>V?^2Ij)7I<yma)LGd7)I^MQA(GAuC4-zh2L@35>$al zYQ5ukXdb8Z0SsB-c&q#aCFogM)we;Q`^=9}TGBjcmL=}kE`ai%FzorsQGQlDJ7Q8k zB5i%7aDcb>-dSj>+O9xtCsXJ%hRuO7RL*LpJpeRfkZd}+ZBrH|JeCR^EQo4aVcimb zW}N2S^7T}e_2`-Rc`67^_4*U0JORO42gsjIOru9B!sc%L*mt(to{fhuy&`JN1$cc! ztuHVGjP^Yy?|koWv6`|5iY@>{F-4cm0PUd#NHTG?jnm4ArF&nnrSp`X*g(;JzpzEF z6T?dI#G<*al!*zYeJ@l9!uTvTl9wOQ#Lv0`j(8|dUlOS2ECjJRTcddE@@rYHT(Rth zCu@h?%%WTwVc?E~9lt&UJ}-Nt6K$ecy7W^+_?fw%D=A&kt=_!s5px$&&k)F>(ZmPq z*}28#WQ}r36n4|>9HkOd&CmKoNTOP2r2%Lf&kfhrprj;FXTIOVDF(<Vc1G7v7F=$! zEdF%k_O%8v+_h)0-!}<%{n};*0rl*m`Z)5-&0z6{#^)_2MptZViw*z29y4(%q9td3 zUh-C(y%=HodOOEeH{4B{fIkBe95xy8MxiEf))O`y@m~~$6~}%P&It&r?J7rGJBy>^ zDaXl!w3NcG6s(cH{O6ULgXYeP)@U=fKI8MmBuc8PXDQMN{(1N2?#mN$XoYg!x6B@M zRg>qRo{5TnIe+f?JjtKuo}2iG1RHgXt{!t=FA<*cGdTZd>`xQL^B||M5JXz@dKSYE zcqxM~5)&(FnoCwzhna$a{O?E<3|+Pw`bnZ75l9M>)g~cqF)F6#?oaE!-1_PIjnqG4 zB)EPCS<evD_b|KdAp*q`)5a3o<js1C@8$!)Z}br@^yxhyC3p}qoN+lQ_8XJ<Ka+Tw z@>J>gg{R}slkU4)C#f>{ewO5)J^1hC6Y2a{CVvm*|E@x?bDez!Vt>MuxB)0-EGW2N zdUoov2kuGtpEHpn$S+d*fB+lZjcUpWdyw99*YDfi^l$Xw_w1G5oAt7Hc0Hkm6-|we z^+gJuo$$Hr(dPNnhBx*T^Pk;pP55T_=qGRMg9X{71*ghs7tc;SHr8i4HrxcbT1J~Y zp(253LMafYir<eoiLJq8_GVo?r=1|%b1xAkf#Z#>9>3;@#=zTG;(kx>-6KE!S3);l z_v}h!S+GyH2{3JcQQdhrx$Xwu8Zs$XTsZgp@lP6zixYD7m4@qAOBtc_-aEfM1*vac zQhwX;UG~oe6%GA0nK^H=whJ@mOH+6x`}PP?hccV0yZxC=&Mvd*X62|#UiCNE%nLO~ zUd7<P?4$G#;`iZykMWJ99*~KeY{mJj=h^36qT8Db^4NJ6FZW3QcO8p>;B~;T$p)p9 zM%Dzfm&MTqi4F%A<16Fel{{@Q=Wcz$F1c?&uD#HB_ou?z0gS!VpttLv7T@NVEnzL5 z!j#L51IlwC*6uNXvGZq&=ON<hsmkN+oH?Q}gZ%2QH)D~!fA;mV*N4UfzEZ(_&NmZL z4w;AyM`xQq3%~m*A=$g6S3olHs4xJvQdD+s^iL;M(z&^mxw-VHr`-W#QR}xa{poT3 z!Ov0^V`z2C*<XLIyw-wtJ`Ijqr@iL!cP^%LW~osuWITkM=kS}!c%i>C`bMkBO4)uZ zH!SF{$^90%@#xPu1gdtkt#;vNbv@ushJq9G*t&33in=3TscTz_wk13Z_WD@Fs&5;Z zf#9l%7@L<uhp1cY&7N2sibSJUqFYQrrJG@>NjsrE3QDUU?ZE@aej+yIRAtgu%5^!% zZgiFFRc!sFs;2qdcGGK{)bw+35q(d3vgA{lGhOcH&<oWMTjP)CLofP<>^wPe842<f zpjp%3X7qPV1CH-M(E>Og#T&9m=}P25mAXZdr>pHDdJc~h9Pmoi-=fVlG8o!1(vVpp zMc#k93jJP`;-h8Kxk{1v58@!~yDFUWj3Zv|A{kj!i}@A=9*cdl=Z;?=5q00a^km`Q zi4+tc=@uQK1>21#C314UbSBr$by<Odee`{+cND3G&nS8@>dkk^F@v3Zx$$k~aNOXM zmQCRM<%2!X!)nv9Gc$ABO;%(xlUymxs)NjtQGdN6a7h2SzVnp-?x+4gT;BDQizVuV z8s9yZ68NaTFbzlvFR|$(!+7P6^V+ENR@jVGxySc*q;KJi*_><Yw8CQ3qUwrN-<L*@ zU{}-02X0FL?n*F2l<Ep~_6i&G_~p(5@wISGIFjRx5rG@lC-<gpiBRVZ$|?A4mnI=0 zA?tra4Mo<=9vYIonJ|UkeK`hcDTN3Y)T4NQS$q3(HKhLia`SP07EAvd7!^na_xh_% z@U9S~R=G=LH-XSPF2}b0!QUqnC_&GKS56YuY#&POA2x|eOJfbZ1z3yY_jLuH)Qh82 zmym<XVfWXjmZHkgZBsZOP-e-neWy$FX8>quH}dr76`WQCb$rTPmMzm-@FOl)ct07e z0Q?AMi))N$^NA$o9B#k2yKFdlaTB7GN6*Umw&~FAJ)pMqR;-}Pocq)>5x&wihvnxY zu7Xl%vkkgf2VRHICC#Sk$+;rR?eOynAuw_&uR(Y^r|grE(&H-E+d4&oB#Kua%%CsL zk*S&5x7u<p->Rorpb*qu8d>5=QMU`hS5QE5>aR&rc=dG8PvT-D!K9zsV#id49#1BN zI88b{t9rW_aGrT~W+yKJp4pRg;2r5!c%(u=E+!}K?3mdPJt0|q{*7((Uru<G$Wp!M zevVi<yMF_ZGNKr^7#NCC{AfB>GL!d}X$ffMWvZP_>VEG~!SrRS{7Z!Ol}+QgT`O;F zy)_{SEmKav$aLk8+H1p8+F{6~*Tbp;1}x#iLpwb)D>^w!<%}2mq!QcPRa+~zrL{|y z>k8$RvQ)zP<?(@74PARGRaH;)`pz@-I`7aikNMkN_oNdV->m|1hRB2i{xYk%?{-J% z^($A3UimJl>=8Dtenguny?y7dJj}f7><^f$`?@{B-{|vW42neWO_CFyCb;;j8!0G# z^c0K6MOU~JS6glO>>kPXs~C?kb#@JuX3{Opv5ocW7)aF@1slsA8%z;-6O+YSi6o`j z+&&+i&{3<-`=DT@P}@YtrmqRwSw|l{4ID|;dUE&-hR_|YORr295oF^-8cU>%8RHQi z+f{M0i$)*qIl=o80#f1Jb4?02C~nuMM5ZMg9Ef;gX(-eZu}4Rz&YU@W_Vq>DO8KSt zic=R$9z|wmMX6WBu8<uJW@_og+YUwBYQ)=$=%PlHQ8pbbfkpZ&61?zcUdHkV-^;(U zoE>7gGUTjDaYfbc`gy8Pu^1Y^X0{7A>~1DwQH45F?Xg^Q)m^xbcEK)B{ka&y9d!<g z4zh^t_QxNRs#0;h>+x#7#$91;?i1xW$$=J*E9(S|uwV9zEr%Vadu2vMu0FP8h54>? z$e6iOyZL!O+TAiJ_%-!iO_oe4|NUF=ahk0O){3M#oUMAz8WS{LsOz}S{h=nH#IO9P zkdLU<Pu!l%Mvx4@_D~8bTF$yDKORO?dPl==tK=FhvJPnB@Bc4AAQOH5!kOFJwuYN? z4a+R>o~KLVfuX7n)8<i>&!(v?vJlw}S{+<g1uK})q|W!Q>g+;;#KMnP+U{e6(3)*F zKPm4CdR@-ieI6b@^-g$**mf||7;To>Y&p~2WBk){F&7ReI(^|1nOS%D*{gLil3qt& ziIJPZyafWp^kvr#g)Gx+IX-^<_~bh-Uh-`yozI(hYfnhd06sw2n2XkO$}H;CDe--O zy%EN<G*@rezv|^A2(R@N!`P0_F;(srGc%Id3vSJsNeN7eIa`|uI*`e@KAWEwv)+S- zlNM|lW|}a2CGiL_<ygDZ*3T=LYhD+Xd({4}MfTHU@=b!M!^;?D4TCPMua^j+fk8zz z*6j3|(;nN~`66!NEp5!~ZdcoUkM8DPNo4jixwhG>Pd9$0^TUj<(Kq@#BI}nf)(FW? zCaXuFSEtP%t5DRnC!|uipbFSB!q?38^MeG$kG70S3zwhC)$co$7#Msn85#`3XBJKo zKM#oiv^%xO?Bzvz&A5(XkA)5w%JlOyOXw)uMfwpl+-#8izW+55!$*$3m2WGrb*^m0 z4^pVCyRXZJ5^~~$MXS9vh-OTz#WL6oe)JCUDQk|kL=y&FOXiGPAY(IbDeR%V4EUzB zHPid+8hzc}lAYPUW;;iGej-KtzJ<>)G5T)dd|YGoU0tF4N84w3K1nJ#_A8sRWR?_l z;CBe~LL-g%mEX^7+GM~l(Cy6*Gk@`=5)HQGT_+7}4V`d;*h3Pj7)3rT=)~xKBH{nk zU`$-ERW2Aj`4qz1i=f}yc@XShjn_BC;Q~8M4)whG2nvrJcs5tHzb+<LbW)UQwH!_f zmK>GDRl;jJ-V4Yj7I4SJ(0B)sm~AfQir*H~(Kj8VThhdqI$LWBN6qVx9PuN%?t2?} zQ;=6EZM6_?tm<a1gL*7&Z<}qL*Bw5&T2g|*zTriV^q%D8t{REp2M(t$)h#_7`-I*q zHIq0qFq3&5Gxkja12ZXY5I+=Pb1+!<)jZUtG>yVuUr^uqb%|Qv<ra*YQX(TxbpP@I zSU~3R^ooVA>%j_F>`w_9{r)+&so55+kK+V7yzpZTrZ(1doB<OXY*`kD{dGsymo{`i z$@XRX?O0b_jUI8e!a7&jhET@_Ind%OSL}TyEbUPf3iB_nwM3Y$?P3gOf|ElZ_7V&r zx!kOWc^L<^Y0*s+hj32Ma|%UlYMzqG-b){e3u-^Vd|fe|W5Atz?J91TGz#{jGm*G? zl^(f6`~c!|`Dwp>PFcc!V@0sik42(6PL7!sc}sGa!O}AqE}dOmLcvk^)6+GNlc6Hb z(8(yFp|k$Jx<9JC@7NeT&SIM4*d~4*03nUiDURkY7j>h})vy#iwkeX>+_A)ls!--- zaE7N}oRhGk{5+*#{`|WA1*s2p(2ITI{||d#6%|L<wTUDUf(1x$2@)iDa8GcDKnM`r z-Ca8g2@)(oa0~7<?li8ATLVqw?ru%Pbn?F6KXWl_?q=4kSyLB9Q&p#`&OT>9ThA^z z7u9Ln-Pip-TMlpBPAe%Z-a9;Dv~;E{f~dVZxMVOD{#3*lo>wByxb#U;SBu?KgtRL= zl*g#2Orj~y2CIXrEur=6g4ZJB+FCw@E-8sNF-~-3Xh4{1D?D04sz7WgJY>tw%a<iy zZ&J6~jSXA27I<RNC=%}B6rfygAz{%+`;zTP!+W#FixFr8cexC}P3L+TKa-*QY4Bog zgn(83&Eu-p&rDWqD_z1w_@#!urL+#c^9ipO?(9)7D_q!&9=M8R3+wD%qb2NEUTyRV z`nC`^qer}3>F!Q$+^G{$Xy&*~>orQeDoKu9kO0z(d2!AJX&w6R1RK*~8jVatmU>Ic ztVpZhdbkkVEs9=z!X4wabfQ!*Dc>%W>^&KawlDRWmb_2d@?kmDr6zyjpTKJK+f|O( zj^8|{x%pQW`NEM{4)B%3rb8~CxR@a;PvF2XYdEbno0^sAV5Ea$@vpp5tJ~MCSwu7& zK{94~(PSa<iI&4mh?hx62zp?F%+9sJ`g32upHi=8E_tF6gz^zb;gc;6_Wq`*JFgrb zjC<oQyETYm0`b?Hc|Zpl`@1zd;yX)p8Fp~|FDK)HQ_+bGwVin-jQk2NH$Jx^M&*L? z&^aBon~})Uz(4|}#n-kl5T8$JAbaW!r%G-KJ7oZz&=ACW9}$gzYY6sTl(8RTv-MI| zspqtS4c_F|;GWr)J`ao??iCA?pXgzek(QSBo#G@GQ=0Gs8uuP(o?MAs0cDK#XJt0? z*+63MPb6B_h`)XnJqyxT7=e}!ms*oZf1qJ`1+Zhe(G!SqnG{VJrICwRVf*OsOra)T z_Z1(%u3_wD?XLsYmu5z&$uugaCvNy}0^g=?QPrO+7*_gyEbpMn$wGynJY~zYG#!A8 z7;zX5uCX|LjW0$^xL>U|*MWi(z7GWud+dfMNOS?*nbvrW7z*;g;tS|{TYu09=PD%z zXJ&52@DUg5iGmHa6azgmZuF|Jj~9(j7VuRLw@77w+Fmlb*`ZrBU#W)`c_@SgG*?Wa zMrm9=hjjj&LDYCd0{1_2(~`MO%Kowkn;&4lIH+4Nw8}Bx;y0XYOy95RDQyxsWc!L- z_y{B(d|Dr4v~Z4}BQa}NRP(7{-(n^1PPgU0lQ)?B(?c1v&sP1Af$rP9oQ<T?_9{N2 zNO33P_Aw~U#twjUIc7L7R|5XVg_U}v7uDdX;07q(!3ohzg%^#7!dtD}gl{qrm%msM z^MLp9K=g8{WRA?1PB3aV__C~9s>gxrC_iwqK9jIdC%AsUK+A7d505mPRP582Ke)}j z5hC0`nq$NpbZeRyE>@y@YGt<vmn2NiOdg)Va^N^8r5>F!0;x=lB{M9htNMf|&&fEI z(fhe5l7O4fyMB>I7XiS3(8)&_`++lN+eTplZn*b`b%vdS#Xe15kwi{%Y%EN<tu>t1 zKj(#=LMlCZQs=^!$deXSNo9sb;gD`UK4Rqjk@lUhTi~2cfIpVvpctAqlgpeGPE%!y zmO!9Q^VQm;($RG$^LxZv9eFR{7y?fDgM-Pi+DG1(e2-qdGrB*wdHgC>`&fSV?P5b) zc!!<=Hz&LO(-!)nAzx==ul%GZ9v{@x>cbL0TAEf`o^%tT>(-je?m5#rJ{>Jfl8j(U z=+95~pYGAUTe*P@)O`GTv)epG8aJ~l^uk;mo-K0B-|M>8TAd^|J~YNvC~CY?t#VYw zKPj1P5CHe564yXF#t)MqkiLSOKpKBx{a*TS4BQ?2YO03l)6HJ*SLJOFMdDM9?4JfB z$b?;pu@6BBF+q`O$osVN0nY{tkU1f@b{S!YBa@Kt==VuPa>fg`9fmEKO0eg>^+^t& zEGyMFQLNjm>?D*OV+Msv*N;2_Ta?N6j5RqY_1FBXoe|3wZs(uBM}KVXWfigCH+Xon zvu0#EQ&E0!I(MXfM&isUdd*8O#bIUbUg1{?(fXNL8OsFGDO_lb(yjt-H4YSX`NKzQ zMJJwn%SEO1N?obadgwey^?338XjZnj$?ImUcy4h^cu^6b+ScnK>j(XCz1PuPA9D3S zl-*6&9tZta?)*-c{Hp?DZZx^}2y5mLIx=A;KycOhi=RnW_~T_q_+dNrnd&a=Ooxj; zEa_$8Vqy<XMnJl<9XC+4Eo$7(%7h<9N|wj<EruW1VZZ9vSE0-E!Tp|nW=G*2pRvyJ z*QASd{`Gon`>rSima!p4PGPpbe!rS-@pi>S9udr9s;N8&Ri?D?HxmJtG!klXTl7Nj zPw0pl>J{phst4|?MC$sxheE7OZJ`OTzCZtUWeJ|rGy;M+kQ&7*3!Bk_(AL&HTmrMG zyvU)l+;ntl<!4~GG$s-GdNen4Qqs4|p-(Npwj856#ZukalMU|t^&5rKBhYb;dAawJ zWkk8grOls_N@a7YW%Pi<VbwARJx(Ws3H*?2tRFpT&ceqSPa;#h*UkzWtWs!degbkg zz6_clM16XhbaF;=b{@eHEPEZ)ktwf9I7!_SZ6h_6ISO$D8?C@4K$*D7siO@;!9&CT z4}Di>okvDzzuED7d2?CrL|hwKeqrnr&y=$KCJ$|~q~_#Ikv#or9DxClR8h!f5B%}i z>?<k-P5CXWUup)4(7bXQYGLKirDFZO$h*5qk4RSbgw3r6BWPz7`e)jN_4g}O(QT+5 zq>(CXoQ`bO8FyF$!AQKTs`se0JQX^Gu*7r?;YhsjMt>v|;}7Xtkm#kcHkLDSDG69? z;Q+((^T}GS7uXz?L+PfrITXw@1cM5!Qb)^pW8b_4J*>ffj$@eS5m$Rl_gOxTMh}<x zR2)2F2dKMh8T;vxxIfmu$nYrOec4U7^I64Zz2rEbJQr9%xO>k7y$?COmT{j6+Y?4h z_!Ph)&oCc){X|ka?YlN|Q-V@g$(8oV5j`RmX@mDv@PVbdTWN54r`YTlbvHtKWV%lF z7<BS}-De>1d8La|s_tUoi87)?Af6zM$wNQY*Cz7gQ}#N?x#IR;VYxMkg>mbiPZLtZ z%T}GdHN(^plB(4htA3H<#lJHJi=14z1qBBqC~Fdcjx3`)f7e_YT_?#^RDJZ4?@0y8 z*-F6+1MjFvHCML7H+VU1qeBgse7_<$kK*_Tsj@e=*6Uw)ILqcc2@H?by438R!~EQ^ znbAW*3CToV(=LAUW@hxN1#w$|D{_DjYc*_b@BYXj;{j$Tm_Fi(c#z~VbXAyS7hzJ( zb4hUUcYVaw?YcMQQj?iV-BUwjpoH`GW@*m<^&XXILP<yie5IV2R=~rr9|l7~S5CrQ z78jaaWq5xvV(?t#^EQJ<vo9f|Id73l9+e{AuZcVw*0jAqkJo7gT??;hRX=K_Qv>;k zUD<FyOAOSjSTsx=IGP>vjd9*hxCI94%;sI+o|~2mn3G3KBuO*l?yCS|wApYC_6scY zVKbm1JSo-aYB8g9-=&j2|9H4I;U$dNizSQk)eZ6Bv6c5%EVIdh<js@SirD7K&A`B7 z)y~k=!Bp>`zuSLbdd*BVayrf?MtxABee5@{Y9-zsoXHr2z=gjza&+*+4^b?8E1*9# zIr@!-*qTgGfV#`Gw1Av0qiAwfH`Zvj*k0u(K_<7iO=Vtf>&;O{axRV*s?#5xT+Pkm z&bba?_@v#UGU!P&?^LswV5jowvwrsASOE1SP!@HunS>vHgHvxLrD|Up(Maew=Gpf@ z5TD}-F%L6==z{h-{15RF(byF_Nb}jo*=Wki`N?#FM#QFaE$SYs7n&pGn`|YCqC~ed ziD=QcK0O4d*z9-r(RM7a@3qg&N)~n0W|%Tjf2LVmb^w;P-a{Q9Zuj!_WH}rZTLw!X zTt=VczTrMq-oRUx<yvS6Ls|x}W<JS3!7x>zBI;qCd3t%s_B%qy6s0*2MTzR0p&Jtq zF6Y_oCSv`lCWc>-63L1nk#FH-aT85xY6W*;WXl=x4nU#Jj8+8hsNfaC*0uy4I^fM3 zuI71IupSy|8zPZ~o=y5q#Ji?mG}GnS=umet_(^cz&Nof3H{^($Hi3`oEna};K0GZ- zn~VcQ$-@m<Q1(2@coYpcPR@9ncD>MMz7N|SoL;o9_Sg9qB=)usE`OgNI2brV;}aU; zsl=-ebDt=z+9h4)upkr`{yzQ=I#2|aD$o0JVs`iCsjJtoue4FAmIcQHW*^x^ywvyQ zUE6?^3oGKN7L*;=;~l&DXnz!x74&SZ+~FQJ3b4=zJe&h55e?f7b*KWzUw6W&jYpjs z>;rx`XIdZvElUd<A`l<Hle{c+Vx^Q67l_GOFNWn@^Yh$jN$Iv4J2cZ7)9o-7oCYPr zf`lUdSp+*;&7jwo(+}lNUVs3ELT_Fmesk-Wq<82d`uWAh7o3EMJKyateK&8*f-{@n zOqH2#Dtpf)B~xZJwD&SPU^}Ots=UMP*kTvmQ8VQ8&&8+s(lUf>>tpX{iCWxu3wC;u z7KHS(L50_4c~nDBfO$>jHnJw65?Q--V!cbF(Ho;2t5$8^KL9#Eu9^Mx&dk`+kC4ZN zf!OVyZS$K%^f;um{@fq^JTz&rv4q^(xG~&pe)@T9L8eg-#YIH<!jdjhnOPU#1y1wk z%e*~VV*ju@dR;OU(W|_@d9c3qsSxBtndOPyC}Q`;SwnMe#C8uo0`-u>AWak?4%fQb zQQYJh$nM5lMp}Enn%AWb9{ZIDCpGFp-qxaX>8~1Qx|b{~anRaK#UC6l8J%WsLb2$B zO>So_sH=KbA|7r;k?Ga6XUmL%)wXO8B4-r0ML7vo=;;vudZ^xcD;G}@*8Tc^Ma;t$ zf{PKam~H(K9V1nNpUH%#iWrQFoq2%nM)@lM6x52x#Tc=%`{aVv=2kzS@t87y_T9me z{ep_gd$IGpx%N7<*`~9^^hlW2<p$c69De5Dgx5z+qzd#AF!#=T$vVdxY)fpfJDg3R znGC-sB!<O@j%0=-E!%TEu(sbwNx7F2cM!(qkZiEN<Y!c8|KahqbhfPuJ_%}a*E$}U zZK2KWEY-8;3*R$?Dbz4+`3lf$J?+F^_&!R<D*?YTT8mGwHI7*A&6F7YI>0EY_89H~ z_1?cE8L)Y=*lhPx3jH#Ly!c&*mq1~8k;SB(5JO~BtVtqZ?>vU@_6)w2xx5v9pOT&c zE6a$xhOz40?`L~fD?Qu*37<ZkywG$c1>gk$DJVIY<MK7Iv#{t>0l3DZ9us**OYZ%K zez%WQ)x(Jdu^_SJtzi+TV(b2f;F^Ju8+*COq;c|8RLaaM)$iGF_6sTcu2-r2KR%Xb z;8|R#ZuT32TW~H<FEyecjlJjbz8n`(h!PKAy8_)l^8z|)YK!(~s-u4p25m}5_C}(Z zDBSID#q}E{$;@H0`gn9-xPQ=H@K(^2z)kHwjlfhmI0e#lHu^3+i4bA?6_C+qC`TFO zX>XNCW!f8I*}zTQD}C~#_SeFwlFv(yZwm{E&k`<cv7u80v5dt#2k+3<*20`92Kf`> zn#;CV9TR^B2Kd3{aw}g0Ki89}F;zY!CzdQ#$5?n3#GVHwvP^_vAvrS!bkQ>iNh|>> z9wx`*i)(E)eZ5Oh*WWI01XV~#aYl<ZLkg=k7Cw}lZ`Wf0&Q62DWQ!lF8@wTlJdd3C zFZVqYmALS@`5wpM?!#)^iio|*v7KxQywTmSH3I<3`T4G_J!N(+gN@L%+V~CDk7uht zrVrY>9z8m4-U58T`9Uyz75Rqgc-1Xjn604V4!=YPWXh-aX$a>?3|D8SRYn!}?Q;QD zA%jtYUiV}Xl#=Qyuy1g|5wy#&8Qv(R!j9%AMJZso25PsvuS0uX=Ce-uD949aI|S84 z;qcP}-(&x(9AYr?%$I(<Uhb+8?5CM$fmE|y<!eYyOoUq54yk65Mp8W>$ZXvo5S9C- zW9<Yel6`k1(M!)CM?HOG2$NU9Y}43wY8ndoT4gz!4BsJ>Hspyir&l+8dkOmFTCZC{ zB(p1c1!NA6ZvH`Pd{lSvi*kU;$_t%T&Uww_y|AF`ZFO==dr*Y@tD+$Fn(fwlmVG5i zH`WdWq$9ul;UksnifcLo&<u#1y^3~_7o7xL@IRhG_}|U@PxQ)WX8l$ao2lP)ISZm- zhJ-%*1Et(ce0^TfrcMsr4FNR{<7+Qvv2)!C<y~ek!P+ZWt-0s<yK$4XE-i|=y>^31 z_o2DrI(E1*QRWm%uui$^&P!fr-kS0=CBdRK*h+RlpOKHB5xnY&C)h|~Y0e$B<z#?r zWJG+f=YT>yuvCOs0+g=3SYxV9BJRYLl7H}#y4vH~+xRUCr`W@z&2NH)ZGMm2{O+|M zVLWngu%G6>Qp1UwQ$0U5oT?I7s~5eDf}5+a^VtkhPt*1DMVob^w7(zp+pFW7CUG2) z-E3-W<ct-*e$7}@q-aVFc)^WPaWrHKYlgD8T=Tf<D^4m;7?)F9^~$q1(zN#YWqw3? zuiOBFb7ouBXWEN>9C2&=odwSO@I=8>QZv#V-29-V8s8h$00*2RuDI#R1s(T}y9>tC zq-}Mq5H&;uED<yt_)!|-z5?lLp8Rj!2?ZE=#i$cIuRA{TMMntKSAy|m&vdRDp4nud zGG;J1(`hn=RNsy|h`aCW4o`RyR~(LrYn;;wr@RZS!P}(>XJ$johL4?WANxMr5-MXr zrhLK^-kgB)W={o<PnDE(ZWB8_H;hXGy4@3)1=a4Q!QcP50oA-Ou11|}PDw37UR&FX zUXd{(;BwC>h$4YbY9mZfxAL2v=*_G!{7Rl)54RXqd2OaEQ-~$?|HgP-<~MuyQFuqh z{<DOXliFH7PrymN`Dy2CfaSu^&i;-L=LN;XO^=rI;Kw3|W5-bma{=-ak`ZqW9yg{w zO(IK_HlG~YPfDFgIyvN2kTBke?@LgBsMcK&>Xl~TzYM(9Hq=R02t$wPa$Nf|urf?j z6=LKf<o_umpil44#EtDrjhDdZ^(%K?_ZArPlB@x!x4GM6zlXa=ZqWrU59fAdLV~39 zxE~S|T|e-&j}9)sJB*`v5O@AbG|i_^J`dveQ&)cp1bWv^UVNaccKKa{^Le%-$k$x& zfQdpCa_2EyB(9-YX@N=OIJnvcJ3JcAa^dkl9Cs;Gq97g4g{60gfS(pFG<|IxovBzp zv?C*PSYLmKeN^U?t}X5bS)rDI!wWcTd=(cw7PuJVYCmG{&@@22y7&s(66Fke64v7% zuLq_mFt#t3BqfXmz+n<}k1F1s@Gn9WCFd)a&!9kBdQvj9SADGB@M(A1k+!(0j)J!9 zc@dn>phlO=bn|_k@Qr@YjO(LU3vNfsj#LhGZyxRQ@edB#@%`qIrBzsXsCMzMI>!0p zIi_Rzz#OG!$nJSH$@JQLS#FI~jO~Xy{cN<hdKI)Y<M;FY$fu5wBgO@;6bXM&dev|$ zGrB3GkzW%h#cIP&3iAX+Z@{|`u^8)%sD14~SN2Cg`=X3Ep^|>E;M*ueTXUVDF=`*e zDoL7e!!!alTgHVj#R%f?2hO>|KJtSSRS@68&f|C2zkK;p)4IRGttSTam;)cL@38rs z3A<Txnr`A}(88_3m#<CNdL<L0RHiEaLJKW|9zHHn<@9TUhcWkL;qEE5Ze3(-vFV%p zif>3w^M=R$R5W3U!fP`*|MIEpgm!Eks0t?aXPkWRXJ>e-f`%4&8I#h=YJd4xd`qp5 z+GxCpek1<m$&a-xE9(5y$`}6LW1aH_Th(<3p7_b#t35U<8@dao`FSyy<Af7sdFJ90 znL`%$q(KpnP>>G1LuYa?t|AGe{xy%$3U|B52}6+N#G5AJ6CYBayk_?>@P_He-a~Yw zMB`rRo=aw7`AYos4syM|e}F&fbY$Ca>mr5#aY%mV$~!5+O`B?6?<2urPv@+jq*NNq zo0V6hr(33qbuA+;?7(`zz|+=;uFfzj<u^P@N&K&(&f|LyV?}d%xwAH8PCGRkT+a8_ z19$P(L)4O|ih-HHthL@Z{s9<%c5E%@aelL+aG}Kpu=^q0LfLetRl&cm^z&dknW(Ea z25Ar$AKGkDxloq^(<E<(o_>#+(wj<3w&nN&Y;PH<LOEpiA`uxuRCF|F5T?)Je#h9a zIZ<~5R5izg>+ZfWntS|Fs(ZfZR<peINq1^^4dN|cE6Z1#oY?s#z%T=&v^`VxQ!Z)l z``Z}_UD7~=V6dfmgHp-2NQ+*Nj$OftACgY^M1npXXR>8x?*miAsSovrhj@u79-L@d z#Q0X4$9pTu1&>OYZ+m!L(!#7j_69WrO`Bwf_XE<K(c2V#rs@xuMxS@Xe^k7QKfGfm z5i`M30yM?s8j;jF0ts0!7zhhZX#YgS-VUvY_|UHizY#D$S=sVq7B}s3yy_z*c&D#V zNaUE>8^QfPJ@F$ce^^Lw8pD+)cFzWXF>XgUP8j{gZBZ^PLt44Ho#U^g#=HO1gv64R z?$}$?PoVZ?7g0n?7}k+_?2U_fLJ)tkP4!3}#dGt`tR)G#g;c;st0;C4ro&+cJ9E-l z1#_@04g)e|LJuAJDA4=nU?5R`1S)+C_gN=SbUpWG_q^i{mVU<L{nDjtRh}v*rQBdw zEhszb1i@l{=RpJrc%T=*J|-%Uc)+{9c6WHpL1J{cs3bMX`6`eLVVRBLxyHsW#l_ua z8YXJ^&cYy^Yi9fCkV#58DK0LV%Y|(d^*+6nne=Sm%IB<@ZKm~xyRrF7(~}adGdq-m zFG269C6Z$8s|cAFB(5btX`#tj!%5yoGoL95OCZ8xrvO^WpOWmNX@5nXYhojM#n4jY zNFj2mML;BW+;YXbxhc~^kUo%ttC!lR?vXCh`_tGo_?+JL?eqL8u(e)4qw6`Fp;4;j zrXIx&GjQifj>;H^(Y5`pvJ`0exVy5OjJK{SXncG0_QBvw$1>D}DqxggB=YKkgyv93 z!BM3zy5QcP>?i`--GmFE_wr(~Pyy6Sb!C$Z4|Q*sj5rfmn-TIb%EdH-&@iIc^6M;o zgAKqc`8bAinA}7KvE;dd^kp|`H3AJS4h8xg+9gnqMC^jeu*se76=!5%Gi-aSF;CL| z2&Ob~KCL5?<U=KBDy)>iX>s^`Qs7(Gg^mR5?XBIOpgUan<HDjPAi8{W6MSf42DXQB zrU)f}{HU_yJv>9Aq2SF6oF3ZR&I}yNiYJ1$-4<ZWr&L5_^TVHcZ%}@0tNvPJVi4*| zA#`Swe2crly^P0SbC*Ld7_aqk^I6F1E=_9$ERd8`pSMB%DE1Q2r{iUX2|XJS<!D>k znCYYCih1Spn2mC}wXY?o4)^W^N~x4tKBk9soVR>bIoR=iPTO%?Hy_8w3K$F^d%<-p zF79peBM>bR6<*DB0iOr9Z9>`%-i_29Y}ICjF)3Jm_)jhXB(Gwd<g8(xFw*Q~;iTY- zvXN9`5-A5)_V&U%jN2g)5+frce}DgD8<($>1tm-(aMI!P%eO1_92PzM_KtzAhz*Cm zD|_RPsYo_5z8De4f>=@~By&2W6%~LsNkay~m7kvWBN$R!2)!Jtk9+MC7Q|aG9vwOp z<vUw@)OPo}&WQ1bbn}6e+*HnezL$N03|SnmPY*$-n#6q&i6zN5t@<;=8C_|51+mur z+{~iSb{(dmc*q>*?!!C%DgnpeTrMw~jZ(Z<@V*Jfcef{2*5S<TVe6i*i9FE<eG?*D z#lnANYp-*)9^3jVHG8&^t#$7MLANjeLVEYaZP<dS#cNF_H3sgwfRY3!K(Y+57Ow?W zxiaXv_a6%~R6ZIDv`(1ecl+M+lV|mk@9&$hzYJaw5R4o<r8c}VX&~2>mKH@~S@iRf zsl-J~n*nKJ`<-pY`HNXkNAru3NP|zQ4q&J`MA^z0ycc`@>gRRqTW_Gp)TcJibf2{e z-Dl~Y*<P-?-XkO$yxd+lg#7;8K#ww86g>h8BmMSX5)${O;C6M^4gGdIqsz=es<^JX zW7X8<z)=ihWmx-HP5Qzf<>PjdI34%Ifq<`Bl|L6+=uR(R#9YmQ+0f9sa>$;GgdRWh z8gpW;H)RJN8Jnjh3Cdiw{0Z4f=WZcQ9InB%-@!;B3tTB-JXZe_Hnj9}_y<&FO9G0l zrU2EO$0!+JaDljIk2=riEMk1w(u;EF)}LwR&g}l_=I4u$K-xzq6Mmh^_t*M_A|fab zbwE(Xvb#d!DcVydXq}zV3@0|rLWbPRNOlyu(@Wn$$xXE}(Z3Ekq|HDOQ=K;kjr-2< z#!Cuyj&<v&tN3KP)GfgWKp_ma;>EGH(Yz{xH{C@PdK7HuEUl)ic*(>n-+W4GTbM{( z3H3C=e`kD3H`B^XrKt@ddjCoOo#sH&ZKveZ-O;RJMoyD13O6pBM}Nlg@0P~*eUX|o z?N??w-Bo7u&2rw2GL0Qw1uLq3L)b69t%`LunrdiMs+Pndvt*>@ZKmshp-^I&0|y(K zAX~<@V~RCphG?S4cbRn%f98%^vpTCNSIRY(%@80^oJfkp9gax|Sc0wx)|^x9rD4i4 zy}1DGFz~TIw^lV9;G9Sjq-(*hzCaJ77D@l^^j!UXTvDTR`s~k0<ie9^?&zV_0u=@% zl}NW#O!((f1-~FL)N^pdwYKTNwb5BPT`*mh5)TvU9}W!+5Y(#CMHU6lF6<u6%HiLo zKy7=AT%EE*;y`yVg4G=@2*rLsqY2_k)DMrB+Sr)FPaU~~uKAgt?SYZD0h_5;*o)M% z3}0j;sm>h;;934rHxVE&%o)Fo--(qacR3vGhoZym?jG!b+JSB{O>wu7r`{*PhPLth z$I^|Ein)|1vO_a|YiqQVu&{2qlC&@+b@laaZTC`~LLOljy<5-T9^Jj7BeA@**&pb+ zPR`#=!bPG8azz0M1iHSxU0quXijG!0d&BPJNA!L1kCdj%<_x84oywd(lHnM-o}7&f zKj9hfq4X_j`E&DsH*eg3FaFzNmG8OlUmpGEEJS^q{qOO=J430g`u{Ww4gEjbP(O*2 z9#qg4g$xi(y_~SB-EU)u*WR{<Zbe8$ik*DBLfPpVO}0h*GyMq~pWy^g8p)B9lTZK8 zFBKCe{M#SbccchJijzp1>h7+p?PdBoOJpP-^5?3vu*g0HN$d=sd)~`#qDA!Ft8Mwe zJ@0?KvbH8={5j?}&a<6LQc!h%C3jx-HoqN(9=XC2*@Rl~znWO*|3fW(uE0PHH1r7D zCp%}zKi4;8Q%5qQ-pFwbV`{;a=M3omK=kj;5gMyjFK3^Hwq_B8bcI#-jDC|5O$Guv zF@iW{0d3V8u!2BNSCih%-VE<fzt88LTS|Oi{x;ROMn3)#DPsCrb|5DmxgVYD;)lgQ zc=Yeq5-j;&_&`8#LjJV%FIxRQ+ik~u{!fa{U-AL7{))i=w;Qf_RUUe)IHX5`{*v$S zE^%D>e?cStnhh1nuR-qT|3$cNR;@WT!y0&b@;}`6e>DUB?cx7Xmi_-v{6m5NO$aLS zFW)1daL$_u{{9bOOzxbgAWknXdW?^IwvR%hqoe0#4kmIA=nQiHJ5T$5Fv|%-!WVEs zpkR_}ke`>Akkq()bo969`{r}`W_d_aOPIViW&QCWV5zHC;Nh3to6_0o|40FY)nQai zy$hy;KS<1Bo9O67A|&#(wa0FQvpJ-asDQ`w)PDj$@a%M&Ms&w8a24Oj-Y&K8bnz9; zw98QY-C?Tk{^_qaIS+nCw#WWS$=~x7`}F^T8qsj@Mw2z#kmj!1yi23LElI6XeQkJ} zSiHbai4*x}@J{C(FS9-egbXtjDd*fGUmDTS`1=Q__x!FV5@txa4@MiLG^Qj}iU_$o z&2>F<x*4bW(eVsi`b{B;-o5mnXLP&GQjl}bBk;IxOAMwsU=tj!m(P8#2oBXL(m1Tn z4yygi;aI9DnAg`0UCu@{OPkP%uy4qeA~=D+XM2CYU2N$4|42uF`jD<7#K-1B1720% zbfn?E<=&X`biwOrlv1C=i}bMDpr8u^!Th7>zX;5HZ{Des|EiGcUsP=x+;O*Uo93`3 ziHtKW7=s3hG<WUf)+^o$rgNmJVj|b-A7Au9v^N(23v6<a-fth6P^vPG7~(WTT^oOo zuXOkAbR$iPpiZayCI?YZc=-A(?dfL0jWMXPCy1Xd^`Y0w@4m;-j>Tdlq)60Isg{Zh zgNTeO+-InE=x+QM4`e}HqkUeWs(;C<$G76gZWG4-HIeX3;<Li%`7j@fHI?)!PuE{n zmrRqo&`n3P!7g(#9z3&DI4iqu%f%tTD;u1pr1-I!Aa|GSPv0(wp%#{?emuJb?Vr`V z4*YueJ&QphLZ39lVJp$x3|||*F)%LhN0OOk&$lN0g$CqK-brKofEH;$YAzp~{ycDj z5V<z$llli}oi+1#5YHeS*@dVK^k)r~Holm;;ysV6wh+M=s}HSd!0X&gL6|!&ju^^; zMJNh6>SLSd6df;@l1|o5iF3bYF4YO!ub1EPse#P$nx@5PnJeuJx~tOh-7HU5S8Z_c zZQ%=D>rMl7Tk?AjH8jBX*m^7_L*mp);<M9Mmv6<||9Qdw$H+_v^aiEmG|+6Wl|w3a zA~-CoXtUmZ#G1TMOjGt50kI^C^XWC<`VCX~5R6~YaV7879v3j<d*gxo_O>9SYDQ-_ zSOw=t)XO*hG=9ifpc{WB2UM}P^;d+2oxA~@tB97WrGoZ{P4s;lnbdr#pt*5)G6Yx0 zFyL$7B1;e6H#~~IA*e=!t25Uneb2hRcjD0Mr`KMk8<p{li)l`dVs=nxGGy&*la}u8 zv5xoW_$PhVz`XSmwl|9`zjMpKwC(}=Ql=zMf7<>H-u>y<pFY9S?A!&#Ksv49jqLH2 zPRQfHU=XQ4V7R<Y_nWjk=vM%w@+>fK?3=<+iixAgQVp3V8RDE?v~d~(Q-X2rEIA2i z!vhuRA1aj_c9^kbyhzz26*CsUD&zcKj3&M?_jZ?$DqiS>sq=Z?u}Ql90;t|Qi{&^< z+2<#OM2)U@Y_+zWLS=|P`eg7BW3bNrr%!z{8TzO4muV+g;{DhBB`T_9;7IM#^)_P5 z_nU<;x7JLl6+<VN|0*dl;i@|`Wt6vfZpEP6A8Q|3jcCM`r5xDH4eu9^*7m{y&RmH& zl=4Xf(%mn#xvYmsO@Ym-m<rMyPoK7O{tlK6ksCP_Cn}g!2m*g^%gl1(tI7GAro}qY zXiV{JBvPU&fiKfiW3{jcnHi=(IjufRbH*OWWmVdPJY-w;+0Jw{uRf-k7HlBiL)y2W zS&P$>N~)4OObOP*u77W{By|||$#UWOLSAi1RAa_TP_?|o6AR2s%}B+xzjLa;CyP!Z zbM<0x?%^IjTT&usnyRnLbh&H0KRrErf5Ca59xp>{jDx#zs^>_17$U*&T1XdDO}ZsP z@(BB6bIo;pcDsFAuD&%Zi$FpmXxBdzck;<<MDnkxj`1KQ{6cmf(;V;}Vw(g9KQ^Nr z8x1f~z?}L3$$;*OT*f(7Hag*R6IoTf_sI>~KzgZok-3pyVi9?7nO6J_*rz?-%5!D) zGMmzU4tlGCKK=V&k<s!=CQw{NyL5R;S2w^i^<a8>{|0O{dzRRCT&565%IB2P=|pg% z__Wn8x%oqAwHn6aF#K~fTX<$xwEpsh@oH8rSe|0x#uO<K2G%VSsON(NrGrsDjDaOt z<e~PpZ_!_6f|PEXef;a7iWab<ts5e8DxAwRgt=Q%l_u>K2<H%P(kmdIck2!R+}h+# zv4_k6t~SGerG-0uMM0naq|7dm8`u4>>Uv`9qbBy<V!Bwo75`yma25H+Nk^@TzX~!Y z-n}3IW{))|UQClMI;5wR9UcKWrubwdtcstm6)tyKWv(Xg|G0Fi%=xk#RCflrX(G3! zw7Q{`1DDzSUQb_o<7I&wPgUAysP!%nuj=nmdN&ql)46VrZf%zv7*?w#Xq5<_-)uz~ z)kTC}dsCScoIF)z^LrnZ_-L`9A?31Ybo%;|3z@NKWuv+5z#F;tWp2r;MJOSO3s3>k zuz_`(olR5<j;zUim0ZX|CQ_SGuLo^0rW@SEpdX!fm#BR4(xK$BTpEb@C1^_bm3!i? zN8@)sH8xsU@fyot*}PcfzW1?;+PmFs*VC&Yr`a<`C_p&Q&_{-(`8fgbH?r%z!f64! z+3^M*#roly9om>TX;Y_j{Mged?-ba)S4{F{YP@GjmDej~H&Yf5NL95koRH=9HZO3@ ztsku?1i@_cW>E*MT*|ZAIHOxVKRf4(H6=Y}xo4-oU~)g+=>E22{dYA@sMl*)Q@n~7 z>^pepd_JH?Tf2IvygBJ~OM>+}Av_qi_;vs=SRug6zhrfOWw!mZgH#LlTWxZD@3CqD zQ2|LCw{W^@n)vcw$ufL@T3vJU1BD1(0)Z77Wk~QNvq$?;<ak<qDECyH)(vSfSRJ{E zkj@xU@mtZz^<T^7PI(7=`4`gM?xAgXsecDapSSqOkAB}})M(rmGhl1N?8#b~q9Wap zIo)p~2^3XokzSXQ_#a=<6y02z5zr-&ivdSLTq!2C@q92YweD_iWo3-i3ppW|Yz*y5 zzTP_o4$eN!yS8H`J$An#&#zr_C8UBcV*^df0DJltA{{X~TD-hXR?)~h!uq~8Pq^Qs zb9vtY=S1uh!^dY@s6J>>Ie9$*6j>YYo49Y$XG2)d4^5Ds(~!xH3;2$6)A5PRMI^SK z@2_WcU3XtF1T~Zcg>YyVF03dp@fmtiUPXO6t=BD7RS=e%BLrwTH6|qOtNb#dKf~wb z@$K(g5NxnR^^`XkR7WNldLGmv6PWZvRR1a*98ZPLw*1T$;=VN>Z4UY!()!O<;L+em zL@;o@i7i|=m%U$Sn!P+&14|&nU`{RLJHALRUmwaGJ&&XivjwQlQ_QAauppH_Dsjgs z8rjZJCxHi%t22PQCY&#ewnI7HU*!zZe07JdG!BY_vbFcC#Ff*wZ@0#^j!bco<V;lk zz(aTXoTJqzsN<Q`!Hs?)R}rnT4eO#*Jz}$)NDx`@TD4LSII1R6KK16w@_GCL8t$_} zqNd>qWzY!0W#BEei76JNG8835nY50@G}q9;Lo(7jf#cfDx(-KPa1NY(eZM&(BqO=Q z85xStt6a`Uqn^`8-GKVIj!3n5!2~tr3}ux=k$K{RpA3KGjY+n%kDgq2Pdc4)v#=y- zzc8zW#GW-9ozC9dD9cB@V$3aSQG@|z_40E5<*ipoMFpaV+3^UusP)~R@GwPH@sh3Y z_!PZ-Z8x|}$>Qmw8Q$5G2;n9>5+nl23~H+R3<W-beU~G?2(%vpK7~a$xA?p<L=42C z_!}54y>6auy&59PDVDJ5`=l`#y21!NnDn?{O1(D%j7K|x4+GN0L3URXFMO{|khuD@ zYp2_XVCYo5XUBcz*u_*mIj)*e=ti9Q4#AQ!RNijrNV}$mO=b{KH9oZO*LONl4J~q? zGM!6{vTzIU!*$s&PU%2ah3m*20sJVy9j!PI(kMQ7fz*Fq0+is>cq+`_!`K(sG1bgg z5F$y<6OtANkA?P(n5<f((*Hp^;Ey|hwvvxNQ~Uvb^Sq4ZI$uV8{Ewm(RW~oMmYDn& zMepO2eR?;Lm$=-p*Qa?jENT|pAsttMs~;=U(hYk-hs<oN(ki%7vY5zTHZm|j``rE+ z#g@EnGq$~bb1T3=JGyHnL(9`f{z(oI?3I3TanxBf@Dj~Ad(+M%kn_EkM;fPR;P->; zMuf(iv<L3q(oIEIUuT!(&0-;I3Ovi3`un0-f9jsMSKa8-*3nyfOaYEhiVF=YxlV)h z03#N;XaVCsnw)WYYiS8OdJIAy!GsuXnOZ;3^=>&IdbT+2r6IbuhObpA7!mI}&S?nc zPLuXX$)-$Aq@D|m0K(Q;px#G_GIPC4P1o*VSQK1nyb?!^i^oJC&XX+V1V|BBtJ1kb zYQ*et79ovrDlYOMtS49|>fLW|@uN()<#~#qGXBNr0NBV2R#96&keCBG1gJm9zIS?Z z;b5q3)p3P9(cp6MDS8%=N$mEtt5cF}Rss!0;(@qL(24uxxOiN<%IN`cJ+dJstRIru zmgPf*Cl`L#yP>glMfk7)SWZJfaxxV$9F{1<Y<S&S8hoiP&UAolD3GF;K!miW8uZII z!xfN42a);z1PI?c#>&Z^-0_tbW|4TLC?Ki*ledTTk&2ffwG*$lhk)q0jC*=HS2+AA z6M}OT)sUvT*tn6Ps+7KP32DoK*dL`3^VE#?ZHa)oeV1RNtZB#+5y5CavkUorpb|lC zFB8xQzv_5rrQZjs^=P?@fq%`2L3AeZ2C|_bm%bg>x1gaYOJVR>p2x$ghH2C7mAq=f zbA$auoyhRfmeq2U9+SaOhwU<C?b<*;FKazH5EFDmU+aGeprk`?uCHsF7&Ge)Gu3!n z{X*B!hED6C6oqAFIpsyYTI!!;mVdsCxW8`&9sS4Gl?!}rc%*wl2{deJfTBA&k6wd( zPgYgY?~&@5Sax?<hqLd4SAf<~2B68#EwfPEAgX(L$!EyoSVWBV&f9~14hlkPca$(- zT^Ln^ygnnQU**`EP?EadKN4vUfI;-*<%fQw+M46%n^$298k8G8@F`DMuIb?adhb&6 z1DO|*R#=|3YW-pckjR&Lvd@nE6cz5j=HP8M;;8M28yf3;1rs9|mV3n%hx|poM2zU< zbN~h1N#n{zeRNs3ei0cNiK0*VT>kUPd9FlAR|hvVY?FKu1-Z2ID;heAwY|N)Vc!W6 z9~CI-+yNvm-rXyG(cgsGhjTtpHeu*?H~k0(the(?)TZ1x9yco+Y)V^oZ4~sc`ElAM z*V^=-w`r0>D%gK?Q%k?{maPozTXLj+s#x#Xx_rRpE{`*g4)?lF8ehsB&msH-tLLl# z94$VuHhEBHbrW^(h!z+~HToo)jQ6vX0l$3EGTpQ1q;FUI2^gX%$NlMYS)&z}vQ8Oc zLk1EpSC&GMnHdv17ui!~`#!rTxOj{Wn7im6-AI%>_1Gy*{0lyz=PV)O4+~~>uP*29 zuxR*8`;3_UXSqy~!hE6)aS-7^=m+y4sbTjI2xvUq9iN)c%+1eF&>RSF%cL<e$-1r^ zpo!u`>>{k=%cc=QW*Dx1=a1}}Y*Vbl;3$c~!Oxx<PoXr(clQ}A`p0M@3!*)}e?OJi zmwTkX4IB1tE|!BzET$KUTJF`3!9VCRpZ((~jREEEmH<U9^-TMskES8Qn%f5o4usE1 z$MWXt%Qtme0@T;`_LRO2Ch1QhQ@3`GF9pOH140H<-FXU1t_FRPVTavaHBX<LCSN~b z0@coN-JgsM<hFy?SN1V_E}<}&A=;Z=&6bEDrhH8K$Z>PGr)Uu=f2~>_E|@497?|7l z<|Y4`Jh>wN0oN6M_DV?u>jc0JEC<)ZRc2`0HRfe-FCGoebFt5MnyQ#r1%W<`v)jf9 z5t_PBGsaw8gOq(-lNQ5Z`++&tfB-SGHh~}S-p2%hXcB3}6$4kayQT5Xr}_zoH;hzk zmB8J-JFb;($eI>|_;G38J!EzT;peYXc3_eE=Z-!^IS+H0)m-Gbtq|(+s6c6ke|$x& zjpVj=VwQSnw-;xjkkfDcLjJj@f8=4-DZL<N)FyxeS%*;q8Gf+{QN_GrQk`<nZo=@B zq7T8Rx%d&-(mbnp0J*qxdq5S3`_Yc%w--A&Znz8I>>qvqbI`V}+{&xc@*>;|IZ%=M zBa4yVh`T#3(x$*CxPcgVIDv++e=rxh7$qQBpIA!%_!X7-=H4DS^a#h{g}V{=DwOn2 z7!QPw9)V-mq)z*`EijRgf=C8=9S#}c+KU4|)7i02s6|NB@!aKC&sR?As!W-VoVojB zF?g9w6NyDF3IeW%pIxaDog4?JJ#6%y9IY=MR>R9J|Ir!f0)mjHD3WucXA|Q3q6kRI z=Insex~clsh)&7In_w3M!+ViL{1p-QuLmR7*VoP$S~)GnG<`VaZwIerW3PHRPzDF1 ztJr}RjnB)#E9QEJv>Pfs&;Wmb(o}m!%P|xL!873R<i!B}hkj=?w1}k!ePmdoKa`6v z=^wt4XF}F+9W$%T6X1L~H)rRgktz?t4Wp7q-hFlQLx1z#@%ZN4qH1D^)^fl_(tDgR zs$5wjr1QU-!k`da0FR7P#o2j`j0PVI^bL$5XY|40Ul*V&hws^H%u;Ul?{<1aaNNA~ z$jHyxclu(MAKZ>%GY_MS>6lwFOJ0EhFNv$iq76=8UwVIeDZ~)cMce15OCM?O!_Ze9 zRa@x=Nj30^+gJ5rb%|BcD)zsNQyg@u8{CKoYgK7inmXmqYUsvVS@`fyMC7hermbLo zee`Y>bg~?HtRJu*jp;A{Q&8bEy7-xomI`j@);kGU+r5Xt@s1Gyu&J>OQwLH|Xy|`f zG{+9mM+NqoO?)uw8rnz09*~*X!6C)y_?&6YpxnaiyELlbJg#>wOo%tGW7N8fb^Jv* z0iu~irt=STt-HKmTvT16aM};`AiFz>7P<xAPt(IoYv;|G8Wv&TvPIg>O_HZeXTGf; zv=UtI`cX~CMJ#k;-k{L^Cl_GEphZ#bNZrJ|y3fqjd5IdYz83AqcgCsZf@6}$OL6Wx zz)&?)RMFsIO>@=E+x+X5c#AX_={k?Z!}$-lM!qR+x6LV{w19`zs{KJOoD5z1;}KnA zr@L#hi5*@wWW#_m#mxRSDf-rM`4(P9vj9H7E8fcbyqMnG-52Obey>P0l}Cph=6p$m zvtIujr#RIqM%Lf&D+Mn@op>f;tp}ON{V?*MqiudNvh?N7jXf~3kP*0w6!{PGt6Yfz zZ9pgUx$eli11|9x<~xzNVRq~m)GDFy?(+q+X(LRz-hoXvBq5TNOU1YJGy{gK2$u3q zj`t_~Ae1X&$w?NDfnV%LOr6d3nJ|4yk<lg;!pUm$s=3;w^`>P((uD6ZU{iA*(&W5{ zD%}WuyskQKeUj&X|9D#a%?eMxlN|S%idY7e-`!*aN;6lYd#sU_Qlnd`WP2I0jS>^2 zi;CF_imNDr0uoh1++s@nR<IjXdWq~gE}Y`mV4G6l%Jq0%CpgRabAcLVzORjtR{Tay z9dDJF+N9Zx*-^xTArR%AQ~=*-y3jl3=gW;&s`kbcgU!S`<{NenV8fHW3&XfRBz()? zzpSI$+$1h6W;0r$+}iB22cz{FBFw$uj#+&{E7$FNkE7)xS^r^_=y)+;OK0uFd8TJ~ zlRhH6&3LH<sNr_HUdIO5Ul1z4?=dQ!BNqAMp?&RLgFv~cjYqlbiXMGa%PR~W+&qS# zzK0ylcCK;XOu4C*H4MRqarYe^y-VS?=jB3+8bw1*N5GPz_3%tT7b&ozzA_0YN~TlB zBjO4-LS0i6t6b@*y+7Cp`P!0Bjc#w0EGpP2fL<(xASzF*>Sf_Q&gIJ&J#{WrnDnVV z7dKpYfm|2r|AZ1lMXB-pca%gJ&oQp&j_&Z<?plvb>`#_v%GZvomu}KMppu^DRTHtD zkO1_q{kc{T+CZlV^_4yEmfXVmGAHM6<6)1=*Vq7(#_5ptldLf~_m&{uK+p5=aGQx_ zwgd|^=uLAbbu=arBK2~ci4czf>oGT^;q9k775+qU$YN9+r->;v)%ROZH}h18s{u)s zZiT}!{EWVhuQBf*WZQS<V^W*A+fh48!eVFQM1~|FhHH61f8@t@;hT0qZl9frVxR!v zb`r|p=|6e+gJ^Se^ThY;COE#CM}D-G)vW=s(HbT@Qk9gPZp5Fp<`9?(kaEj8C<J{n zc*jd<LYr*v@A`x0VV|;@d^c293cqFO`*)dJ4B4c#LC6!%FqxvFa^|Kr(YOKeF}qW5 z_3hU9Eu$`-liWrseaI_rKJe5z+sNz89UWpJFkSoz7Y|Rg4f%&(JuIAhH-~9!f;vLj zcOSFFuQs8^-#uy_`pvoYG5rG{Fa0xbs@ACd4r-~8RjU^6M!Zn2r)VBdq@u4qsX_#d z{K_hZYUhm$o?xJV2XcD4!>*c4NWV#WExL)kZWQ=(y|~n-!k?;l;igJ$S5TXGQn^!* zZ{xbTPH?|c=7ma1p~l6ZF*`BpecNp^)F%i&f%}`gHL@FIh+^~wrx@>%MsGj*sc6+O zEzrF_HB|iNN|Cb9f{uH*43rhm>C4fO5TE($6cx>h$n4@R)Ww-+?ymocF7@v1KVbPo zZFnG#^5!(rYf2b~eD&)~Rv;Jh%YNvbX2|&tLJYF*VJyml?l#hS1}Ur^OZCn!@^4ct z8kMbC81NqleLtE@NT=Da5B?yGn7x=jJ=HM0YmEEuu=sjK{U-_FkYQsZFZ!ZV|KrE1 zoJ1yQSHHQNOyb)`vH5uq1AR!33ngV=N1X#@UseknXd}~Z?q+mWb-?^bN6bkG^?Q&X z1VMt`<#8gypMj}UhiaFgs(ZPp&Ly$>C*2FVnTNn<wj|mtv3^E_vjCT)f_I$vk55|t z1kUf14;}vi4^YTv!y#TS`gC^>=rrKV!Jw&EHyqZDBZe+DG|EXlm~ib+ZCm`>8U_nR z7W-=PLegzm4}IUkA-k%j^ceAFh1>BGXIb#disscT0z8@pC9Vp-<Q`a@vZGb=f~77o zdY2hPzGXt~xFzY^QU*y2-L&3Y+m^*LPQsHy=$}#0lYm#K<6WD0i&7&g!&Fqt?3a6R z`a3`0ic5tkx-ZBkB`H75gcR)fj7;WJ%)6{BVpmEMJ8Zn)(?cViTyKOMUx9@ioUU3U zgJXt`b?`s_Ug~b=67c?+#3;*^1U&gS(W5Fz#l!P7UEAoDh(sGb1bA|@W#fM$W2>6> zyC(1ZTV3%8u(BEtbh2w!j)wbsjfUs?5=!wYLxOlMeCd{W!@)tXDiBIwD$YUe(NN;4 zYrvms=1$kqDM`468mm6}*_v0<LF;i~+fhtC7(KJ?xi3j#H0!zNmj(Xe-4sQuZ5mRO z63>~|toj(R$vSoEd8o-}8~bvNsFkyKT!pv)3b3j*T+jva!%gPB=7K|D6MW4wiLveY z0yufyiLF<s{Jj|&JOp>ugM)4vLKcg6TH{GD>zKNRb%}$z%<Q2sEJ#oP26e+sUB{-t zd@WlAn+N$n>i66Uxsmr5qw8D9NuQ}qbL72_Js91IASOC|SIM5ci;KEx@v>D`mZ|dK zpgGlEhq!^l=>Bf(8N%uQXNK3JiHj#5fJ+|M5wst8@_1J*b8c2rUx3Efua*4ZU*d`w zu3>W?_c#TF(>z={A-@{9gr9S|{oe4dOJboa7OAk(2*eA_nd%up{9L$I9>%s4fL2*8 zVSA>QZ;XKwyYq?#q@sQaN=6UDVfZ63lEc(M8YDw;+Q2uo!)B(<N_i^tOj4fV1vMh@ zDRX@n*I5CVM8390n*hH99M;k5)cmajnqyeCz;?2t6tk)l6ifW-hG&0id-!gS;tsLY zIxGT_Rmgq$9B4k8MdW|DQD7Zr?`|O{1P>DM*&9SL<FR=nU1UAqmz*fxqvV&fx1XyD zx@`-L!?rsdd1)1Rwsf+G>4E0|a}8N_9;d5)@1hhAy14dVgpU{qfjjH$b#8Hhkmf8a z79_*gA;Gd|jT@4#!w(R5=Tb&TPT?2{Dq|>df(2(P3I@99<}ElaJ-x5v6*<-#>uL%j zYRy>p#xBez#k)0w58CTtP&G$cw`NR=K^+}7x)<<UuKyH1*XyBMNwWyU=bu0N7z@@- zQVKAe2AQohxiq#?&DrDid7LE4f+pXZ_(7mENK~)-7-cQk;&5^DQ52Rx5uv8~{{2Tq zUh;8;Kb}+m{rw{Zbz<A?boOilz0v&}tH7hHI)|Ir+F8h8xu}1$XrY>`4^ia#qNyHC zE#Io%CmRRy9e0L-LKKci6S%=T<Y{Ph;=z=fv-WVqYLAm~-S_ZfWpJ=oV&3I6X9#hB z02OCa85LPtv0FM|sI+|6(*E7)j?5?kfPwa&+zZk<#cXi&@VWeu0CcAZbhU3?_PayB zUuOkQav$a87JZM4H{1;N-M-%0b2p$^0RsbKE-w;dnmPm?wo_Zg90`gYvk>0TE#(>( z12UYvmVR$R?kPb2{*lYjh;dhQn#TR7z_~LV_sBPLKb__Kb}cQcbTL9stBo<yQKP6A z+cstL>YYgaBF(^D%j?KmW;!XVR-~llf3WC$2#q>g!ABSCqE>4P^0ACUuwatR@dB^v zr}BGky`J*kdA_A3sKikBI&WUy`%7Md)hl@art8A?p@p@3?1WCP^9qkjkTrueFJXRm zc7!vtHvn#4<^M43<!o?$j$Ke^!MK<Hl3NVCJ^N^q=Zr0XLR#|O;NX8_?=8HdjJmgB z6a|%1L_jG8q`Mmx$st6#8>G92QYn#=jv=H=Kyv8Dp&LdRVCc?)p$EPjpZEEF-}@iD z>sv2NSu7o9&V9~4dtdvy_Sr|Fu%w9IP}c>?iC3ha8Z-Lv0vDF7!m)Ii+y%;>nA9Bm zpjB1$8SZXk15V6nd1Z%qMfu1n*UwvWV9mwNaQ{_YZ`s&Beumgot!c8K9*33l^+(3M zJZ{}oii69&UpW@jvs)C#U~q;u-+PcNUDk)k{gvknIjp&3I<$+%S*_q^YSRj?7^mc! zEd?=Z*Y07T)7jS-II`!#Dw0xu_Gr54q^RW)=Us-RG7mK!!#*;J(~jEf$|MCVC%e!$ zZLMocynv(e7E3#CMw$(?mOCv*-z2vH7c;U!v(Cpe*Z$g;tGc3cJqo{(PzBHH4RGNr zj<-2e`(rh4H_*q0BN|(xuqg^jCE&>6;G44=4eWiyuX^Ez)=L8xLTdAUJWkV#sfTX0 zPU=@K*5G-+xc%!5F@reL7P-fn2@FtO^3g-=mh)@;_}ar^qe~6tMC>7avg@szwUTwt zqrq1D<u*xcvq+zqG|UOnM)K*{*_h)2BGa)8dW?wz%rXFV?R||x3;5rFF11UfaRSb; z=c%EELTKBolcbYpGP%PBSEM(WM*3?V+m7Q$UF+65>^FQA-kX_MFF5B~tu`(YlB>~W zZ+EMVR$K=&)686WxFd(xbE@et+WG+~wvL*lI3|dQ?X_eMlb*tFwpx#Mo8Nd1RhYX# z<Tyo3IzJc>>Q+x>)p8t}p2Wk6|C3Em#vUTeSU1hv(`#m5UAxo4r$w~FGfgRY8Iqiw zX6fbjHKd_fBXBUy!g=pXV=XS6ZwmgqB#W>W8JbW<PEKtFyyD6D0OL_vc-3)N1ajSM zcn>G4cAw5;xbSb$rjCnnIFKe<_YM`gCM)Enq^o??cw)r6G54)Ki(8`Uue_-ZPC%Oq z*MgOs*cZR5%+xIx<#eGYwjGr`Uj40&rI|<xeSHNp)k@){(ZhStix8pNDFwtA@p}SZ z%fpo}`b}ffDmPp|_8Ct@=IhhCC%2(;dAzJRb@?VvI~!m45gnCw9G>&$T4wA@1U11U zh*~NDK^(N76Y4Ka97+YNE+<;JmNs(UJO|O?I!IbrkUxHeV=X%J?y`OAGUINtkzD2P z<PNh`^+Xtr4w4HW*lvozb}P=t|2scQkW}u$E!x<&SlbNjn@utXfc>TY;EJNp#LU3S zMLnaok!Lv2mQ(S{qa#spI;Mi$$Iv?%+vp;;!{G_D&7)@M7wc4^q0Z2H0NO`24o+I> zTS-0DCTuxU%O5iOJ3>2-9e8|m5XzS+A!Xb=;)AekQFh(N9J%GO2%n#;90spZUvH=k z$7-)Olg)3M6LRiy21w9&VJACBVaATCjWC2%Ns<d4z7$rP{ixV<U#I@BA1E??iVn++ zMHPSpz$Q1c<>T(>VpKPuXkeP+TcmaTTq!pxYL|%##>~PlX=Zsz-aeMGqa+lZ36=El zBf#*-<qIV`%L7`1Rr=oS2d~iH94vbl6|t<R6huG8x7#ba3wPh7AYYt4CtM>X<xX<2 zDJ}5UqC&fC%z8@o28VU=NnTHf27UdK$McwrTeus&2VB@e#2K)~_j;5mY8$l}T%y0f zm$PjtSu>f?WlDiK<aNcvk5sNK$+GN*UtY*28!d;VTEA$z2v%7<I&X7NfvAiL3Mt51 z3C@XQPpBs$$-s>HRuy&-ROJ{!!mt+!kS^_KG!FFqrT6g=bh%iG!8O!mfaEP-C@~aR z{)HBVEz1%uou2<@3y031e*;Vm6G+zuGV^LS)Q4L*eTpxGVE#sR78nUhD``ky`-<@W zLF{L&>w3~mYCM~8<igtB+ADB$x;M_JDQ@3b24aZI!z@q($TS@0b3;{$%PhX!zyTnp zv{v7AMFH42<IHqp!Ffvz0`U21BBRPelpW5L`T3R`4bv(&Bjo9DpTZ)xR?dTTBW-g4 zy=YiGzuxslty71X{4RGVYlKiFD*U$FUsqzVB!?th4)4ievH_~_qq&W8M()~*e8x?n zr13#1l-&EqFJD9?d3V#q**8s}Cv00N+ASS_yo)UCaambD076kG9$U)kWAq8MsIaUN zAByA<XP?h2Qu5^}uZzT)1qDKPL&OA5Wb>&+ZH<5W!7g6&ve*s9O-O;Mvx4H!aw{}c zS6qL;s?9F9c{gLUt-`Nb@U84A7Tkw@h*D?uM@pvE&>dQ5mi@tVI;HA(Dfr4gY%`}{ zCN<9<5)*oV;lsw}9dUtwgRS6)(LXN9^{5J~;q8S4_++Ru_N8cL6uds@6((ixx8zQE zl|Hm2)@J^D+AfL$dLfrTR=wx&v!W%0h|^HdQ>+la+}_wBr;G5|pn1_<X%|&pV@l4D zXu&Ja8)~5==5ryW@oY8tG*iSm8Cb~yPBtFV*58XG2xrQRi_lNM%KtPm_Ey=4QV9CM z4P=<edqU^mFp=cuH{6YetpF5`qRMcLZS|wY+U<scp&>H_A^+sF{wX@hV2py5T;5n$ z_LD1r8vj;Dgl&k0tFXVzi5Or$SZ?}_VcQL2?oF643Lt<vsz_FNN{AzbnHcTZSbx(t zycs8Zc7nuws|d4pNsNSVTW}}jI~oV2SscB;^!MPOdX_lZP!Kj9OfTLXI55oUTnu!r zGUDYG9mXXS`4%Dt_!{2defmTxili|2FzL>qeHLESZwBJ=rqe|Wz}{hmGz$k=eylCS z%ZHEgaUR@1Voa42dhchzkGyPGNlr<zvH^SOZ1`P<<-0NTX94LWtjt1ZfStaA4HByz z^cmT@DyU8g>#p6o;@%xRopuum50|2+H1yvQA}msWkvSZSTxShhskM)*Vp}64?X|3m z@5;V+_xc?T@CJ$uRqE@=*9k+vf9UJG`k(|kU9@YZg-GZj{T0cIF+*!8`zHrT&!Z0a zBiHYLYX^5`@8aORu8=cv_$=B#XgV#h_~FyEQqziQi-&1jK*81b?S@=l9ZJ|M5_~(I z0OBW4m@OkYn|>PWyf?=MNCPFY{4fhi{hzk>^nCu>6g?FLFKg=R!|w5fb;*!MZZ{xK z-qe@#4TTi14k^a=U}dqe>{0Ym<z<UK$bC*_gr(_yETJhA_Auut4xc{jaBnpk#9y7x z=h|CC1Y^t)ekTp{2DjWKU0JMvnl8*=zp{<33OHh*()@8UEM5h+j?>8HXziuICT(dR zJ_<hhNjRj$r5K3vdZ>i1*+C!%%uO${5(UM1VWk<bidmNUCg3FRs>WiOR4C`6d?Ht6 z)Qjk)Bk&^&T7ilEW<xI2tJR5#0l%6W7z455Fvr5_xj@qZq675Svc<PMeV>zF4Ok>@ z{J@J;U-lb20a+E~<8@9WEA9l2CTP>I_=2b!Rp=LyRU#YzSG_*#Wn5f*-(h?eRJi4^ zPBcZcmpFA4<qU|cuD((7_2>h}=$d7;SK?${h;KbPcH-9&-%fKL9pZ7<_jD#v)%&lL zs(Q>T>*|8O-chC$?+MGHfG7#X^`fprwXps|t;k-#9@UWAN7z$6!uf4)HQh>6-2^fP zCuTPLd;yGVu~svRYPz+4xrYm7Z|Q`*2LrZmQHn5DYGQ_>97lc~c$dLI@KWBY^1PQz zDQ?ZcUCj9m%OX!tOJe;`slS8}^6mDXOoq5$8h{|?{nzO%E!WS>129R6b7?85sf(h> z07y=#uCPZgLFO>vbXR90sYM#W@*Me(UJt$4F7eLBU}+>+L`12e0tJUj%fj~kyn+E% zxFaP__LJyut8R)nn~I62Lk4S>`!9#nCH}0I2m(A-j}b3HAf~iY$m0xabR*r^-^1Zc zl&#<<%?k@>?no2z_Z@Fjw`_%GS~5TJDFUB5=bBVEE!ssUaY;D|QlZKHXnlR*h-_Qt z7CxF#)zwRVbh#et*gX8sB}NN)$*7z*8P2~X*_(~&c%C8O+Ei#rD)Qt6+{~&>4$X@| zcRb?adT>vG?D4sP_PD3)z+;Gf%-siGI-A4iPFytLg1tw3drzlfYPetB+-DaW1JF+u z{Lh(Bw7{=w+O!=R#X%NxzT4)$Ett%8=r#9MFEVX?#|VQvgfV!{pYa^0;A`~_%JE=T z4N~eU+9~Qd_fk5Zmy^m!lSf)$B)Zv<km}QGa{QIct+B(am!UPwb-rE|Psx(R8z~-y zz5~JPLlf6zbTtdBB*a9N1+1Qg%Lq^k1i!npWm~+l_uSam^gF83%Y?7MUKBq%BCgkR z8ZZ-VDKl1%PIu;sLl1)_MFCk;n~?1}zaXi%0H^$jPWDc0uQX{avuTCgs~`&M^o7pw zbSyFVtH+DRpDV(c%iK>70i>1@uqNNvuK@MU92{al80}WR2$d-+{`Qn0v~E&zAPbxQ zm@vX=SB5j>j_k~-eO;o!8zD+sUpW46D8d2^jtbW*TRuAfWLNm7mCr>mZZK9~akR1| zqvG%$c3{qVEDuL~7j1k}Qe{EC^IS}S+4k7DVAqD%*YA}dPih3>k~0j@7=U&a%a=C= zNA-5$^Hv=hlXrn=)ivWC8>;^R$r%}kk(Gx;Z@b@MHI1DCubAilmSEKK4+RTy>U3iu zi2{7D!652k6fY>tlb$k{kF>ki9()<PQRg52y;4X;vR?FNrK9bExL+q5NB;Q^Xn0|| zn1W$19o=$@fMTyTLU&INoiCA6bY}W>W75`aeQ~lxrpY(}ssJ7wc$%ZW{^2K_k%zM> z%fJh|uR3TiPxw^z4BlEuPjA8Bz}bJz`p|fM(9)Afe3>)n6&5K&W;a^>(B>P6k-7wS zpPNYMIS9V7OOs!gAKQtm=WGyq-OgR+c^cDeF6_7U@arAPyw}`{<K|9YzaE35qZofv z;Ub)YWTUgzUW}S(S|8ZiIxlQW_|EhHam!+wBw$CnalQ%~(`ru(Z^}NX_iL^5K*UQL z59D=VQ>}%d6hzyudz4W?pxB8qXkPE5$?Lw9fMaPK%a(40fg_6X1_ohu`}Q(#dnhm2 zvN|AWIxT624rWa>=+x|rqy2N6(b2VbRU^akZ<mSafrKNG_6MIdvXgBm<kh0d<C$y< z6@Ui>Y*0;ARYA%C?N{?-pI;Q(7Tgc#inuBqJ!6o8Qd=Wok$M;aT8_-BtI)?1*{-jV zkv~@fh>%dC+Oj9$#w!dFQb*+40LXt6hGP3yy)IUsY;6}OHA~hf)7B?j2H5h3#ANn( z@^CAO#O2us;Dr)ao2KF@MY;!dzU9%e9nTpM1YWl^8(eY>^w2QW>~pnJ9)U{^lwO<I z6thlOHGZMNtVoHJof=OMVZ+b%HmO$nY9N0>d0dtCl(1;ZpB7r!`PNGfKYCZ343aie zg#9n}?td)e^AGTM!z}a&`L{+-n5K4yo^UjNaVp<TsrNN-Laa@Mb-t&~s*&1Pe*tsf z+}Uccv;)>}I<0$Qg#5bgC6H*yYBDRily@Do0X{M1JXl)6^ogzqKS^KWFH1Yxb_&O4 zD2YPjii<#a5nqhlH(ti*d3bcyG#g;|K;~zhiUWA^n2LL~y9dX;ouE~J{o)c9rtRnS zkU>*D0qPr=ktLncy6@foN@0&<tU=IgJK$lN!;^S2^}8zVvSYY_tE-j(7Z2?EEt}#` z_SUlpO330qq2UaPC}dLkGnxly-s^!NMWx}`Uh{{+U-2U&#u1W=O78aoq3)eL+oQS( zxVq~}Am|uB;)9mfV7p%<@a_wz-p^m8EOb2uUD}JOdZBD=z)|WVQhdag!18cdsj6uh zGI{<-Q%4DXcvKrHmS4{|GdNezYMnf5@VV)+2a;FEXnb>ApCvpFlA+@nW631fc{IF; z=wVVACL|XoeY8px6w$4qcFCTf)QA0x%s;XAu;ixG@n~SR-|bk53vxvKJ!w>(r~ULA zNkmRCF{)jELW|RSljMsoh?{6Srnov;Ph#kDBi*=Igr3cuik`1!`h|YK+0>X3REHz7 zw=w<nl%IsXzrrlGs_XM)k8?)3LJ=o>5e0XsV=bojcXx(pK<Jt-5S-dIQz5V3>-@!X z9B+KWA0d}d`}qoAy0T4PP}q=Drx?FVp(lR$?C#(9rXk|&k^M64<>np^CY!TZ92{lK zrlN#UaA+YDD|@^WfYzq#z3mYB6%sTdko+&h>)l+aIDuLL!4HN{VB2V?ot{4m;0P7^ zx~Vx8TUT+k`{ecsHp2OA+K22pC3Q}5WkiyZSUOEg!?9V&ooA~SVmAZM^AbK8K*;RX z5g3-hbmd=aGe9gX9q#CpS#45ErX*+8a|a^#>1a;Yu#z*<Vf#m@6qWR>tlAf_iu#Gs z!S1MS{d$kM@2HQdd&Q^CO-SwI69Vp(<h7CZDGT(N)~@I#8_r|Su)~3(9KZp`^jg-t z)IeC_4ybEcs`#W;$EIJ5DFaE{2VgM(>yM2~#uF)GTKF$7W`RZ{=0PC;uG4`5F?i!8 z6MN*duSW<!o}{Y6(y}%#6g&g5Y9=D$csLRE63{pS92^Im5%49f_d?^iPbO6J!6lt^ zk|OKGg&nj!C07rLX%`>IIQ?KG<m9~L>Pf>JF(|(3=Cr?O5qBW4U%Z}9#1S*J(xW5r z%Gk?|xRX!lw<np!q3C*2UmuSL|0K7tc>h@!3GV4`es)v5aoh0D)!kn6N9FL&;{i(Q z=um7Q$R-Wts|1CokwMQXGhQy70uJ7OZUYR!hx0COC09M1W-&rUDZrrGX*Bk%F(1!c zo-ZKk_eVFWI_s!h*J+jo9wGJ0wt7@Et^{vV@d8e0<f9{g`TxKP<hxno97FB6dI@|a zwqT^3I8?B~=1NX|$xXyoQuq6fDGPyDQE8NevB}#P(PGle2H0}Atv58}?k}qYXndwb zmVQw*9S$+ozxl@`D2u!B_FWHOu^4S&q^?oAj8^43)ilVqtZjU!EVDZUx=~bNlBBTk z?S_a5r4jEOGPwJ6a|yr=qO>!y_2GE|PUb~HQs0_EH7;6lz2@~}-f<AWPIaxs!;WF` z`c2fke~B-SX7Anq)&h_Pb}j=9V|H<6n*LCBfH9DITO*)8bK@PHEmxEh<z!?%t1fJ8 zxqtxo2HD0$V_4T$Wu^T1VJJYI(&q!3aFe>m?4}jEW)eSAkxPQR8`*rwt6=uTriAtH zq&7&*u+p-g6y{tvGuc0waf?s3Y)YmG9zG4T{`2Q4AOD2Y)_c(}p98Fy+I)sA5?0fM zy@OoI%El0aJ)=@S%<N$f#eS!?0^<|fS`WM$9nqtrTwm=GVm@m^?Qe{A1`kxkZ%7E- z`9TF@oQxSlJ*F%G2O?p)PFm=h_6)nbYl02la9Q~4n`^b7Sx(iq4eP_utLhz_mn|ef zL5@E_tC<0iG~?Rj4`aRn2^gDCa1y{RF`g22U6GJ;W6%AJHH)V&=SwSThl-YW-*>#y z*B{$t8|QV^Z=Hsf&cF4Q;AD)Z>DWJ7yqmME24n;*eG1(8*qLzHUcLyi8t?Hj5inpy z4e7Lo83iDuGjT>EwbU?%T8-e1tvxdvo5a*Dl)Y$Za=yH)8dc769N?ah;K=h=&sOs$ zCRgA!mDv$*+HOWN)jU+5|9pqF*APrG^)zlA6xTI><2@=zKF)WG8=NVDK#=!Zl~hJe zQF-w3gEMVy#frwFsI`0mn`~J4OUO%mr^Qq}Q~+haSMR@77pWP@4t;r~2GALM8o+Te zfpLyXZ-773@xRM~-S6Q!3x5825pDXHGz7Szx%t$8kIac{;|kJhay{d|$FA+*CBAdr z!Ag0ZVDw7YpgAT1YoBoA>pUqTpO3JoeSFl={R~MzEi8e6z^FTIh^{Yl5F_~Ph|1X? zM4YiEY5>pvmvF5Bf2aPVZ}%P|lQ!=qF-+(ibEn`4JRT#M`)Nj9DEi)K)y%c+gD!Di zR_&uqBy=&gKWZ7!3*QP@jn1k=_o&7c8TuCv$Sn?mKV$Y(N*RDoM?ndY>8SUY5~dZC z*h2l4^|RB10D%cGK+6+xp)^9jOTHxmY-vG3Kyps#Nt{B#bISCeEw!;@?lyZAA#d4U z7-|mv%obC2cYl6_$1L-wK#qYdEJ$j_g*0qahox`1zt8QqqUK^nmEoycgo+}!Fh2-h z>JPwbV6roS1hDjl0PsErO0NM}5Q(0on7IXd8RD3Gs}^}6;F4!#?L~vl(3vkAJ=sG* zIdA#1eYjxog4qaoOfka_U!Lx^1EF4X78)?_6(CUMsScddd~SSUTR%SsJKhmXv{=;1 zDmU8PVMrMIV4yR!F!CwONQK_AN9UZFThQS|jX3;+j%o<Z3^3t4pXwZSBr>D>zVm=D zLQ_)G5hETlbS4>}kSZ3^&jBd1&Y{10waQ^S`oO(LgY{aG>+ws{@W(nfnX%;RS_x{T zoQsVCHv&)N)PmnUgIm~%0XKWb8*{Z{@~uZc7%6d)8~f6>pRMo#6T@Lx-#%$8PB{w= zUzSBou{~7N((47P4JH#TwsBS<6=TiY#eF>fdz)qvkw_hQ)DT2}d&|NRM5hAq(hhSc z=;YJmn}jG_m@`Vnx^!&a(P+Uy5cvln^ziYcW0F%}y?9uW+&3~aCdc-Ifi#?pM?&6O zp3NvKui@QOZQyuEkJKS2#_&ph)}bbR#-e0KT0n*U;sGE#Z&v2)se6kv7_Z>Ei%QHs zlX*YSs;;Sw;KY!r*Vc?)1_l@($U4SSQgvz(=UkjQr}|&7Ph+m|?tv7z1Rq;cP!A80 zZz}yTD?ps>)%3ev9k>te-uzdgII$Pu`QUQJ9QDklgHK!%oWAcNb=jY}p11bw9k1<| zj8o(aMR}$b*K*z=Z)+FppeMBVQUAAzQFTItIKi{U%ed;aGPa15A*GD<&?K_9i17)M zxe+jZgO8lhhp}0?T{D+o<Zm=A?hj{#nWnC#T9E7|4z2;LChTB?p4atAY_ug{asf~@ zC4>TkGp?UR(aft@%Ri(ZJ_(vHgOuBg^YJLl%g1BeM*Oa|4?Ri}*{qwF@)r9O2P0e! zY{w;ebbosCLw`M<R=smcrlLT2Le(ehGR~k1Nb7^kZ!(>V^!dFUn5&L=v4FVI?321@ zdxWYa?pxwcg>3a&y3*%coozOfkprNmrOah;q|x0Io4{S;-qkhGxZ%s^%*3_GXNLf> zvQ_L-Tp}Q0-O;x2pc$JE;A`0K_j{iC8UpSL@L~Wzf(0ZzS;knbRwmO!ey;__Hm@!L z1~9+E#V9?sH*{QzZW)Mkvzx3@;r57?&sFOj6^<%T554fCVZ*pI26ylYckJ_5GEQpP zY_0tSJ@mUlX2F%prR+)r1B0%mB}r8@`asoMfTfzCIZGdi`?LPgpGp)Q0-*FY(pZ4_ z)E0O*y?pq=KttI=I&I1>N|8YdxxfU-5aZ6xp=<de{HF$Hegw}f^3Iy(2{NS;GlLU{ z8WU@F{vehf#XX1Q-}==`uZI8?4k$#=frQ%>7I{Sgq`0S(ZOACS1%NX-J|O~f_kADs z6#XuDN(EDZvy2I8umOr#>}cP*a7Vz+K5D6j*^5r7Cvfwmz9hjnO=Yk+j148+1J2p5 z#0_%c1Np|L;>pvh!S=R`09YY#Mi^pEHZ6vEc2xLc#w^x#j!JFKe7b!FZA$*<V%w7Z zjPA*csLY>>XAjRjZ}whMbT{%cRNi|hYq+MBNx4u$<AJKVIU@4Tkswsd!5`B7;2&g! z=`hHtR!jH2LHD}}k4WJSU#%Tp*<xFr&qRZhAt{z_Zn5?FkH5L@Bwasgy}mM7RnXK6 zneG9VQ!aKG>E|!sT&nq>&XJyI;l2`nt98ocN~)d)PDx6I>kwhF;e;^UDYP&2`4#mn z8pakuJa=%Pmi%W?R#f|<Gl$`32VcZ9#_cM5h#>O%^L3VL-|}mKk+tuodk=VgF&<?l z_ti=#rlhJ{N}nNa`8cezBqXwI+a>P^hYIfa<ltNgy%Iw(>1bF^Rl?E_7_a_T-IryN z_=JQHq|uTG-F)@Qra%p&@yic?Wq}}FR|ZnD(8*%wO<@ysK=bn6%1xR}dE9sJNLFYE z>G^fuF4&+YTv*&I4D31dn#F1w5CD1jc-qTCW_+6uUIY1gSg-ZhI{_x~-a;g~wLn9_ zbNY2o13dxjd<&ghuG)lLJu!*&LXjnbA-(sbE&x{vqN;b<gO)uZsVQd0UL>7dLNm3| z04i?+WnK94NE_X79ePD*vwi#v@9kE9B~(7UFi0}q#GB&GwXi;NEw1?5^0|uQ(YWXE zQ3{z#x$x430|0BBzR1yQKNt%QfjJu_p}gd?%w<K=7drs<(vV1{dY_R5AJE<oE-}Yw zB3>X;*#sYW>mUUOaj8=%@h|W$&3L%0e&H*^2d^)qE{TRbP02_6orq$bz8Q19;d*Rr z?)Eif<w39c*3fIWO>GqhGH6r4lxEWS9Pb;?;m7X$lfjJSK-uA~OyH4bAvmf4G6RU8 zh)5M~2jy{Xqd?elFVd-ysbG5zE8RdGs3`60U%sU?#M~H`(2rN*o|xlcUt0ul-rBR? zBu8cMQB>-}=%Keb5N<`w8lcuo7nmP|Wmi`xC;EpTGS+clnPC3AMku{VM--+i{rH&R z9g}i@T)|lf+0gHsJ)6f_q)|1n&8@E|bnL-Dg#~%v!B(li0hJ*(%YWMiG5}clCxJ!& zS7k&jT{)_?X{zfq;Oq$**hfgv`0YytX(<ZMba2RUx<k`byYkA2ru)Qdq>l|)!arV} z>{)lX8%WeSCG=}G9-cR;Ypux!Hmt~6XS7cAwjGcstU71-qYk7Zb6W=84FJu8uE7Tf zsP9};8_w*2PCyxn$MNwaRrNHKrThkqC6NFfmS7A0Z68`$OiZjcPM@E@4^Dckq~UFX z>WM67idHjtQqbthWHgnNA3GL{mR%Q#>PPRjy!&CJLt1qt4-_;2Nhf>bi$||k0Tpgk z&TIO8IgsM0vkXS+`Qb+^A50w9=EaPt0Ut^n8C1x`>GSJC3kdoe3C=j7FmDWve;>f{ zy{7}JgyZyg>fW-XTRMWCN(A^LaRcuFRR`qHA-T&lN|Z2@(=ri2ZSL1{<PjHDao5l> z`8cjWw1hxjK1tD!8gBCX{^vrMaL-Z4*#M|RBu|%HI0XYFMO!8O1iEJm$k>4QHFf5e z_Os_Na!a)p1V4u)=ZjG{I<6ebBy@v>##)jxn*(A1)rP}pcdaMOuiyVIBsC+iq%ryf z*XKsQto5@lJ|H_eYckxjVZjqr#0h~txOeqFC&oh1bd4+)A3usmFmvV2HU|L10VO** z#o#3|;YYnHKXhtG*2}yKrscTtG*RSR0Z8{cdTfrj=V0T^Z(pTge0GP*80-;M>(}@& z^eZq=JYtD};~n|ywJr>i6N=bo0OWhQw*8!}7R&yvNJ0K7Rk&!^NRN=D&ke0l>Nc?5 zAmV`l00ejt<?X#ym3P&Af=-7DWI`iuTF<jKK6<ADQZ4{ZpPf#SkO3*C_W^mERM%5_ zNY!uqg2F8UNPZa1Z0XcnP`pQOH`^n|USz%SAvH#RzS48PD=`E~R2yk4{<T3q<jdlb z_{<o?Am`C#zyV6c@q6XXIp^))vZEFutLyXD)d6uNn#wyt@+>g2Y^1Lr>jA%HH|I@w z!P#o4HcprKCe%MENx}pMZ<#UxDwKS87eR153no%EYYuleZZ0tyZyn|W6^R8o8#+nd zqrLFhWg!4Lz4Z^;+{LTdZqTpurHZx&ZiavtKb=`+3lHmM25Qx@q;j4DOyBHj%Q)y2 zMwje8w%PQyL}pTch%OjM=D`^TM28Ufr1~yn(zu7757kO+=6rmhN*oRZy7n)A>_P9^ z-}T1MY<;(gvj?hI0A63tis$$w8kLio#;X4}XY_&WjBZhxZ_~SdfHrt4ivV&=z^+jz z(?`KaUi6epZS!-t%&;b54&Z#B$`ZL0E#m+_#?1qbbq={(Gx<#H{5{1g=u5Ue!mEi| zEGlxju5NFOsDqsKxKlJ!r#CDIw;qfkr7>*!6G|qMbP|^Ir-3Cy%;Q_Ew)vdD;n`20 z9h+Zf4idffc<F9)J2?QQkRLMBp%)j<EYaX*Kh5b1FdBW|g&HAS(})JVXc&D`6*)xi zab(ap>HUbllS>SxgDp_}iGw4%x!I5WeFzo<F!d_J3y&dGe>-Vd3Rf=$#1ShuaIp3f z$sQ&>jcf?F6})(~YnIBei+c)Gn@Q0<#V3qpA6z#1sPklf<coOFUg}7-yUJ6*0RU;` z)eZ)f=8xhEC9Ey;RYanj6AT6S_8z=pB3}U#oqD&taG>59P)^B1-ZGK@tS^dss!~0t z)#~r5MwKMu@c7^|aSn?uOqz*33{VwwZNeFrZ_nE4oIrz-1tA}Re9-*zQiTEH8g8Gn zM;Jes7fTxz*UD;+5Qtj-U`TqS4Ii%DiFWTg{eB<Cjwcw0<KwfR@%)bD8MbJCbr=a5 z%o!kC76YS2<nllMt&Pj9o8&5Fi#~EykyL%~LXZ_Q$Sn%}Z1US~0)6!^_WYbaMy`-c zJ{O=gR1{6vl!oecomPZ6@bKh6Zq|SV-qSAfg9KLC!t3kr>%$FzD?IF?Hm8LZJL##T zpUGs2MuALiUPQyBtmOev*i~x}<o*C*amtQdK3qV99|qqIHiiNP;DY{F)PPwDA9i8l z@bW)elg5VUjy-4VrzLqrjDHW9i89gY4b9*75Z3g$w8oL%e#wB;{E*Ocht_0;IK_Nz z#XLEyN<goA*KV9u-Ho|~n*hWCK=%P5@Zi!fz8mx)_-j}8XovNPy8%%B3UGm_%2@tw z2cQHEfSSo66-yfd{go-1M#c`WdIxrVuX#Zr0IN{2TrLU`0%_J6=GwyjC!Qa>6*s@Q z+D1~0(*wABN^+X+CRDwNnh4lkazg5Ln>;)cz1xy!%#mn~rn4Qjeh1RJGRVGQ5g%SJ zNxt>tNB19wCgQH>EdpgrfY=l_HK!!zx#qQa>3W0*h#@+Pd52(eK#&C7W0mU>=#t|j z6JBkyLRDR|>8q5x`oKSD<+&Sp1P-{TWU9m}<N<{rW3d~>bj|iK6Mz3NiVTf>@|!3a z73>e=;W<h$+abETwV4ANEjrHkEvOSnL$gNwl4cQ?(|qFb-DbhdryiMumQ_KWS?m;% zw>PWM(nilu91o23xTyFKy&Y#Wr}w<JV;%BU&N_uLSxwU*zU^yR1rM$|jc?ksx|*K( zKE`J`NVJ#41wh#?Nu8T0^Fb>S=Dj!Y5Kyot-sr6`?i(&>4r3K$*cI5{WVoO9=Cu59 zklpaJ^1%{lQ98FB9b1@{ogggpX`J(%=j0|Ub2|hSFT!2N#bY&Dcyop$?4n@o`MjuS z7^GQ>Qq=b|kj9Ivx6Tc@`~5@);$s_F|7&+6F)h)X1?_|QM)-pAls(i9Xv@jy9=8oz zwoP{|Ah@`i3?F<7g4#)Ta(%LPXse}?Xqb=(Jk`pf$NhP|9(RL~P}l<;O#J&CiWx>4 zSxKN)9so=IGQ^If%me~YnAZY|ye1H>yaC=oZ0Rz;X8wlW+H!<nFp{bHUhez9XNY@E zegJS_M<bc7aWlH^cm54(CGK|Knz6+gqVCi#??s3pL+<!XhFC9I@+=4uNp2zdj_8^& z5?qSAZr<hqjLEL1|2n)*XZS)b(C$@#Wl?!4Jz)LO`vbN7N^x^aXmyQv>zn<TwYwiQ zHQ&8lD9A6qGSk70wjNX0iX7h0E6XqD+ARIgaR(AypeFe3ww)+p)X^soSn;aTo+aX3 z1X-^yaW!wZ&V#QX%_u3K56gKnPb<w3*K10SBQYq%4v8OJb21=nMV?k1Q^DN<y*e1Y z{Le0EyX97uR?Mu}luj%t&Yk=j@h|=?_ePJMfZHok=oUd@e<X*+5_;{XoJ%p6sZ>C? zpa*<KbA-PWV)9tmWJwk9U%(eL;iG0x@@VTN?!l|V<MhY=6fzQ5CtfHE6+2PMyR*)1 z&Zs!wJIQP5H%;?bH~-Vf=sh)e@Vw~6t}J2NJL^QMkNZB>_dFN%W;FgYG~jz>AfPZW zDt5LVdpRkQ!SBP|6Sv|^>~E{||MRt%2OKJi;p8D=pvKZ~bJtJHJH9*#N-w#w^H;33 zCMVDTWA)!IP2c34KW<=>d9XV9xHOFa`vyRF$Tw94|7lloJI8XP|689!>Hn?IA<6&N zAn_yL|F=Qn|NX`PqbH~HQhx3r*j&NK=zmr|x5w91YX1{`ZZqfq7@V{<3*@}Zp|S5j zJwyKOy8pYf|3|Ov|6g`!)BoyO3i#7$hqCS1L7l&~fy+YDRR(~3ewYlT^7x&%AhEW_ zz})Qr^*lYbm240<2EBO1n$Y<NfuyPjI9FcH)VHLp9ze<}uPXi5;LQ;vuAjZj-5A0x zrf*NhBtpaOqGZ6J(fX@|n<(Vfb_MRmwAJ-``B8u$2kJwnq~t^=dJl38CPc9g3)qDI zCj|8{CT=%mCSx7dx-o#dp6XY*1p}Q0D^omT2Guq&b%uOcaA#+IsMANMq?VQ>6Y^ke z7#}|V_?ysCfeOx}f}0c1^KIq>$xGx>w-v=<iN=3MxAK$)QYBG=pgOp`Z6(Nl%d`d0 zM~C?q5=3p2w9L;AuLZQ-`Q6TiGO4pp4lWPx-b?ZiL?V+K*BhS`?_UuF98ZxiEUzT_ z$8qjFoIS027D~Hi_rJEaURN!ZJro#a_VP-M+D3Dya9N}J!u;IWYJ-CWzGn}dfJX^? zoR2&F<y91w(4ZC3><wnI=w^VX`Tjz|^;yCB4l|nbU!Z#uv%4Y`RjUVNkE7109zd^b zPoMKhQ;OX1uN!uCrljb^incaQO<h+1@1(z{mb{IPz!5oWlfQnP@caE9T$H%ue22c- zo%{3#j@Rq~m`ur)S@hcwHQ}o~eo7&yufr`DMkrR5Kk%!~9hDpL;eah9=S_Y=Ou#iP zpew)!>m>|%GbFj_8IT%?QaOSl&){jtv#n`m<=3P)JLNd-u0c146s^PM@kq?pU*HsW zv#hK;5@_WypaC5<kbC)%&E$<f+t)j0Z32JZ*e(A(3zJ&n0LRve59QfM4O^!%s$>-C zI4n)(E2o0AmPGcRLJ#Gmt>^0GrFM)d?XYW~{CV*E8OPlSt_N;OGO5o8KXLeEO3Dxu z%Pk4SS_<sLbq%R4hj-3*_XnuuGtUQ43#f)M1%{=UA7DeZ#d9<tgw|paYCnt5!`<P5 z6xGf;y?_0>1KDRVeWdo&ss#<>>{|~&)AwH&7aNu}(ln`1tVO$|nUqIOPHaSCyNh^a zs}>B^7K)Rr3ax!SiFeV^C>=LL>X!>gE%J-kxRw}#OJy3j^(N=3G*b)Sj29QztnHyM zCQ=nFjs&p&eSNllvyo1(IKD&FG)Vtkr781=b*jtXT{!Yl<(xbC8i5?I!o}_^BlN5- zEVC@xvhlD+bQ-~lTGhqtU)lfCxb$x|5S<Aze6CvOW1NOSZ{;(hqoXw=g@&9uHN_9L zhHYh!4yZR;)?{{V{pEpIYqZXtC4skw$x047L}_M!wO*Zgxa(KLzxfUl%&b4`5$8KN zfp4EX251dWfkUIS8l_vB*+ptS8~x8w4C3e&84VvVmH!OAZSvKz^4&vChIKNCVp&BB zkCIf>bp{e1tQ{zDGl|@o?tCK8p)uQHNCD?im3DYf#b|>@1R#t3((g<*pNV63cQQAM z_;Ut=46EfOFUN=pj5x;gI{NNKO>!H6BwLjC1{5^n6AF8lV?`-Pilh+evGUVxb*^kP z&g($`7E}S)?)v_zy$?v`>NL|@*2-5uFMMwzWO6cfZBq?)hykM~#YLv5KFooTlSU1h z6RyCth?q6G^@8oSb&9Oj9>te_o`DQ+#QTJ?;MmR-CS{yK+KHabT7=g)V_Y<pl+=t6 zp)<|yB_3%}h06<;e&~l#|C3V+^~HteJO7yht*8;7SZOnvF~Jf+CAHCH=0;{=swtwD zVS8_Xt^>o14YiBK{JtZT{p{|B^%Dg@^l--L-ri@ArUTJ*-KtIBI?*76T6S@9Uxi+{ zewA3M|M76m#aG*;GVL-SQn8%jn@NxK@S0CR-3aikBa`CTGlwdY`$SDu>KI1kgrvWR zTw$|ix`24KEb@How0hO<J<RY5In#833pSsUGjp;Y0xoOqc>yoX+3{Mnx^NCyFsR$X zyMQsmOH2>i_eMfg%El8NC9{UFdH?>m7GQtEYgP2@YfI~@rZ}dTc>d+>qvpo9IKB7t zGm*~WmNw(=HvO}JoP27%fS4f+HBb(fQZA6Pwsy#?HxQG@D#QDwDHKLKs;y8uWJ4Z8 zJDOaR8Lu5!dzG(jB46zLAzEDQ-6wJP^cG*ofR{cEnvKH@>sjWUdL@$<hyClynemPr ze`*cDo4a0+C#P2`+lWjm6VlW8)r*;%8jkrX`l+8rgcGaZ3F^zODq4=wSzkOQJ?jO; zt{HWAV{*TpVAkBJ!Vjr$7wF}AFrBJ*BXAqy<_B3T=+&2>?=bC9Yvmzm11`1Ti%8}P zvP8+p>cD@c>WZxFp0HAep}Ow;=6km<Z=9M>8}sR7EpG+tFDJ;g)aFuZXY8DJb@RA5 zXLsplw!8a~qFYxZKqTxB4So;&`43LEUe)ZeFVdWt7?Uh$d95Z*(Cgm3V9)Z8n@o+a zoH`{w`F}V)C#H(8ZN6?)xfk!2tDeNVH$aW!5zpA*&Ha@Z`)VbAgH2kuvn^-1D5nmP zSvLCz#e(DtVXbjW<LZuFxhI6>Ktb+<);rpyyGjg;xQcw1ObK*mYKOIK%Axnk>ckMm zYMA!Ddaag%P{aC_a$%G^F1>})%nv`b<7TjtJv?eAM`Y65|E+@O+px;Ob(paFxNIo~ zPV#B!SJSBH9+TE2e$oVGj0lB0M<J_`Im&L?SgBx;x@0aK<Z77&a-0BFXr_y>7e$=n z-;T4lpb=L7#*ry6`qc!PW+CUVUjuHdYhGR-?`S{DI=vSzV^-Ngx%s7BzFwcy=iz<K zR%5p4`&@b3&L^WqMgdv@hXelZ5nLfoR^cKt^;SkBG_4Cx%#3EgU_Bpa+V&+XzWKhD z&nPLkj$*VQfLQwA&>sE<e?4s3y8Y}QY=C7o%}GeJ@kxn{P<#|3)-ZIa)mO$<;lTpE zJkD64iPE%rWO_mqm*>x9=@p-U*0iz3iBXsI@$v;)Pf#!!)b00OT4Y{FW}FpVw~0a( zC~j89XX>&Q^6u-nu+kd2ru$!aAwRixK8S`a#;hcmK0)7u`A!x)8aH;n_WV;bS<NYQ zBKt_<=FPL&zTTGyIJbimyXbi0?t#{>oU@`Q*6<0{x_>Ur=JBwN_(3zH9G|5&3U~QU zBWXb=?e1a$scothsykOrmV!jHmwZ=9hWoL(kqb^8C<7mw`;Fwdc#f0#6h*V9uM`;- z{F+&XqUAcbrM83L4moYXt0B^Noj>=14f^7lW<gZ?fx?ljwKK73(M8C0BJ=&#;-=J* z#$Wo+2#Yuv(nTaRmFPs=n<`pEx{H6-JOl>%ncifz&1VC73Ru}aWL;TM=aY01R|o9? zA83Ek_vaQajo*~io)6F8<HDB;G10y}vx}W`__EOWOBYli2TOg8oZki4xYi4h==Tze zp^kAo7l%k|Ksg-5%<_4H@u1=)Q$`Ivve6I(=M5QND^$?GT{ZjrbFC9R`IFe!x*PN5 zev98EyzG;P?Ei8t33b+#+sfX2jSU8o7H`=wpjAqzVtI=8+?w(oJviXvbd%LS(X~4S z$C5;#>i7`~VEk{0zr8opBJnDyH&6h%_V0T1Z93s!m)ensWLG42EEZl|bZp_t#_nn3 ze%;URXv)3P^yGV?p$2LMgRgil;pDEuR4g1UAN&o6ej_}*eI{n+i<X#!`-TUpYfHxw zIkhLs(%Fa8HUi`7%2Bd;uhmw5dxa-eY`KWf=%|$p4ef=ONsj-`t^qEsAm9p~W^O;b zY5Vp(e>IxdGI{E(3!$1vu+6%h6nKe_Yei(6wX@a-RIv14U~h!z?h1*X41&lsiY8vk z-)TPYaJ;Z`Frrp5x!Kv#&XEw>X|7yOt5l$HjOJ{4E^!6&vvTe1-qjE}-MEyTE_01t zVS*RX==-i#&A;wdEg~S&fbDN1%V}<m8;1;p@Fb?P*(J~FJ<b5%lSfoGNvYd=>j>rU z&O0D2FwKyJl(MC4-)E#NeQ^n|p#A)IF3EEaNr=^0Mpmid`}HgweOj89;E!wM^A1L1 zktLjzqpao4d2>EUI8Bs)p_Huh#z@Rl5pAt<`24TY#T**KM$BIG{<g6}v&~71<jzH> ztmMQ#^4Dm4!$rH_)#3&aK2QCcuV%_}uefMqWJ>zcg@^k6-@ZWUYdk$Rcj`6gvDC<U zn_)TwTx=M0L6#(mS;(sbI&@s$_ei4&I?;@gBZ4RAHkt68%+gT<+r&b!W!QHf{VhC? zqU9W%-4e9zD$?J8q5%JrUl!z;&g!X@-mwT4zl>~Ey_E8_G5G@Wn~N+)Xq6mnIc^1% zhT#qs>y|4`>Y*`#PlC4vw?{dtCqrsLd{#D1L>@-JL9nd`8A_|o@6U?;%M9HYKYLtt z-b@H8JB%0zCY87ubN4Jfr`o1O!?{bZ$H;0f7NV<jcz^m0`$+}38K(=BWt4o3p73|c zthM(BxzEL}jHN{eWGPjZwdChzo_(c897+Noe8+tPi0lE*t<>7B+IR(C6L1f8M+ZLx z(HBcqO;sf~+D3>E9T42xO)3wcTW(#+PT)vVs~6UBX)N2Jr~^W6y)d<fd2Uf7;}7+4 zGZ|V{_tUck$g+GYx8GkU-K>^TtM612^FO^ccrCUw?@(`rmoraNJR<1lAf&M+cc;l} z`Tatf-)1jOp}!?RFstSICbaDGsB!Ngj2jx@bXM1=5bjN<s2ViC%w$Q<Qx>Q*kB#4{ zK494svt_T$Q+&J%6fQoJJfyRip!`r*Wr#2=hS!EWBo}0l$L8a=)*j5u9vA4fW?601 zJ<6ObAC#OfAC!WwXT(pbpWc+br)a%?Hi<bcsM)o9zc_x09veP2niuL9*eGvNFKPA4 zSEgzw-Ss-OnmJs0M!6m@dc30MFMil{G&4#$T0c{I;k-MA=MbMKoOuPpY=AVh1p9qH z=jc;pUgcjQugfw@(S7jWvXIPa-d`NC>UE!TGA_0Wij5Nm|4k=p)ca=}RHEbqaw=;6 z^EEZ!oEr60KPDG&lsj_$P{jE%|AU8TEH1yig45~R_AiYdm+bxfhtj`nh$vN~k>%Qa z`NoARDbEk5k2bBXQL;V>DgOQfen4E-X1ktTri_*aIb<-(Z|&?%U4}-<$AYh#o6gv? ztE%+&sl?nSk@_2l=jf$!Xk;Bbr=T8`O_%FT<UQ)uF}1Ab-m>@<x9G1CM5A#9wa<l) z{oi^G&SuRLKXjxBoa%!%N4>ZX3p=DJcoKBnCP#DKz>4l63ixT=`uA7TyhQPZWqF4S zbK}qV8b>8HF6jH2#LCT5$ZP9*&1+QaF#@`+9x%mfq#fItXQ%SzQ2}X5cI8J`GPcn^ zym=6-#JN4jXVRnj00OOU+{;z2xlfX~;$g)+xI9|@)%00HLZPWijm!oAfVgdQ#>IN~ ze^R3gBliN)$tUW*zrqu@_i*>eLq<vKn?7c+h@(y=N4L`T&||jzGk$g4EnWo$Z=PvP z>bjnS{cM!-HkfV$<;&-1oKO52Xb-4aBsuj^EJa@(TU&2~r93w&;)if>ef=~G$9GQB zRX2hZetz?%#Zr*NSXi7DpU+yvlhZ{vVVu(^;RL;oig9GE(v*_k;8|U?SEHZEypt}J zR9$U@-eMb1md#Uu$ez(O_0Vt}J6!&cDfjb`tgly1&QwyqUmh(t_^Jw1dDybq+{Qz! zIt~CU)_6v=cmT%|CgM8|d!NmSG|5kH<rZ@7r&{`4Vz&oHm^tp!OgM?OI89NpCKkHc z#L#b^irP#}PtwVQ7xpyz2Ks>g)%@kB|K$va{6`c2vZ+!-4tX0Jhw-x1GiVvBRlN0d zEQFZHa+usqUfrN<0;E^VN*dm~>9(Op^a~Qtt*CB5NQ3#{E~^}Ya8@6N<ej@Zru}Hp zFCF42-|=Xq#Ds6n?0QVw)wT<~i48HRCAI`d$Ni-rKoN%0J-YYx(aC9DpPVaef1Go- zUpKMyPSE`Avwc>d^a-nF09?rO$zR~R&HjdRv2L9!V=ENe=`3M&w(y}jiaPpqZSOEW zGiJZ;z0kf>M&`5mUA&D*=zJV~aOb*DuxR=*qWXKi25&;#@~G%Owc=TeV=LM+K^gKc zCXPJoRESH_wWF0_e0s99mT>>K&YrkL@07`Se8<&8j7Y5YA6sMS2BY-taIkDCO1kAV zEidYnIb0j{`}!1H%_R@Ren}e=2hE>*ue(O>QQt@-czMSX)+BD4x=gvzXLtL0hhjUQ z5LJ$k&GrGimusTn6JK%d$q+XUZqcAaRZ&y5x&F!E-6ZCNE48m(kPXB6LH1o6`~4TB zUPN3<YNfmBHV*bsH-diykPB*YGVf|F$2GUGjJPCcSmNeLvQ7m61A`ysGhPM$nz~P2 z_6|uP5a}R|$K24|C3*(J5B3>8&}jil2pB1^_qe_R6)24oj2Ac)>*Ml_jk_In)Hir9 z>RaR%7@P>?5(4YeNrc^*TxUK1<;{orClZTIKcI;6onLGg7D@v|%AH&mGfMp@_kjv* zEG%s`BO|W~dus=HP<5-52$h0sV=S#5bz$#_&O}_h19W=`k;p{86^Eo5d4pPV5lMhR z{6?XJjTe``P*1}BK|@X5Un<JYpn2-n>`||MH%M-pUG&)4Y#J6k42S}_WWqJmb~88E zG5s?k6K{bdcu(i1RyqXtE8N_?8QG4h3-71g`bVsn3GZ_%RG~`dOsR=$%Bdqhzfu*e zBaW;4Q~hiS|16Q=@_RHI+^^=YF9SfnOp|Ysy&P4wpgdP+T3s!0m^xzGYUf@12d{UC zC`EJj+c(6L3;JYt{29KRQCA=M^jsVM@hO&^%)qfSm+RdEaOj`2zR6E!cxdVPlo-o; z-G9IF<3YvWji+^Kgs`AUGg_K$T^k<NRNa}H_2$!OQSW7ECG59IN_8u|4v^SLv1l1H z@F5%#GB>s8^hwn{!BRt+rfG2Bb4QhlWDKQ8YOO18($^XV(L>bix4lYGW}nIqcEv@s z;!jw7GBr!iC-iqxUr*JmIbOS;bE1s<@gZ;X)1Ha0T0!T=vMXLZsLzuBr_?n$Biet< z^pbyi*8?P>$@0m5o1Fh3F*korpgUwh&NJdL>n$7Uczym<d%)@O+2ryOkVzKT)XWj1 zMf8zB-#E&_R5GT3J@aFfM%y4+4{$@C^Ws038C6(ED8?2qa18B!|GDIUEk`+?{P!Dt z)2(l@?y6v9(XD6GNw<OF-@LSeEfqNv7+GDr?14pawbH`JYaknFR*h06rBYIHwbi_N z7aSX(nVEwcBlfQ3;Wv{hdcDQ(soA}->Z)W9wi><;*PVY6k_A1b9I4N*eX@_6%QFL^ z|H1umR}AIq%HhM^|8+J^z9`J#m*qc)_`3~>3E?*3{mtm2RHptT6H=-&>j$$y`kxFu zPZg*COC3IFIc^W-s8nxO0Jg$+J<{T}W+Hm|^;85}bMQ;MX0_$Oh#o)g#H?i1oMn~u z`IrshD>}jn65AB_Nwn0HJ#|WC3kvErw10rw|2-mkr#7-Mqvt+Vob_Q3>v^JZEGz<L zt?S(XZu)}4TM$}H<ezMsy!N~8veqJ;FUR+VbfCpSS;CvR8mHxm%A&qL!232bvZ{^u z=NoGA|6^ztY$9qtn+s8<|8`bfF*5)u{g}0kR~fhOCndl^l2xAK&RgVlli*E(IScNE z@#@?u?=*oQ0~6SYLE(a*JwnS1K*q*rQRWsboN(8<$$Pis{9Ll=CX(9{14W~QSD%{! z9aw-L;z}6ge_nSnr;E93ic8%5s1WAQV=@xd(qcx$@q1xfPKinuC#Ks|1_8dr)oOS` z>Bu3T#F3`TZ=KrR+b{6cxiL+*#VspeNhzI_W<7Q0*kKn}K}7`)+i!61s+k2aS&iv5 zOugz9V<H?0One{r-F-Q};$6{s4Zze(L1e{lETt+xM3Oh{UwPM4CnS;DP7Q3PYUq@q z#+Kv>n*Pm(9KTu3<6S&ilE|n4M9e3?{1zwr*SGsC72)=~%wKzfs$4@|Y0w_*X*BnH zTk@jNTHEMYd*Fku9_;tJ%cli)d4QInG7x7*gYE5XG=Pjddbs=~Y837ZG1TR;`vaY` z9N&e`i>=}BpF}yJ&#oTHX4}}=tPb8`4o>+OiLkIRW3wDU{8DYLr`#Z55w!AUOui2e zlvg8y4CeDeZO34v6Jruy!h$e5s3>)pr?(GDq|D^#WT_K93$#RXt1=~UnUiHeD;1G< zt|3UcM@J{F1m$RvCny-UUPu}09h&%+GOo7s%;(x2T*Qe;N+8{idKQkJ|04NmdI`c; zQ@2rh${y|)Cn>PfS@QQjjd^4ZK~dnploAWe_*=v=9~wuB&H?W@Bt9mF0cz{}b-{@~ z8=yFfY+~?3hJG8>{Zz<PTmG`U?>SLe72x5)NBJDT8J9;lw6l!gbCzdGg4KaZt((At z8KX-z<G@J1)3~x*kU(PH*<8YDi)@xM44u|VNfd!eij3#R#?tokxo;_sTR2K>y*$3f zMOawmw7k526C?i*d+*`a)b{)fb8L7-<QyAaR8XWNRk}(CA@p8E486BdgAI_bp-C5M z(t9T$Af3=c5keA?o&XUDL;@jqWBK0i^S<x>2Y&C(!@~nRYwtBPYu3!Hna|qG9M&9k z0*Fl|1>@1^OKQz#*8`STmd{%qtqw^cO4Tf0hvJAc9fJV@Qpv?A)mSYjH~bq%CP3gR z@MDH#x&b3|-(3d|zY#|6j8d_U>i(7u1zxi)m3bjQza=RtHK#PjXJ(_;^LU{_^O)Z) zMSsoFElkDqk;ui!;z7JV)XMK6M+5K&SLDNbq8Mr4??wW`@8}6A9;9tAi+!y!Oxloe zU2zxl*y=1`d+T5TEHPhiIL`?}2FhZM^epaxjFJzZKQlwg)GcI&r0Gg%T^pGcYQ&L9 zxLi>!CqfMA>`4FK$GpZ-ua$k1=<eIdht-YJuP~9pRQB8z;}59?MRCJ!zJ9)gOiOoT z9SndTI&`vIt+Lns($DSe02WEK(W66Y;@6xsSlD_R#}cTiCp^I&kW~4#We^`t5bbw* z!#^HTYZ^cut%|Nkxk!NRGTIUM4ZLi4x3=po&&5}%t&S_x`PhO323oZ@{926o%ccmB z&9_{2wSFJ->o{}bJ@MbtpMvItdpEpz*dn=nLe-vozr4sbtaQ2+AV(YOW3-Wp(LG6c z%M@NzA19c3xLW!!r!wE^r^mQ|v&m8$Z26&16^K`Ws7U;@)4ZCJD?28SuC+!4nP8vX zkjFYu7~2#Q=-6L*{>gjB02T87ityD~p1{adVu#M1C99Itr<=?|P~)#i)+0k|(>PRe z@%!tN`6Ek*hZ%Voj-H4zA-20^emaWw=II4INHH)|I8d46znWmf#M=i7CX_kwA2BWP z{ByRrs%SUOJ`s>Y5{S>p$f&0=ZrZJ3aP4c&m17mS51i=u-O6b2Es(<lgYEj(d@QD* zxnu86z&rBHYQ3HfE<G|C@d~~EuF})j$A8jexiq*9(@}p*Fh%i}{yAS;<tDZZy>C{^ zG&!<lb4?|+jddR!eciPmu3PO27Zr(#_D;&k;75x=k^zJIH*<x3%+Rg3zEae*DBMuf zRbQXLh{;urFI?c2r$u)ZKuh`EUecGS9lc7^`DMA9GT0(^7usL}whIx!_8BGRu>DJB zDJ7FLOG!ZXqHF#Q@EiC+*s<>Y_12KP^kN|Q8=H4gx4)iZ(P|i}C|KTmwOIp1>t5Bp z71l{ep#89m`!AlOlx%?{tJU6OjaY*wkiu?44<EHhZctL6=Q!{ec-$*)YpW!8zRi=h z0_@X=PT3|w(bo3Ft+RLayOknZCcr-P9!dyT_U(g{BIP&#u0wIfb8G4sULM%+)AF}0 zpW0;$L?UJ0Dln}}IA(|tfaN3N?+dNBii+}ql)1ABw&d0HFa5o|<RuNLbnb9@*5J9e z1E5FxTA_W(Rz$&z!;Dv_G54!IS}cJ{l=RR-byenVAIAmhc4?2B${%#avz*8LAN2#} z2m5rh%aOOCz7FXd-%fKL^GBm5?&y|sZrht5?lyV<Yv!`uTX~wI_|YIXs2Z1<zIV%$ zsxADLYthU=hFmT3R{$o=JU&<Mk77vKZ4)DSNf{cvQ~gT+NyNb&_Si4oQsqQY25~QZ zf|ZS`ED#v<@?1FiV)J+fI$1Wm=oBkvRFry{%u;|UBLsuPRIKbJ^TI7F)*8fnCr6oK zBHIR1?p2#`_ps%s*2^b-Ii~B4{TxYScD|?bV_I(_GTKc@n2>1R8bL@UqBvlKe&eu< zxz1lvFHJQJY46-UD{dw;DC&9ele6;+UeaRu!XUKVQJ%%KZKtQ;0zS!z_Dg@6(B(j0 z+zRyaHg0h5?7=MU^4L0=jZb|mX1XE1j`^?>8l=Q->*ukB{~Ap#UD*rF7mFX@E6~V9 zNY|6Z*=5G^R5^mwq6M!6H?$RI%kRjrZ%ZYK!u2$xGjLL<_loXR?cO+vwXq79(HEK< zoc<Qntp)06`P4^|D89O{cJUMFJn|)4BK}hEWaXM>Akl8*2jS!~#lppNZ1F&PVTnZI zonX}Nw^ajq4=(g4qLjr>eG2rq*Az}i+-^bN?rPk-FjwHn`_F1-WfkoSxJc4F`8mH9 zR~Rb&)kNhAJ!KDZQhMrI5+9#sxr17+z^#k2#Iz&Z3gdyyLe;iyW&wdWPyKy8cBmyQ z7beyeprRl{YOic;Ra>PKl#+H~KZDo$AV3ak-DE+T<_O%%-bKP`iJgSyH59|hl!^6K z=U|HXhEr^@$INZHqwnh-%xiK4ss@PiL7O(TL6e@N1(dY6h5qF=TmY{Dtl0stgWI6z zVZybPh6!@Z)bs%hG&?(K8%Y{X&OMg+53`r_rvP8nbL!|*40Cwk$&S3@j!C+;Ma)U* ztNi2R2NG-P*)670dt>fF9;APF`-)COu#60?xB9aRl^M#%Ux*bIZpyK<Igf{YeT|V} zP7<-hW9pU^U%19!oomqZ&d>v)|6*_c?6Q+!Kf6FOl?XDSOU}Th*WEFOHCQ4#wlF`b z{ptl6<E5oQv9dfJAlC^5b$8?t0)@yM>8@V4U(w5!BiCM!tPT(8*gPmNNV*I}e2ReL zZ~LdP()t0fX-W4f3)p=ctjs$xU07Ng<9s;JQqi$EfGi%NhPm|*M@OJJ#ABdHhnF~o zD2+WYfp?GxsQC36Ghs_<pKmcZkaFFJz(oC?75(@dJbWN!M(w5HwDN%yYbHVI!?kMB z11hX)%_5>1u!qv#J$#1Cnb^zUi#f0Jw5aL#1_xfOVmQ{JPm^liEhgtL(!gkdq-iAQ zU!s}0W2>*?WiCeF>aOB`!6)e+GlN$2M@^1#^Vmk66T&rZ=-NDJ&ij~VPRS*3$|xL} zwE1QJZQ-As&nKz~`&SS2xb*qG-KwNX-dfek?>M@^oO;U#>QVJ2%L>@h9Eawsb1mB! zUDbd04=fRV?;?XTz5qFh^9w*$L?%-kY?lXGr|aBoEI2^9^pDOip4&aW(BYA$pUUYn z{0NkCSx@+0&%m5%jjyI*a~wOc7u5}_DV5!->>ZV%H(HUbuR1Y`W$E^f9B*8nE9^Z| zBd>*C(?KkUPP7?E8GQR*TqSBrC%+#c*UV3VMI^iqITi%)DT)Hj7_cA%YLSN6_K(*= zylQY;Z7G$Te&5ETK(3?Ago;}H7gq8b1k03jZ*5@L!b#zVc($7!<a1Hcq@?qMaN}Lo zR@kBR-jv{^fqb4Jc=+!xKNSTi<D{vz^}OwJ1CjzF=XaX#S+$^(#mcnG)l^gtl~$vR zA+Hed933h`@Gf2+k|n=0*;`j#t{oxoqz^nirZre=#1T12J<3W$78JEQtXqn;kzZs5 zwOHPAR;U2-_16C&zvI8)+sAh*u8oBr?p(ccM2e`rZW~Pc8K&QVQhlQ3d{?7je0sA^ ziqhn1V_kg>;WjqEgS^rS*)f;;%k-_ccq-I@Z6l{q6Z0(|xz_BNH`KMY1okX?hQ|%9 zLZUaDsPZAp2@w4A7B^j8^OtG#JhsCw2sXTJ!K$Y#7G0_~>w<2nS13*9YEku;KVp^> zp62o8&_#@`{@DC!uAZIpytmFK>6;^%!F?$%Dz3(#$%QhCvT4Y7Yb2B!Oww!jJ51$p zGV&X($&@SFb4eAJ6n`6NXZly_AlYheQg9}^c6&I0#oNnwv?S|27o=H4$ZTCE#Nz=1 zbKl_)qc0jQwc`LL8HW@8R$Z0*SGgV~KoJj{P-ycJFp~#KMd3#A?Z~#_qZ0ax3rBV- z7k1U9CL0`d_dabXI{EJyleb2o`O^w4w`AkUla)cy(C<jeiP05<{aIRHD!n51lgby> zDKRafH;Xdm)1-Pnk;SREdnW_o!$LDVVj<1k&wu%n$A@2BB=QTJDoSj%LEhG0Pp$)O z8|yJzNXe_b`}k01J?dS-BcvGx?kbU<arMVJ6_s5yc?c#NSibi<i+aRR3l{_7T#RfX z2D~4q?5{D2Xv+92RUDOT_nt3$kYu(WmcD=*o><+NWSv;p(DU|g2_$pnFFB6A%pT{c zU>SFMS{w3Zux{_jiTzMH^8#f%n>ZcBD_(fd@?7oOmq@!^rTk7X#Ce1M@3~+4xiGZm zbH~yR2<(#;rifw<z`>jV!GBlKm46S3xcG=I1(~D9#ar?jQ-5SzeJ1{@D_LRJWS=## zZuvEfyi+3Jhnt?JUh{tp_+f@7N0t1m0)5CT+wm8;fevBWZ{}m#+rUJpQCE6k;5weu ze1>N*w{vZ$)?rh&%)+c}d;Q;QZiyj_1`2uZ!Qf`AkdXEZSx%#EqPjeY+|KF%vlf^9 zO-n1Nd@$&<{Lh*Cjs~b%n8x`43D)i>;rUnjYEc_r_tw2yGK^(yQ-INrVKBG8_rz@D zefV&J#DTprtIFZ2$nGa1=M_)y2LSKRa2QhCXU3isZIzPxIYDTiEh1-@HW+5uUv5OY z*3aX&O~p~Ug``ug=cD!anYe%>0)BneBS(WS0%O~xN8~$SB<uJ4@)V$Jkru;0jOp~2 zyPq_ee~kE<{sO+`dvas2A9{k#k6D7p?wvYn1!Y&$59qwX{h#)ihUP0-X*KiIH?2jj z?&HGf?U^qwUSHO*ztV~{*Tw${<c|DtBIQE23lN2mJ_V8MXTI6AzMMh-?pp6`4g}^& zq(y|=+>!Wuz5#KS<7C;R-(Tk4d`RE|6Bx4Sk%@Qzas{nZ<XSdr@BZSM=1u2WctQr+ zE&)CN#!(WS2D4!i(b`F~e};0|O6K)T5BV<g=Q+|3372hZX1;~gFTLSPg+1y@9Lt9G zzVz^pIp|SzZ9&{l2hJdI``y|I;OK)3%*8K#{qywiYr?N5&;9O}Ci%hYZ}w;^&p-Sl z+GpT@0)H9`;12#j3us^=$^0wjeEgijKTBF5!+9p>kBC2soc)8I`M-}o7SsPxAS=6p zUyts;vFA8$1$_9Io9W?lrp&UxtQK&gNOTT@z9zGw^{WBR{}t%5ApVa6{hy?~UFtux zw7|Lo^9X4Gq~iGP`h?F9vK=pkyKI1xej>syS8xJsfqyZm_<I6B^Slz<a~VfxzWwDq z=d}T#att^<;OL@{biT|f&0n|2FsGQf3$6CEjvTtW$e*(*k6L6ZpbGP30Wz*2q7FCT zKDFcf*EzalA*=BiT@V%m9>&KKtILRkeQ*9c@K0cu7cOgGRKR-YO>#wmnzet`(l%ig zo9piK8tcB_HR6D+Yi;kr)h%I3tBDF9;>cyQtw<Rc@5UNk-yrOGvcQ4w=Eas-Qi-(_ z#9L{;UYar}MB*FL{|Poy`?tW+O7gGeXFAp<1&(?^pOrwL{{|M~80gi*ZFpHkFUK+i z>v>=`!g<6P*>lF-o~fV|%3_H1EYUa+nuhOg-cnrpt8Lb@c(+%GvAj`{4m~Y=RyC4$ zpqfm5TNuS`swkmCTvm`R7YbfbB@YYjt<K$&ALWDRn4DDPDdSH`Pf<8#{krliPTl{6 zEg-<urWHKW7kOm+eLD#)38htpJ%J%^&$vj;xbAffCf^MWGXkMMAP_K|bM3<V8CTwx ziOieDXkG4XE*=o1th}wqLkh%tL?#$C?|hUVNXBJ3O&b!5o*)y*-7zd7|Fq~r(5C(U z$6eE?F;~6o@YH9-bq0vczgx>(JdZRGyNb^)V~-x0(EeoLie!7oBmWd@w9gxss{uh< zjZ@2YD<rXPF;}@e%;2UdtWXf{99lo~ndj3)=QTLq2jq(p-@K!FrJ({DF2k3E;Q49y z)oz5_c+5?NHG5<|x(9eAXqD;*UFF=Z_d$moBL-qD`dln^pCgUndq##tA!v}4fOcmP z#1RteoG^|uE=mjY{_Us}m4XtuE{UE8vXT91KCWqcVs?FYOw~XD@I{~K{nixXv>PK3 z*!Dn=GOSs9FVcZ@-}#bi<ffImxJyZeTglOyagYIav{>IYbNe(WOhz*dEL!K&%}!nb zRUk9wqDg`4O})e>L@X><!y0u6nY{;o6|p&2UJ)F8plobR-3RT~#8PS|N%Fa%VA~ey z#c`bbQD~r3EZ>a<eaK6{cFPhpZCr8NeChBmR&u>h&(XALxfGMftq^3Bp7JaXzQqc! ztus2n0f0EBw=xY%hKA9;BZ}EmJ+}ffKK~pMns)}TFzTIRh@(%aN3gBW2Y;s)@I;`q z0_ED-lbRu}`B|am52D0ZCo^MbYm0&xQDo;`+<oT+W{3l#bUwX{K8QFz+)P(~{$p;A zHi`vTyFohG-Qa*)k`lFsbF4Og#8I|Y$++d7Xb2PCs)Zt)e6=Zp7V}@&V2<J%WnXb~ zL*p7v)U~5#=#PA-*~(wEJst-FlE1oyFN+QfNu*lXih|R^*#Jk+BY|&ug2*gBQhtf+ z9Is*z@^M0{7{++WU@?}(8}6<m_8Yv2ruTK~Hj`eiUv%=LW{`$vZ*Ik#Z$l)UNbb-g zfryiOsB0lqZd4ty$d|Wu{K2x|^z_jl(#*fZwz)9bVo$I<B-ph0=yM=i6w(}Zt~$@7 za26!VD;wGuajNQ!>rqMjSWN^c%%Zq41TIl-`5|iVwY2sGu7TQScp!bUIA|+~jG9px z(|3Ni^(*{%*8gBtuK&Yb&b1(i^nxOXp+t0IM%?9dZH49ICntqImP_0epKws^QjyaO zn2$ZNVxHbu;zP*f96D2BRzWrNollCc3q(9I4BqvmGz#9tb~F&RNz$%;@Xou^vc(^Z zTkklu-<+0~S8dwdpDTEasvycVEbVuE3R=qrtwp5sj*OhJt~DXeSrt_r&4|vT*+=6T zp@sU+60tx2`WXqCm@W)wI?c8iXGUBoYRP#3FDr{WbwY&u2LYOn7Bn_W7Kx5dGB+)H zahgudbw(r!8^8^^_zZs{hr|V#Ep@4uATb~+e3IrRr4LT(l|}nP>Y#cp)@>#)t<Yod zRe6Qf;4LIP;%MsjCeF}!>ceN<a@r|l{7f_DT*S!g7f1C;b)O%REY_tD%%S>)m0X7M zAA7Hrx4s`~$ScAVmx8GJE!Hk?wWpm(Gg`%W7TAs#6OTg#4)%(Ux*2`9mr}0m?Zcit zDzLe;zQeP=(|<4@L3TLsV}G+aJUlgYKro){VkmjKrk5p4ldQZd$E*<iNPo=XkzG`r z+{MU&HJ?1CY{EKf+7Y}7b;T!Z!>jar<t2lSe0x!-I+;7_f@Q5ili)h;zag}X3Fcu< zf?yDjPJP}5<;5ND-n-nv!HBwIIo5U)>Cgh%Oe^0Q4^fC`Ro+#esbVq`_A6#IF&S(N zk^VtM0(9*qGJAhnL5_tUNU~EJLXq_NDaSG6wue9HKLM?|O<E0KzlA*~eZ6}Jlia<g z_WZP<X!7cFnVnkKXk+Pv@_II?k~M3_#`<J>1xM`2<6+D4AomfLrG^(*H!#)8=2qB> z+3>6Tos{X88UwTU|DOCBNht$o^g`+l3!iL7uK-^1THq4wB&<T_I#2YaYk(}D-I@%> zn->RdHYLi3$Je`0tD+i8$YZK?-^{V!)K5R=d4;*eZ)opt?eMt1c`#{R=tfF%xpiTb zvDJ8yNi-(7OgrAtxEJLuMi{See$7=x9QHL!z1xWf2K~UAQf}q++M-nesNOEC%eO`{ zS&vq<@ii+dMR}GVYhPv7FsEwm!dCC(Q3q|ZR6+AfmOc^#H>14d`1lwjoAs0?`TnZh z^P5-yZl!%k=}jccwUtacDNbsVx8{%hZiiZxO)`%cm7xq7699-Inq+J}S7`RvhX3-~ z(fyhHag;(?@6qZ7!;w2WIlcLn*b;Ad*)pNSE~u9Fbp78f*5Rs-uufQUJ5isqK7Uc$ z?%4cHXZB>u)KLblwbR<rkrM!2v)iMJW~B9+|3bv(O?*g7aei+ZjkE!M(@kE@+MNvC z^T_N(2i1b@@0TcGJ_@wE$GDf971GzJG@3VBxlj2oq^wY@vY=isH6mR6g0>BGjf5YX zKzRi7>4UZZiH_(u2G8|Co)>keEx!rAyEZX)Cd|-l<KQ^a{_OI2qjzCFbgxE)zN@;I zX>Y%Fw<dd%97-{M;cg+>IsaNaQ>xH|OWHpZwPes8BhqB~xu7V<-u(nq_>Hbk1t$8g zH#Q0DdyDjKbOeivmaGzF{pRaE*AUA>Sq>-j8m^{VFG{hE&DK7oZMfs;%M5sl6T8eC zAZrS1)vHwAfT}kc?+nXA7g!7aUr1UHtK)HOl=rzN^<l&M$ZPxzW~s!eD0tT?iQlRe zC;{g$t!To?&CL_&(f7%egULqQ2o}gj^J3ehuF*ZAP*YauZb_bt??s?sIx$|Jb*+8q zNW8~FJ0dFjTw->L=z6^+=2~4nq}X30XWP3bLZJ}&w+_O4F_yGkn_A%ICCe+2dQ-JJ zG@Zf{YnXx`8%{Ix_4Bj#p``X)ErWYAyFcTJ84bz+3Ulvl%#QBahV!H&9$~@+<TPtN zwIb^&&C2s#=DV>g(hGF5SNW%V!~;07+`0FanE}nHIQkgZebrg}1#~YdIYn(-V?JTl za$zz&Xs0}wd*NQ24V&R?Wt(1lDCYWU5}rG>LD@Td?!6Rq2KHE!O5J-G;<>?^3H#Xx z8E#~xf+42Vl+z6)#BUI2lcSL=IN2!#)x})mCPswrGqN9b3-!#o1I8h)mt$HHID|xx z-QD`$2jhnJG97FmHl;jEQgdeobMFTMK(?kRjFz~7k~a^2Y`mQ2kSFKh;xd?;>>S<D zEt`J8j)vqAxp<=#yzW9%^1mnD)tw0I<1^l6ynF)7TEfcz2FBOCvq99~W{iqB2+xRn zN>Q4~$I(tZ4JRX{uR4zvA-A0Q<e}I;Iui|8u33rkqT^tR)f!QgJV-^AfUxZ*l1WPp z_1s(RZcW8|T=|2=;ww#o?9r!d0dUA_Mf#NU(oitZm;3_7y4jSi_gP0fxGIQ9+(L^^ zcaIS6Ejws+Km2uY-3WecWNNisT+=|VMoF1jaQAe}#Fp;My-9N2wtIVdtp2^9nZ>-e zH1`m`wX0?PW{o-xa{GCJ<lr9;mJn(AsP-Lp1a$QVeCP8e+iS)Lv>YFo&9UQAKzqly zgRXF7?imcs=ZF8xWkUp8MhqhkpTM;n{;;b$x~rE(1+5BT|HJiT(_{+At1H$Xf2^QV zbMQxp<ubufhBi3Z<h55bf$T-E?vU_P3)-4iTA*0^4)KQ56qPY#QWzTzEh0>)e53jq zJ9beFZRa}jldQ>65>uhZLgGpjp8hRaa;<WAZHs`tBO%`eLVPu&J3CZd52mvnQI#8_ zzWhcZk*O#^iRi!vYlERwh0D-ys<XlO-h0@?>){3p!9!ctxduLF7k}m;o?V`<cF)FT z1ql}Q_$-9eo9z&h)s|gY^exR4T!K)0sbt&sm5@g8;KzoNpiL=6EA@!)!gO!6&_8Ug zhgGM&4Rrn?Trvy#`a19s+Wq0~X~mF%A+;2){KEWxjtxV*K=M~g;L97`Pqvb8OI?dk zo?~;LAD@{iBQdZ868jMpuw|}fZ{L8C@mIramK+qQ01yhsP`K-7*MO#(X7JdHj_DgP z1^`Z1?ZrW;ij#6wbYEJ-L?q+0ov?ZldFx=(+Vg77xm%E`wmo8eo!8)1*MJgj-$L_= z`FOPpDRa!Gyu5wJ^NAM?hu;+?iIzX*H#H+ugRQCeylbq!G+Wov3v7qog1ANU+9AdU zWRgFA_qvUUNBvOIsWgd~qm)Xl&lRUwl}xsgRWk7x?(nC~W$`B^BPKd=w*ue8ypMAc z_i-|S3sx7;VwH3mowd(W?`w1MJNVkxbFPg+o>IFRaI~Ly5BgsyP6+_TxxWz5_qoeF zWiIa$_lN_4A>!QZTJt);$$6C(hJANi2pWA4x=l2s#iV@O*jw}OazvZyXyqg%0@dxR zxf$8o%-29JUd!9#Zodit?Ji-URw`L;3v5mpd*^A{_A%o^ke<*lAm=9&v%L+Z`w=Qs zGi~d#fW=2p+u^o2;`_BoM<((vg%m%7TkN2cE1c6dHaJ8S56srfC@)#Gvy-^cRZk){ z3a_fepzXOTz`h7r9_^-8{!r-{<9i(asa@3cH@d*9%PUT3+!E{<`?XO#BcxuOp<4jf zbkpd2CubXTOV_taPsnwq9H6lfnFErmbkpk**7apB2@Sew@kJFXi}$LNZfQMU|J-A% zMlA$n0!8ck+t%adBaqm4YjWC85`+h3*y8T|bC&lDc7c}@QN|AnpA(#Z#Ub-6gLd6; zvi-*sz1Wp{?(9eYUj@4DgRy&y3ASercZJ&CT^7)0i`(g?cH{)I%UvTN&<iryxX<$} zGRt1~Mn=vN_D&Of%n9nS&iNg9XQnnS_cP_8vb3TMws=ec>2W71<e*Hl#D@iLnZVq? z_+N<5aOBFwIHu@YwzZsmyV<PF<oB_r4v;K&6oBhIHqbQpd8PNa2h~NB0Si6X7(NV4 zCa0qn`4nPZ-^d_y>l}K)*gU9kc2?#}tjaC*ROU4e@9b<MV|4e#(gySTyns4Tdk3(S z>aY)Et6$}tgAO_6FX*MC?eqg2`y1C=N^8GVi{=UJ{6DarQ&Zq)j%fhO)4<!gCI2@i zH^nyRiYiA^#1@*?KvW++4$k$RBF~j!^$NxA7(FckK^D(+)Y3Ric_+fM!J7ny@7cv- zFrvZ91Xw&G1u3;1^L^Y=-=~Y{m~m?QIe-X4w|bPjS>1ztfB9x`1^`e7C7g;TF=RKI z4j)51Z)B^*^`JJ4{fv^UdvX*;)y{V%I!f+O{LGTP(M#Lg)Jm&LtT4-OHLdBPcy8Mv z^!AGlo#yJCC(;tJ0V{b^o&TQ*Pl1Ee`-;ZY1`J9D-c>HdCosibh`Hq+AL^0ZsHLY} zuL?*^`x*XoYjNt!=!{txiH%TdAK3L6NTgjExry_fPbZm3H@9B88pts5V(56&49y!2 zX$E$UV{)wIa^l6!Rx=-o_p5<gN@p6DAM-;!b!;0@hWA+$@Mdmt_MZn+j^UyJx1vLl z&UhQ9@E194K>RIyIcv0@^OEUL25BzlwB+1y?9r?C_tcX$5&<A`g0ujNawy|d5hkbY z`;~Zs2}WHzm9!<NpBaJsH;MK2w-F{@e0&Mts$e;{wFEY1cQ6OXNgKCp3EwEAvU?nJ z48c3HEU|0d*6yr+<`G>v%9Dm^hEgHlCEBr7syRApgYKqzj<>>isM2n3uG4KNBMhYL zOroz2v%645bW(C6V{Ou;e{|?(I=fAdr!&UP%CM{50#K*d^)I0?pEsJfNBHO5dOuHg zv8`z;9m|D=t3vJi8!=n;!4XhYuSR%UZM|;{i@&CxzIXbQsxM#L+2h7`;!XGqytP(d z9s-e7U@-I;E?!@6{>?YIvF!n{b098TwhTaZUe8siY!+?+Y8Qmop!)#s)9AfqUf1pr zF5<X0@W%0x%V)fg^pc0gk^ZWO^rFu_0n1B2Nq8(L3cLh8AxY|+L<_pSsfI87G@5Q1 zb0@-k@vDp+qRf;+cSS=F3XL1k)LiTzn22G{PyRSPXL{vj%7}Q~TBh8AkW+v&Q#c0W zeIEc2s<d*v82~^V_j|Z%clt&UP3ztKbY9-K^KbiArQJI2@w#|pb@k=rB_Dr?rKN@t ze@105OUdm70R>6(?8bw*!8Xczs;F3yTBY1o0Q`b-vwT`K?YUOVbBxHGY$ZMCTC?zO z!4yjge~FrkVGb-=ewKD%e~hvcur@0LrjY-oXSalrGTm3MEb|B;Li$law(-Bvo{Dy! zp5rm#n~ZPR@Kvy)+l|4Z1BH&=0(4-!`yzU7R{kCeC5*6nP6E)Hjw<_NQD=aHg7*7< zvqn#q83QmF9Mg<WNGe(b>sOSd{S={x_-(JPK267&b_Jeme5p<^_(XGq)7;GK9fW_h zy@4xy7vx)dNpC{8p>@%r`h*n#*;~uMwe5GX#6aY|j7#`g16=AKFt93LX)gJdUNz2r z+;JkLHY7+dCf~F7g23T7M(*{ho?>;8j|!d|+@MSV0;%AiiCmjV{1A+`u*`QE*_Yry zz$gIWkUg!vgbbS>B2!LZ649co*P6Y%ml-s%B!?a7+3<4O9}i2D5cf3;&Tw`@w$yRl zk(0CJXva_eI}J<@fvG4khdu&BidYhpNY~=)J=@AT_OYJeZw#n^gP`Td@uFJ!2e`)t z4PlE*fd*D)rKX~V&PL#-0nKP`@t=DUX|7K`GOy=%>=|!#PHE-VjyYKH2W99ilv}D> zCIIe>y|jemDxl-X`{KOQF=!IC210rOTZCj{6;e$ZOyeyr(Q;@cQm%%<ED{d(<*T~L zZBu*BsCP}`)T!pPi=X7L4{uu=vHg3SZC)XmiMmjE(mOOG;B4<-&%?Tz*&06oomsk| zP51hwjmeuhu&JYQOO2=;a>URQWSW{3f5cf5L=I>!<gjZdQ=;Cz%PPW^4p}cPaEI<w z;PnesceL5;T@TyK-DZ}~E|j3Jv@$2$)wf^j#KsPXnOPI~%LW)8`ZmjzNnW_N;|lc) zRE>8>3KO$K2(%YA=HVEJ668id!$Y*G8F=LxUDzLhr^99#V`7QHwbcFnbZhEv1ev)> zL)lxX^*d16b_9puSE`&$^%H!xw5F2!^W@T5SzY%Z_!AgoYE^4&n9|Zpo!$J*IQ*$d zb0Nm{);7{hY#CqI+9R#0-Ngm(z>!Nkj4rY8Y3~Cl1Ijub{((U4qcyy<xJ%)neEs)K z*_=ejzd<mCbGad*ZCK~Vdw1M_f&^(Q5tp*biEX>bC%E4g3O(2#!54u-&5$Dsp|_FN z0lS8jjTMDZ2XonTov!l>2iXDHcJ{Y#sRM=Q_VVRQh~Fyh02ukvSv0qfUti%ng<}?y z7LRT$=ykJb8O1vVpqSjtWf}<w71|(Ngu?z7r&bG=R1YmrjN+_|#hRIn6N!0=T!9dq zwZ4k^Z+~ibUzS6%_lGzy1!|6GAFhw!RNINSn3vb&E3-dW9WC02?zOo-SDpT0;)`D~ zr;85!R)wV7!oou!_!YA<X}t|U{4gwennmNA|H`EkqyTzG+8okp#@?!owh|~dLGt^R z@V6iCzz-ZvlSP;{17r&Is^05$Bs=Pj{RF{2>w2U>ZFLL&b}4@7Su#G9G99?&osEoc zKO8KSMjOkMq{^tf)*L^`v7q2@LxJx&(me^i+Jz;LZX+Z+zgnR;KR1#J5F8N3rL&zn zWqy#}XL0FXGjn0Uc#;QR4dlZD<8mi=3y!{ntR{DzjSU4Eulc9Jt*jfaCf8yfIlnUI z18Z5QGBs@k3xDTW6}LG53RBob6^{vlq}kt4zbKyODlR!2#qeY3-uWx9axC268<p@O z#l-Gf>4&s7i+gkg)c&#_j0kTa9Qr9ll=a~Ut~FZd79(hGK_=1`zTGt9s<l%o;cxK8 z4~k!*63OX7R+8rxyF1||7nNHr`jJAEmWqDT%aaN#`zu*v3GpMA?{+7|v_cm5?RN>( z)e$arz7qPfQVH!{(PLE<*g3Hx)8t|V{U-xQ^!TfuKJ6<p!}t?E@Fd(DUp|#ycJd^F z^4ar4T@P@mqpxw+O1we(FSD6ekR56@0whJ^CuHH2ZXp~*VV9?@m5e)?js$i7!2*D6 zmnMyOTe8U$Atwp;3I{W)g((1h)!UdMB;<Gkp3!9rUp$S%klXLXT*eeygy91i-7L$d zdx=|wAgFUHNVDoOegR8r#qCzn!3E;ujXBoV=3SUhDyXTr=G2qwwP8x?usd<K-JYd) zqAvGV;TG!jsdK^_3Jd&FaV0XECET03ZcO3J<yN{y2KSKr;=m5&=peph9-c+7Eu~mV z*PiO@+J->CaTC$h#q5uJStPbK3V=ma4c)=FLs#D?rQgO<p&{f!Yx$)8b*arF0q@+g zaYR@P&hNk+tXXZUiPXOoxLqY>nq0SwITjSu{sAGt%PL`atBh)GVljr2WW3xP<elVH zmq$1%C-n`lXoI1H5l;mRX9Uwbg(o_{MX?~J;v}RmDC*^#jW7CZdDj>x_GdufzTR<5 z0iFn)EqUZs!uDO=Bso7m6iagOdU9xiT6!QZX(pnjpA7C7(*o)TUBZ5I*I6bnlmLo% zC+<>MVdY=!dFTyC#{h~!p_Ghhk<-#T&JfJ6S)lIzvm*bgdm?y&K4c4-os8X(hwVs` zs^T3t7dWPgv<e@qdO3`tvh)jQSXrI0twl-gWIptMm%>D5MaYI4a?p^MJfC81L|H2Y zfscl7er~-pEHjsHd13kBIWUEByKLPIZ(gN^8wjR|iHhe~2nKC#Y=1fsdPo@Cu6#&P z((_QsZEnWgZ(vOJnYB&^>}0z{P44ET<A9y$&F!D_+2SeWXf>WlJz5AYU5v@zgnl`X zoKQGKU?=A2gfeEu{)RX*&MqwiXNC)UuWF$qk+SzzF{_^ndCn@LO)bVu=Q7n`N{|$z z%dZMKrdY$z{@TvKhym_i<v3b)=QS>hSr=L6P10v*{p+jE4Wc~Q-V^fFF~CyS#}AT_ zduM7~W8q=#>7VM(&~<!Ugf-MOfdGWe0;t6UU;{OD9}K`oI5`zBWe6gLui%NeK+-`L zd2=S7ZI0051@9<|BRaFh56fL4E%T9=tPgC_8T$_?BiRS9_c-jQk%$UP8<c=|U$a9d zoD-KjBGT^mr^tUGUE8&T9tcocLJ!0#YYoYh9{CSl^+1Q247db^A2;Nzq;W%nczioG z>S)#dYVG)TUa;w<9nc!5(9tuiV9@^I^3T#jr6MpoyK6v_&zjnljdX4&mvB}+I-auR zz7YzWwcxY2Pbf8^do?LfM(RybK|7$F$JsOX-CJu{Zkk$R-w<e5CRFtDEo9+IgCZPI zcfuDWLLtDk{fBvIk+SvpkA%RjuAN!d4H6N7JxU?x8)FPPhaC5M@&=BY-JmN1l+aN0 z#5!%()DUHpw)7|rx)d5}O5H-YRg1>sXSfTV$_$dHSlw4Ar=`<EH$$4e+8rC+*C0pT z)O;bzM)Qk-)+{KtwR}+)9df`9-%F`*^u$rfUnl2gMt)&4@9%I>8<*wx?grrTPVGCx zVHV-6**{*%AB|9(+VH)hhmRC`6>_Ua1YdNWk<GJoNLi>IeCZ_z3b$GRxD;aQ1i-8h z67%_Bp1d6p7?)SZQ4^wNfta-FgY!r)*m@($0+OVzU!h<)f)(A%BL<RPz=|MRw7iEk zHH0#p-H=yRxT~Lia97Sc<#Gcc0{}2pg7w#G-*L~HIyf3E^zGB3Ba;b7ZB_(3G14~> z&fY3b-|q*tg1T3+W_)zWO72X_o}v;{3w^!_t`8fBT3egbi*L<yOpgRF7nNOG%cK&k zk5We33*4dm&dvJ}>+yx<nc-i&djOukBJ?|Jdrp$E^<+cnLBsBFN*h-@DkN`3%D8AX z5)`6AI2f`Qqa5x8N7ATV6^D;}&_y5}jS308+A!~Q!kxHDg?wEvPzn9Dj6w)NP9QRK zVn>M5codQS<5}@?2Z6Gj-Ifz461YrjtpQ{)MVtdSRpkrpxAj))+D9cBWFVfHQR~)A z8exURe#Vvh(*t0+opIG&Ow2^U25TT?lr>onUQ?NMG#rsVtNS9KyiQA;dzUxWoQ$r? z`U#Etq^kwEZ27$%g^KLJ1$sC!Olb9_0tMN;6$$zXBq#<9c}1>u?pE2P0e=+(xyNJg zPW}X<)>@G}8HxJttvT_O!;wq=Cz%3>MER2iHhse5UN^Ys=?}fLA@0IDfXScfm{dc3 zoiARqRoKU_Dkhn+_+gs^zMFTYllRJWL{^AH$QCC%<E(MfopC(YbhH6Wzx&pn;mgxz zOW!Bz`DwQykQ_k-eyf?dOisIMl($mOF2-3O6&Aw<qN5X7+nR-^WF)i1<qhQ7T{sBT z2LFPuF+2f+MkWAsd+jfPFwQBSxqkYt9YP$d(imsedf^QjBbhu1NutbG{0!`ze%cq& z$6(V-zUF!#mnJbC$d56F*^`#jFKUALY7F_+qU3xty6m`e+YiR<#cjfy_mhNH=|Y<X zjbWX>Ar$NO57Ua~Bf;Cb5s4B~W&1zv6%BC4RA6BCzrfax&s&j!LG~idS4KQOAwm?8 zwc5mk@U1&Q+k)rm;e-1zd#pV*4k(yxQ#s_jm<DJ~kx;X{3>YO66d!L$8Dm(31Bsmt z$0f9+kGBcSt)T3J{x;Gr3X*C;P70;ahfo@z>J>*QbuDuNwBu~xvTCSaHpOG(``;Pk z!M}-Nypls=23(cyWrgnq(3G<t<(t4x*rn_qr2%rE0@+5O)@o`R6Rh06-QHFWTKK}k zhjo|EN_H12Vt*>O1L)18oP788G1vq$J@imKgt7&~+fIwD2>(Voed<<P4GHH*8o;=s z78dpRD;!zkA2}x2@?0LLxA~{IePl3Xgtcu$9=_R|H5E^3P{@sM+e@=*uPg9-qnjg9 zzK=_5BZgALl6Q>7B?EqNZ3ZvVkteB*<!g+gdI~$^9@hsN3nkmh)zAe#_f-gVBRcH| zLB7oXoW0C13No~f9`nX6Xg1B&(rtK|ZM<0EB+A=5erM-XSCRQ45kq&J7jV@R4Ook7 zDNr#U|FXvz<Rm7i&Wx~-(jYmQdyhcXyhktx*)rDqw*-3i=HZ~V$gcXv?*fzv1xuqh zp=Q~^o=pClFw?0Z>QVe!1cq`tWZv9;6^}i)J47pDFZr8}i-XM>HwwV1$7DDGWaKK3 zn6R8-&29Hg3qQZ`LePHM6HZW3iAvcev$mWmS#QgqX5<1d@3!^EWnZR+P)*t?b-w)> z6ROt!W)Z%l$tb<vq{JG-p-t!*hDE1_;Qt?vVHOfyUP!@OI#hoXz-+vV1mZ39(fl`| z?6Q?346>Ma0&h*JwsO5dm2q23r!G4OhFmwyro722acRQ>j>O-T`pvqnv;rf2{n>?} z=KVtJ38BLQzGkUDhs|z|u|hW&?DGxL*l|O|^etcPxG^=@vZEeCi^q-{TjSO3w03ru z^fP_|EQjN4n5uW0H0y@^<RRF&=f})v_;qZ(g=QKnniss_Vr~-Q2CC$uC*mJp&Z0b^ zd?E3#8dJCFDLvFZIx<6zcu`ZS%!W>}LJ7w~jw?JDElErgYA=wqT`RaYtxCl+<W&d+ zTefe}N=`buIs^n*W<JjY@Y<9<h4Ij>D%T~A3u)m}g^UWjrEUBB(?l|LCv-LRu%>qx z!&kppx`rU|mt4}g#BuZh?!Rz(<)?FgCYs!DQk?{>YE+@78^PMCG0H8Yf`u5td&|&> z+xHY^V)Cz_73ZyLxNA``rZeTOaAdufJq-U)5lo>+xB9B`P7r^Pf=v{NiX3A>d?<{W zzr~20J~G{1V?_4ghY{1Y+GHZxSu$VmI5NOD5dzIPLXJ!khI{*sCku2#_K;+Pf@DQS z@NNYW0ddDohUpBXh<k20!hg)i;}SyMH?4j^S$2M=-#$t8J>^g0H;4Yi8};pNG0G*a zfPc_HFkQ+o-f}j~uVY5|3{=>Qli!V?m3cnMxYx7!xsq<)y*NXT3c1<<y4+}m$|XAn zcM0uZ#^CE1a?XKX(a*U=w#sImEydlSM$RcPyQZx2$4#M^N?(8DM!&vQTBZEM6rQtw zI^@;-%@LVjcRw3b1ula{*K$uY+JWyP{w<#WeZ%9+ci${^9i8CUuezZOyxDMSU*f!C zvZKYvXUBDR;PYt-c;Z>L=sxbKZzi4@vQKvG`b3KUz;M4lxlV*C<(;%Ji;6MvWW(D) z$PzJPF%7HeKLnk)L4<xb>3S~}XRFL`<4_{T=h_|cuhlrs*PAziyHmTqN@-v0UeVe6 z%r><y!DIX9+Y_9?t*PNRkkyIrB4J8V2`1{Wj7Hi<o4i|wkGkf_%)cn45d=WEbe+O6 zwZrxN>UuYMA}@7!5oPE*6BMD6^mST59hv3kw_jU6X@sNB!iDZA9wT}qD}EuTXdct$ zUisZ8jmrOq&pv+ozj3$!BQ9GMkD`PDd{{@rg<q0;yl6QkJJA|rUCY(&Ib`<BF3>z) zbg|1$sXO^SU%>sM^1sdszZyS#>pfF5qRARa`{2{;f0|nCt?%fCW5R9vNPqtU8^>J3 zG6?Q|2~VjnY~VO`uIr7!?}7T%ceYDMUJfo4u>p~gP!-r9S=Rp%JZCNz(y%?El~OiM z%0CO2Y+u|6<tidHZ--<H{2r%IVJio1WVhKd()&k5k;d93tw+d2M<ypov&(O7qY-TN zE9658KTTWCcZ<+$Aj)hyFokyt8`Ly)T>br&uboa3lH+&J3wfF*XmK(Jau`(D?bsv5 z8Yp)c>CZTcrMvt`uQF6>c!1Z{II_r8gVv5r*X}eMoHX4$x{0J}zI317t*vdnIl@|* z^qV{X#Q@BG%|SjdOHe_oUFL!P`;?Mi$Z~brSzwP@oGnny=Td*l6b?Yd!Roq~9l^ea z`FgsOPKHe`$pXK28_;~>>}ELOE6pyYZ4InXtNByAKB1VVh!TRHu7tPraQZGC7*|AF z8*^|kY>4YEzb0()UWjjt+|o|Km2>s$tz{O1e9k|lf76qZawlr>;CbtF?&)1Irt^SI z>OZ00RF#$XQv&_s14js&W5}Q&nl@&?UeDGAH&qyy$bvuL4`BYc5uAmY?x>qZE%-aL z1a%S>JAHpY^BycjBf;ee&TPjT{`L&IYxLm#ry$6WkW`I~r-IYc-a>~Mp&xPdicz-t zp{eE%AZ)$W{F<I@gm+c|;d{4#v-xb{OT`(I9kdDV(r-ua?rr=P-cs5RE?E(X^<Raz zM3C(035ZblWXYMfZ)$pMn#lnKc=|kP&uacR86L^?_Nk~Y7o>1r+4ms#ukihyJuFrZ zp_|;a&NpNiPe5c#8ixbo=8A;fOLjEXNW7!I$I$wB$8R0Tn1DX_Ni)_65C3cL#$Tkp zP;0x?!O9Qo)2JXwECC^M8|Ft`jgt&jJ(%9sPE-^5a`VrP?`|xp)xjmHAv#||OoIY6 zQz{Edn<CsTRCm!s%=t!vL1_<~!3}Cb!*3A&Gg@DhdvKXgZPq*qloNzOE^kw#cN;lG zO4~Z(eb51iqkCV-49Bm!1PzUc#06Ykh)!R~Xget#^KsCkKIv(YX#%1hk|Ha$O3)(W zew#6mskrflgG!)P57@(TFx`c^54Aqj4UD?<>ZhZmq4C#I?Y{$|2DiUCs5UAFoQ($$ za`q+86I)>{IsfN{s5@TmBDYRqg1{!Oe#!DuZWZo-#+mK_oTN%=ALRE=HGYSl-`#A+ z9+U~6fBYK?{k4@XS@{}q7Ca&(S}H6pe2DRB55)W#ovAo|(t${BYvhFs?WU%`ugc>3 zgdjJG@{gC^yZsT4>Xiqij<fLi%JF}m{h|BI+2;80(e$L>J<+IytN#%Xjmqi&Y;O1; zXPy6tIh+3<vGY|4Cajk@dLcLkQ1wr_&w&z1T*j&Mwe=q6*tVw9a8+-%)aj`W2qSUo z2`EKGRsEtems)OnntSPLW_p8f%az!55f!vAoU-Q%uleTS%yY@wxxsA>MJO+3m;1JZ zgVcHKBx9P<1`5~a35(B3hP1&coL}4+Fe>FnjGL=v>3FYeGw8s);eihr=t{Yflrdnf zQcS{c(>%+yQYCxQR>7XWKe|5k3K7!92|lI!{=q*y1C|B8;P+E1svB8+l1v3k;YAiX zA2oa*?P?fZE$LB<JZTMOiYG=+e)7HYxoYvkBKNH;=hZbX-|7#0H~sW$5yx$fn;<u? zD+pbR_BDTZH~}IRwc+>TWZIdRI&XR8n)gFLd?H;@vRM8rw?!!G%IW99V8cF7xf3+B z^DbvUt!6R!O%s=^bGeKsZKv_o@yutqhMU`JzUU{iB5kL8!S(}bsgaWxM2ZbZR!)g- z2RhZWNp0SLaG4KwqpLP?WChF^RUDs`$eKhH^Q`sv*2?T^<}(9Z1_kR~Ss1g7>2t&l zYpA-xbgK-;lD0}k>{z1q4&u@V<?5stnk7UFzUj8LaOt(9^>Xn8tgoV;_ElF`4_?ul z;^SSHjCFW#WUHuU|Nc7c5nss@-$%x{Tj1CbjLi8}xUkVp{TU1Gd<`vqaq}q~S9WQ$ zww7|E$Ig5Gj)w6&aM@2Qx1k_sJbNAdzOGB(z>>I8iF0w<<ZuJ`xr{iLvaDvS_jm3- zHA!}9$=ixdD{eX%aS&N`n0M2s^yzKPw%SF-k7_K7@9sTR?XV&6XyHO?z?sVhdZi%8 z+Y1_DRhPm`R4<7!?)r5Z*UJ{+MVH`sx8{q*RUWF&m|=ordw}@BLR$Jz-(aG_NL-KG zj%-_ku8U;G^u8u24)6R=w+6te$iUJLuTgPvink1DNBvIWq|xBk1W8d@_a-3OemlcE zSH&faba|ZFYP*bVJuL+k^q9IeE~*2VOtGZ?r^kYiGc@RDhCPwugVc>iKK-%)ROlZa zU=m2EX5S#i^6IpAEd@LW-zlE&N*vtW9_F8n!*7z=(X(fhN=9&zks<P1T!ZZ!Oih^e zB0Tw=UtK_xbU~n03*qjKHA&(yy8HxZVI;mLP1=S#?0roE#F$-~*Kx1EC^wUp>n*vA zzRZ`r{X$7ZV5U2&;C8QpY~AOZx)5L8LG=BxWy_NJKp0~ADXM-TDXN(9y?!*-VoFBK zx@pT)?ry4W#7P=jpy(!C9TTh_(Djz_)b^8pOvsIkr@hE0m6OXf?$)e4yiN>OhLr-} zE5gn%4cMkh$ESiG`c50y&1tMWPzijPWmtMWY7saBjPiWwiMp{$`Cw&HX{NqkyYmIk z12vAu4^YL1<mRYt+q8D+^6~Q2vdP{n#I)v?>YT7{6UpTshIZzJA5L?YQ)#S)a@{)t z-~_ejgh5B~2?A|16y7Gf9wl3bG1Wzao<6Ovc2&$Fl%Op1vC+P^^&iTHBv&2hhnq8W zU`cN?M>KTbcYM-!uH^5{9=Ap2hXm#WN|u~#gu+FPS0zl+{+RphjNkhfKBrdg6>z1x z>hO8V^1z2V50z>B{=5qpu0qJkhEq-Ghqu&~AtmTPeH(R4%~_pICB+<mu}piljb99? zx)labOsY3ZhbXgD{>^Z(%Oq~ENyu*0*}+CGmsNjnEc?wDcdOVKjfDl?*oo9bsbKEh zFK+ipJB)*Bm&0-_xZmK_{njw_>wS0!Pe(=Vcjt|pO1%OUqd1k@3Wq->xL-C%ySG}d z`LW}=&OfOGSLoL0tGSFWtDFl4p`RDJwUo?GG9wcClWzAIdQC0)vzN(SK_vTSdwj-8 z$ar1ikujQH{8ystGr`I8Zf;Z40`?hzjM7wZFEZC;52)fo>Ir72<eSV_B0^@0lSn}W z{CX`*d6K%9tjh{=`%}kHVufQfd<9B@vs!6Xv()l72Vk3iU1IC?HF{qMH{4e1SsnbK zdXxIn`_Y|Z-|M{smPEU1!tcNcEja&j>9XXhL0^Pb(K;O1-D%OP4^E@`)HksF)Evf0 z-aZ5K+ntCB)Iyv3Cat4_?!CoF!165QD|R+a*al6_r_g?Pm`x3D-}cG3BdjjHdv((H zpz7S-S*W{;(SotPLA!(M$Ir-FCu3;A2Yk%}D$uh~9Ik~-v|$=Z<`%0^BJlgxw(5@C zM&wth7<E6??hZCJ#x0f6RemNo%xmk1w3qB^Ywg%BPucIL<DJNnrB5t(Y9_@D7%T;_ zmbxX_39pv-_&S>fyKUYjS8#8yxOg%a=ga6bP28-`eUCD7Zp{nI9KU#4+t?XV-)xol zSp>|ywdMRb2gy6(KB6vpuJ4Uy_Sm74RdQY*dbIP2xm!)n?s#dzHtgvg>q^7#(Ja}e z^g(;-QD@A|EsVNYKaTl`K}VHC)*W}<6w&v%WmX1vIF@P}VFeYFBl*+2ikQa51|wg| zAj4^AAMrESEK$SOL#4dC&E*s4WQMJ8VhyJo3^1}T`|N0T%+uO)hFYL0zrEU6#iqEz zJdand*uG*3Irz@ujqOP@^GPpB9cMW3;yOVY{VAWalJwZ;(s<X&Xc_nW+*X>-aJ6cU zv|`4%;0sIvtj#qpYmp^Ox!CtI064gAOzkAW1+2G&1TXp3HWfbKJ{U=u)~(^tOfB{D zyxu-Nrt<wU$d~J7{bnig@>8#Y?zThDDVnH2R<q4;y@I@%CLY5Y7)&Q~>6XA=pqVM( zN1r;MV(|R>7Bj+~@FMH;cA!96Ib?z$Ui(i^S~jc9p8f}#XR7O7k+*38qm;3pktbZ% z(X_MQXJXl_Noy2i;d>Cto4>)`{#;fe`6*8}$C1@H=Z(D&EDww>O;@0U4n=(?9rhOe zPttcf;NMQT<P_}BL{)c<-u5svLwPKof2bVE!<ViPcCpZ}%VfN%9;!IFp(7$vYzZ$; z9mfccsNAk_@?8nD!*99@kOU^}R>W#-O@qrYRtBPg3nj1DUmr7e&d(`eUH3mfC1@xv zUR4vJIYDqJL#Ifdz5MF!2PKixm~*zqJ|WI8s#^ELr)JA#6%4olA8D0u;iFOqy3`bF zSmr}v-$`tUE(XOBcx~>wPzyMF8Lo7%1=Z}oC@A1IxEpBJ*d(YLU>UHEEB_?-w#G}9 zE>kTmQVM<VdTe~NYu!oxq*R-)nWu22lC@L2mz6YvT4ulqi!uOQGHoz6=GDSkC{Z;2 z95l|t`)FvDoMqVZAyUtrqRoY6;982XeqdeZc86JNvY?nGI3;pg3zRr%i7Udc4REl6 zgkHy%;%Y>L<i*Xe=?koUoR45R6<KdB7eR@WK3Sww=3MMnTvu5>?AiWx0a`w-JE)oW zNZA-is%I?GLHbONl_ghbqmUCxM8P+P|Es<4dTVO!zSZp(ER?-PL_kEPhqmcT6;Y~m zl0fLa7pW4Oh~TF8AicMQfCLhxt8_vS0SQf|CnQJ-y`1<f=ld7V#ktGXdY-&%u35%A z#~3+d)cJWMWE;ObCI?$v^1$Q)c~>)}Y=oGT6Io6iV$D<tLcbmwQ`q!g_nJ12Xt=E_ zTc;fmG5{O)y%z(J+HC<z1R*tqk4I3#^rd9*|Ly{0@>2_Db~Y@QPn1OEpgX4qs<(yW zaAL1PBU7gBwXbkEbwp+Dn()83*g;N<eS>m3>ebTK2lwm!wWZgq$JeV!S8v#rmj?rY zx_GQSk!2ZFUpDvIFd__yZARogd1kl~wkESl+;3&1B2l#}vehN^GU;wI5Vt2$w(NAq zAX%PP`QoGP9~ha?z3}#>LB^60$16ANTUvx|jHC?^Ge(FkJ$)zjz~ZuF2i;8aM&TlE z2dZ!NSH;Q4$EgfzASct+N~^IjIQzX{`E$+@L30fkQ3TJsf`JfEPk)@`3(1$+*?9o; z_2C4^(PG`C`WlV=_vF6z#M+i9{}x!Laec;<wwkdi4@PW2Pjq{E;nyUu_Sp<~p#NEY ztZj(8F9)YvOULPhIl#EBDQqXu5Pkf~?Zo3Bt#x?wg3+vQlcky2Omy4OukTB%hNCZ% z0_PTGsN^+qsguG^)8@Bs%^|j)?w&l1q45FpACPYPR3WL-XXU5gPgH~}A;>DHIv$lc zR!tP&N-v3HORRb$sF46)KYs0G{$?(-@B?6~FL|NsvAIFd-XvMZzcLj^jh*{@Kee*) zbl|B~%6)TT^iF}R=@avwD^u^i5CSR^Cigl^V!xp7$Y1enq~j=*cY2@Pj~m>Hu_!Id zo`JWu3d<9INEtPe1=EV{+6(9wHezex#xm$*MrwX-i>(&A;iVXZabS5ZDNroz*08&4 zv)QD5Ysj=l2ZXk85FmHJ)8$E%awkxretq+WTuW`CBp%s2RAi!Od_Czfl%vn)(x?7! z_{(=~K@eHhv@OPr&9)riw624LB<l9SMzDf)vYhw>U)1hF^OR2r#9M)QQa|LO*HeOg zHezDO(WMX{JGY8ju=GGI@eLBLX5L^I`ZWnLpF&c}g<J@Q(4k2HUK%JrJMaJ3J0t!| zJKCy|gn$&&awBI8dNQ>WsY=(5fhg%)c?jk<0YwNX<lfs*zm9x7-#mmo$o||&tj_MC zFwf2;@mN0BmcqbiSoOJI&|0L*1eGcGC|FM;J_w8_1dek*VQg=m1UdhOMcssF=m1uA zUxe3mXE@9NW@0i9eUDpj&G8y6#`8J?AAkJlkXEafUE<~_#i*YJLw{q+5So^elB&** zjnke<5RtN!69$^Aufs{orljt!%WEQjv+_U7uM7*hBTyvyVL`&i)g+b2&t{T%k+A^d z)g%IY%nd5L($Qg?*Gn*PC@+w$>P%%ih<-!XP=vxT=TK$vQpf7g+E)Ag`KDn^?`@d_ z#`LKD7EnvQFItG!PMgkcDkue95ptgeEF=9DtgWXMbd;{f@;aITocQ>N3a$G(+RIcN zxkv0<<rG4c{gc~)VzBKaS{kpnL8QpAGF!-GQHbPLMwyey1lp^4rkBl|F-xn$KVxWC z%5AB*F=TXrO#ahB0)TZFb-RDYbo%Q&EhIgigmZGmgb`1XnP{%r{Q*t^1N&EISWoa3 zM-vg4iO_0>ahaejrXwrd-s~nxiOQoESYM_+4pL6<PyU%75ZhHiS+JV$#R6>{fFgHH zKH4?6V<=)ZaMsOZtGpivY1nFmAw&xL_WLUVIl|DO9>cvi<nZ-#O5?jE*p`TE{YHP{ z%N0-aXbW}FCN_E4&o!M#oFuWTs$D1_>|9?BQb|duxe=X*QZMqFZQcrB{W8_1d1eK< zkO!$_JP|gPe8Y;Bh?Q1hH-^A14|&L^_7XJZX?U7phYc2U>!{rdBJWmsMkD9ENb;Rq zY<S-ubZ&HCg>Zx|LR92>%vTMwJL52VeZUk=b>)byyLQVmGC;#A&B;X<4>Gt!Pc1S0 zQP+Lk&^HMqkW^(gf(7nytC<r4dG*uJ;ygjJqKr3V?Y=!d`+nn(G9^NvuvupB#An6z zK)k}#hyW<a(-Qfhl#nUJMT*SpPM6Z0Eoy6h0IjI<wK9@SSt`K28JIyi^?I^vF9*mI z1r!c~<8SIf7JOFtR;Og;d|GHzWLayz&sP1xhm*t7f-G;#jpZ9~(4culZ`^?wCT~jO z?j<ovDD=u**P~}vQ|d+i+%72@7-)w&O(wj)_-psO&HcEXq*5!3F{eswH>XRACW?H8 zo{zxt<qipISGbT&Yl?eTpBh#aWxIn-IIZv=nN=<__!_1V8-b4FDATlRyA^-#l{tm3 zC%VI<TQ!FF_x*!xEiIc$E5P`dwrh2_N#KBXjDECpWpz(rQTL#`ofE`3S4kq>l+qjL zB}b>h+>uU;EY>F>V&@`2et{<HU+Hn++Kp<<&RGkK3AaTcf~!h4H6~tf)-dA(K-U@< ziYF9YW^mVYG7)k@6OVW9fwcn6H{$z^RZ=nrD%q^*hx`aqPYP@8y>#65$}Gb6KQCB; z7C;L=GQaG(g861!07TbPZk-CG8+8Hic>7Ong^-o~{l8>TgXU>0?_39x)J86qSZR=- z8r7B&D7R=~<P5a2yBO7#z6;|RbUHX%4h20?^DQ;FqD6lvUMo~)w%}Ga+~i;e^R*Vn zS!)+!vC9(7&iop|FDHxSG>%3-klt>Ew9Oh!ySh{xk5MIb0;`KWqzu0Aukc5QJRDkO zyu*X|X{b(#JBC=^*x$GL=Vne$EhSiFRxp9I?b#mLzKZgaq0^Rh9JVfOYvS;t(9<cQ zkJ0)1N%xe3@q=#Q4oUdPkV{|#mJG_yhJh3uEx8p4E#8^@{>c05pf3ENk@>!>QlRoW zoXlrLb8J@*_Z83B@V~;RZUtVgql9iotj(LCK^(-Gm`y_CYLi=vhA$|qaV!u$<s*$j zG>(jH@rkB>^l1{Un+D;;x%>>8OE<Ul9NmG==weu5KS0+d910fiURES5S7D(;!Pi0{ zR(`knVA|=p9L~i%kEpaP{tcfERFXu&EoWs@zJp@lN9O2iP!YN0+f~hJ`+tpq_yfX@ z7oOH>jo~Kp1IUAmNkL-1@0QNPPreQBW*IfVF5Atj+A3GI>L{zn-HjK&K51r|<*coJ z>xEX8&37y_i&-?>sX|y`6)TwJUNJZQY#L91=w}MYfH-O&(SQN^>%~%z!!J)bL;@!v zW|>MVelC|n-LT%vKu#>8UD=?szREmYH+{)5)A#-2>t70%RC^%>E5n{N2cU_te<LBN zahwZW9@u#1H|g%y%n1PJj{6Tx)-x5VRy}|@RICZMGC2)8ztpP#LnXssc?F4DDcKCr z_mWQG)a;q_Q9%(51T<+r;!XhVTsgxr&-Hz6{dshN%uT5f?XG*l+!vSDRzR*64JV8a z!GphxZPoe)qfHt6QK<Yi$M4v9ishxCkl!y1@2i?=1d2N*dXO?%7$z=%KpmZ4*RN*@ zm`!@yZBQ&*ACQ_|Fbk44!<2P{y&KFyx0rNnO$QyhpFRBY(hOa~CzKH}X_ufq>3P7a zh3ezqy1HO={K-W*WGG5kq;qTVRp7-o#hQDf->of2IgRtr1L%jouA_ufOR(K+&SP^e z@3`l+hy_d&ALXglBeUqQ57FsMd-c$+6d@s>u&aY`3;E@3CtQY*kam(8C+|*U%cO~l zB(O$*^V6reCI8;xAEBETAY)hh_ScB4!;Zy@>8X4fjnr&hw?BD~Xm)?UdHiEM#+BT_ z&kiE=(w0o0JT4;D*1#n+9WqHd)gMBvypdl0v3_uUpnl^}wuP6*s5K9GeCW9<>=sp_ zy;1sEN5+0Pvn7>Ip>sC8Xm22@^v?&c1gB@5%{NXo1i#qy-xsbV`KP&r^jSC#a)_Iy zJqnJZ=Ny(I2I3j{5T>}jeGV3oRXVyvgwL1j;I2|O;|x`}1%k?W%?YvC^@lGd^lne3 zUpgUkPv{DR{QH%khiiz+rAqQyX3s4cFB(-VSN!z3nCR4h;4mYDzga=+D(08i-qW0b zDBY)45c+QbSK6XbA0=^@R>wq15^E2M`;*DMrKY&e!x0*#aV?-0xRRIvr#2pVE(a5c zoANaKHBDYbjj-_wm)w)Y8f56|yR}EmjVzr(=V?kmkK(y|x_TP*sx9q<_4M<-^z#dN z`q=xKaS9JA{uaKmq?Glwe4qu8-B`Q#)y_EIU=YtQee{O@4}|IT+&fWsQ_9lEg~rO} z)8=j0VO^MGZvC8|@y(_?dsAO?K(h<yeZAer4P+g45T3Zob(YWza1~z*Z}n>|_-qL6 zdN2r*ma^rJkYmy4QWZ}O3!nZbPvM5vW*oX9MSdeldAQfN`Ufkbss&Qt{#sD3!zc40 ziZ(WeKP%+-c{n};55jJTxS{C}3Qu3{Z!`N_h2Qxd`X7FWK1~pq6=k$|u<|<A%~9>f zJ@ou@_4*oZb=2V16<K*=z)2jy(JT%hbVaLT^V#`3tpaiHZ@WUT%ppvH1rvQ;e)cNY z4k&5N&EI^c*#as#g{*VOsoN|T0KQa<O7Wn-015U3G%fOi%L1=__Z;`^wb)s8Dt%_$ zHo@SN&&=Slpk;<Xj%;hb^$TY4N(P8uf-wMlwcYkYd^zKx(}*fr(735Y!|or#=0-A$ zX=|Q!+XYpN`XTgeI`0{s90#S#d9~C&@M`g@Niww_>)4gM_ezNUtp>)%BitByLr&vr z$>$XP!z#CBuk{flbFVz0C#@<9XhqO_iq?3*_P%*kyscOx66RkWIuz#4$^E-gBjR4o zIS5E{4|np;-|U|m%V80gJO8fQ_v4|a>XWWa(#g&(A@^mVs55@<+9a9L-_cY}$aj8^ zPN&+x@rzIcaQ@S)w~->l3BIt&<VP>YM=T9`wbf`#iTA(zOQfzbddt5km;wbwU$W&G z5Kt`=93R<v@V==Gj!P#lS{WkRD>8q|48!yfSC+9H4Xuz}Xp5i1q$#olQqCK4@`w}T zhOcSijO3tg^Ctp<b+G-tk_1JSuxFaZ^6rcQfnxqpo<|&XQSW7|i!Dad@=R^-ZoCdN zN&3{OP~5#Mt;x$1afmZ;p5@mtpIRDLd*uDm%&w|PqlDQ(3{k_Yl7!Cg<h!CGI&C{U zOQ)+`>X%9nQPn$3WDY$4OXD}>2Qp9e(#J+U-JS!I@2bcfPYgL&pE+t22nd14UxtM! zk)F@v`H*D6I$J>%*>ZP!|D};ceOH3zWC?EkCsZ|Ae@4LioR`ZX*m>q}9ebQq&PUvC z%GblP`-ns=nL0_?pCl`|)yflG?npmTDv$Ndzjdp!(o1kaZ0q&g5kMBuEC|2Ng`UfC zihEzs-#_mHXNAB=k`RX}EjT_sb9XNNRK*@LN}HuJ!W}>$tg#-<tg!>KJlHKYI^+!e z$BK$IX8H<ygO9SgqAq{``H+S*6B6>YqZ2s71xKmnzE<H)0&)_-Y6kAk;Vj@lz~p)m zo(T&#uRY$#Mruc=7hLZ(SNc<_Qef+I6W<2zTTFQkpHRYtYBkfpLTQhUZmY-X8+lKA zk|;Yd#{v{qDGT+kjDP|*#bN}$Tt=q-@QqHKC)=xXEhX7pymo1+R~>T2%3PS;+&-Np zr`F;9*04)W+H}s^z{cY^ZAY_M@xDafhN1~uu%EhmbHc-;D~xHV8-aSDpH+*@X#K2K zTe`mmHD6}>Y9s)kX<&n<@jHyHMDRp`L+gSaQ=P?6UPE~XQc@;Aqb%)9+2?FTR!6TS zwekKpW~+Dipu6}~^<zU{ed;U@u`XDcJ0+UTs!_lH=Nqj&t8dw>3pbm14cuMLuzI`* zlj&1@81$7uBt%yu6*#f?+RE9N>|EY{ocTO1#yY`LbkGaE5)eYvUj|Ccx`*ZhGDlpL zndY?9l%j??a%J$`KHMyfL3*jv#-t)H>$H2FS=qp`y_dkVR<3|44#4b^fU^2ai&g-l zx!9=>=ss_Z7*DahkIO_xDl)PP)DfW-*-V!{ji)q>XE<g_%K$s&KHErJu&L=I_b=b{ zytn`SE6rxgk5f14;_5xmh@h{-A)jide#K_0f!;}Z{&)Vj^_!PLYOF+>s%?n<voL#p zqJ;P3pe1<eTn&YY88PQ_CDU|4c^jV}ERv#*<TRobX6UdMmLDk#DIkIaW5z(`6;SMW zj&qgCEY|{m+#lBGlpNXjwT&=1E`aJ?SB<xt)_w)D7qB|lEavV{4h*kTZ951NH0d>| zN^s@ho3t>WhK%9~J2^EZT-TQeJZOckFFe94`Rzl)wAoiDKd{QHvTnm}<GZ)yrYn-G zUvQE;lz{`6=BTNfw(0jtE2b}OK$5AT!<Nltu$kCv2Gp+n%lr98QL?0nqm;sdBRzSS zL3sX7sqHBB<m$i)c~oz!?UW(;%O#&Lw42_$!O>}=h<W4h<!BajE^E{v+^e97^GRZ+ zpPMv2vGGb`7Tt!;n?O|ol^|J1CU^DewKe~qj>Q-DR)GsCUmtVb-5y)$Y5j_5?CnbZ zdWG+b3`lm8S$78AQqdQW5;a!8Ro#jS`lo<L)c#gwa^&jBlDY1rr8O8A@5tIGEoBIl z@E$O#DZ-7lB1Q`S8U-Y|VjfrY2Ti(R@SDMIqT)jTI?Jfss~Lo60KK5ZeXf8~l$)(} zyMg45p2mfhhn@z2Rfj#xfVt;Ab}#Ik3vy_KpR9n1xT8aNq@tWr2gGRPU!1_rp|&`U z=K5Q-JHH0nonO^siPEFv%K={-%p6yQu1#3IQ4niMdm5#gmYUj5Qiwa&6%`3s7OFhP zvs*q%q(GvtD;-UC|6p^}IJQtbvQST}dvI;PpoQUWBR@QIJZVib&By$^QZ*+Sdou0J z2z6t=CG@KCFsZaB>}|}{d=Oqzr)9r81Hha{_rkR<oE?Vg<r)S8X+7=S76M;~Fum9R z%6<TVF#2>jUt8l}`5?qjFBz|Y;ExkbaK}(KKwaa5Zt9sVTNQqAT|I>C-|)qas`~Lv z91S^mFmXyf{<zvwP2)>UyR+=%*XAHGgtG$J7G2zGo!g_Vn6en&|HdKJ$b6w0XY;W+ z9-nGnwT&`j!WM#Hp1z%qN)$zp+SXV8b5{Eb$=7rH;D;aS<cac~LHv$_qG$e%1Khh7 z%aKkyhil@Xhjle{H|WBsZ|jxNDf+KO4TTC*?^)a4rLb(~n(I4}@3lP%Lk5y1@JVN> ze7d?JzIR&Pkg|@f`kzkKwHov@q(f?i!_2AK!f{^W@E@&iK|J_g<X&u_ty1AR;cW*x z@N+SCqnazz-@tXNYORV}$2S*xf?QSJ@@YKe(unW5t`vYoT|je&1>Lo+@(M~f6}OUP zuGwqFpqkb8&9hNX-WmFyp4VH>8XI-^!yx`AvTWQRhxx{Tt#1F*t#a;4b}h&%B>$et zZ@K-B{TNTIEFYr<wZ#&BMaWzX(dNngffG^XqG{EH@LJRfnY(>MpiaVd*<p=As~CFr z{aU9_9X*t$Epwdu9we86H6<voFBX?X&KVe0R8<e4Ze;(sTIebiGS?8mQ~7Km<M!Yy zI{B<G-_vbO-5(?BV_yL`f4rc{@TETqJx5w-u}C#Q?cfh|>hruVtn}FsW!u{7aZ2df zNX1HV8saFj7-2B(fi6L@!sj;!!B)m#0U$QU4Jo#fpL-K}GKHeht|V@jb-TMF*@Vrj zi5>RW_#$(J8PR`K|05A*L$e}5d9sRVMOIR3@uC|cJ9b*lrz3qox(Z<67$u~$p3pDl zIQvkq+LWpB#N#tdbOcNDStG^|WAN>cn}BaF4MTZk))O1`n+oB_fq(%yXHT3Pvb<|e zK*;0oCs9SDew_&kI?Bon3}DY^7Ps8Ub+uNirqk?Oy?2WyCBRh5VGU=6xpE-l7Q=z+ ztCV)-jLS<(GI&P)H+{J3F=+af%8vIn`l&$tbh7EL101$!t(b}9>$!q%b!9W)DP($( z`?@wyqwHj^_@tF5EQ_8C{2nX+IMi&kL6-?a>r<j0wx&?*>Gf3Fi}!8(()Xcye*{NK znSvCulE6QyxLd51;bJ>BS($yx5d&GkVIjuTsSxLHB<WPPG8)-<x0TD0m6U^YbbO~I z(>mT|7S4k>{n!i5P^R$J;WBeIX?H9})gQMC^UC)u)<1rf0nZ(LGea;X_o=J*xS64U zKD2MWi_s3YH#H6i-+XuGKNoKtyt7k9zgYk?FSx~yLg0~+6{54Cg_N|&rqOU-!_n;w z&B2)?`qsXHp<Q41*M9tQOJ@i6&QJ!rH}N!i*w5<?ajv5S4n^vvb^ZNtqj{NcdKG1m z@r<_xAV^19!r%&S9p%9gB|5NZii5L|uScg_S~egDU(4Th_=%|hRI`#4QMNF9^bA7z z>fJPXgR*;*rpxqDXa|3g&LVE#42y|V4bj!f|GpXJ-NnH)c=zmrJnssg{gxB+L!&{& zyx=lhHgUOT_aed|2<-UiGDCsmFeoBL>%l|T2PqVz`Dw^eMmJ`)otu2-#kY|ha*D_A z?dK}Rm^bmQNADzRZ~Ink$Y;H@{$XjPi74$d)NxXre&3LIqq1}$KI?cCvADN0^IY6o z5f@=~Q4u+HeCS#}L|pedTuSv>aVo}=^*|w2OFx(gtv*B^7h8%GrQ0#rfPa%VeU0@U zDKRwRDY8dxfNekbJ-3N-;PBg!@VZ6dqFk9>>8{yv^A#}v&3xpI0UtcslC#CMMke1G zzL~_I{_7<2;GDqCl_YbtI;t5qn&JRhPnLPIu4og9)pnG|4JZQnbZjqHrF{`x@HNeq zz;fIXs9Xfy^)#aH)q?uj*J?n9b?cU?ZPn*AIN3rVYf-EWL=IF5D*WeOViKKOHeL<z z#^U1P2})&J<pffl=N56Vv-vt_q1t=WWzeWpnIuiw=9utvz`6r*eAWBvR(NOYY<-*3 z<_(fND#1Sx19#T2ykNxF%?Jb$rb5o?5G;U3QdT;5W$F&mcFnofQ3rr7sLR;AfApYr zzGWB{FVk-P<lRZri~Eyv#M4h_My%OW<LAm=pE&Nn^JS=>vmg%lm6x36=0@+3)eZN@ z(#s5_6{a^TG90S8jyr$dcdwG+aR1Ihg>WyPQtdq>s$H7L_hISixe=LoVXX?qQ5f7L z9w;_o^!o95{8Fj;h2mCg8lZ<n4YEErRXu<?ubHNIQO;LdD$jqIrhmaJFS;tUj<u%W zwDhVIi$kz|&crligO0M6Fgao-by?<hUv|6Y^!P~G3t^uOOeW)X^=g^hgA}MTV0C$g zS&LbL%pGd^h+MhDG4bI3r#oXxvnv&(N%0RD>ep6ly)5FiBCRL)e%mZ|>HPA`XisZr z!x~hT!=V!6srflgwVc&+|7HvNHZ*yctWFD`a5!`P%ZB7FbfaZ+txzeUy5DbQVI3hf zjX6%|$*f$<@iG=2QFfC+FB1Y>-&vYX@1A2CW~QrHNs3AS$FfsHe#DLlGr$SdCX2ml zu^w&Z*b;i7N`eXZ{p09X`KUcYLbX(8Y+Dd_f_;u?V0n=x*R*X_`Vwxjt6xd@ut*{$ z%Ut)QwuoBx)??NLj_Wc77E#2jB3S71R+b)F4~sjH$9f#qiq574wm#EJLu6DJvCQ4e zT#Dg9XUWfW$2D3{ZX|UD<}E}PY*ifl1Q)AJXhwON=febMVS|czJ7{$ez|a;g6D-@J zCP2Zuyg<D4KNo67)7YS!WcL(~8!<f8rZtF%GxWqsbWzr1IeW(l^)`}!T8Gml7G$Ut z9g!vGzq5f!X7-nMQ}Hr;dlFvv!{zlDes#%cdo%sqwAB}xk7_h9W8cx>NvyN1TahOu zUmHcs7lxyKEZYkSQT50A|MaL7giYk4MR7HaSikb4+WQhy+@y6<mOxCU;o@{?jvzrB zrACc95%J*I*yK$QCPmawvU9tvD{YhUKDQ5HVhu*|xa2`7Py5{?N!nLRAG?t6*_fYC z?99R_PQzSH2&~Z)sPd(VL~fASD&*I}>^~EQY$_66yalA;KFuAAW*DDw`HnQuNYnR^ z0P{3BQg6}9#l3mwo;fTK5dZQOL^}rYk=Cb7j{kD0A`g_8tQ&csTl7;sW-3g`TU|f4 z{d6Jv!A~i{ovqmVQ$04j*N=@teTxI6akDB}g-rojY=iTWR@^}jN*l_}B+SCDoT(=l zSNWhGSQ}=1HtHmHL7W@jJuCU3!lV#oYfWB%HXc|Z=MCE7(y4ez9{ib9xD6JeGHYn- zi8cP41wC*Qo%ZYSFy6oGnfiW?*~`20F@_IYrPI6IqnG)^edpwPm^tcgs?~iUG@`@s z&M;LO(vR{qgFS2@2#MdwR2bNpIX*}xqUKywXh&1N)Ao%%yyEnWsRr5l6f*wH-{-d5 zu5Ez(>r=tmLZo!QSf&XZ%0nZ`bI_n1C78i_lJiZ~nx4xTA80ws^f9V4bm7x{5~Lyf zr}V@lE=4`9Jjsb3k5W&*o*g_had()=;D4L{_*2r}wr9!BQJ9&7cAPe9R$l(~>4fIM zsmaz<j0q4PSdQ8xDoQK|(#b2ILK#zzb7sRojR9K5xFf{yJ0jKnnGWTEF3{_L!e7T0 zgkZ3VMWtgiE~(yo=azuQ`HMSf>duM*(t4X#`#LYvM5iyVfhv*TAAuUBCW(PwqQ*9V z7C#FqePNiT65N)ZQ9+>ZI|jQK$FG14bA%T_X|99yO3_WC{w~2BN+A_K4O1RyyzFr1 zS~h?k_0kx&h7Gcao+g>xO^WGb$<Fc{maRse<+*jC925#d#jA9zEzT;sVy(X2wDhp! zdsS1D#z5mE5O&Nle;g<)d`?mMu#Rq;@UJ(_*lZgA$H5GC`Z;~EgVcYNzr#Czz;Ck! zIWZKOS8JDC%@M;8oMKDzl_Lsi5D)}>69e>xM4mn}ywewOP=EK*rK?lFJp$nLie|oT z7-)L|Q_H?wpYXkyozn8OLAZ6y+>&V%od%R#CzCIVZfhIcgbGaiPEwMo9%HEymCWss zzg_~;HA&_{Vb%Mp`i0nNh^TIX{<1YKTO09JJ3wl`+UmdW!sL<O2Y@MTJp`fnNAvP2 zLk%+bG2Ecio!0k<=Zo%#SK31<F3|c3$pKcj7?H~IbDN@4%5a+a3|^=B5gwYp0PO(W ztG@Vm=`1f$WB!q0+Nw5=rsHcJqBmw(w}|@~cJjwtP+i@^sY(1Z-_~MEdN2Zz*}W2^ zCUKB8<SILPpL^X#4kuE}cF{ukQ{WycsBd~D6semg6dQlcf#yOJ7D}a`&7W&74GZX| zzdySe^v5$9z0iUSHn%wAjd%J=&#+|^M#8@`db59ewy0n*ZGlziHa<%$u|Hy<+h6f^ z9b<Os09|88xC+kmD5#AR(HpiE6r=!a+B!`tX!mdYP}exut*z{h;MpSVE^X`&%r{Xx zI=|eAfl^D#XFRH@vc@@+D@+Wyw58S^^N#QjmkC@-5nk(dEt7zOOkV1d_lJsmi&<=k za$9`|lpb1w{Q)o)L7VnbWr5R$N9SN_D)-o(V1p>q{=QD_@zLg0(IZtK`+7~<pAA5i z_Slu;Wes!K2IG#K%rKRhEn$ZI&dmvE0gte#S0gtqx;9?Bg>-zi0-sG?=$40dal1^+ z66b&Jt6o)UKhpziysv=eLL(|&&yU!bF$ALjvqWfzh<zm<9-eyMwU#(<C~hj4bVC#z z%XF%7_o4SOkq-0I^oIO2_Khj={u%#lzIzJ+pk+MJh`*th*r$Z%mZ<mf(12wlhKxL= z!aDdpN5S9Gw*%Dz!ggDy=eBQZd<m`Xkq6#dOLHX`UOg*R?4-<y$%S$$abokt&<TD$ zvlcPre(xupd+ZFCE*9BcVNwlOFTEiRCh9F%xp-3dPOx9D3_>iz^on^A8m`$%Jd5b= zB91u|mq6c=-Ea6GTb;4giUNa<$=oJCzCduD6(jzq-Ji5IYmWF@nwOef21J()l2!3F ziqb_JFi^ztC!fgxN34#em++JJNV+_LK48%!6O{I&#rOJeDT6oar6E@@Jw;6nh-BJo zzu<7sB|Ajh>pqJQi|PaN<%B~3QlizGjj=Ze7y}e{vakN)JyDq2!)a>)1!MhyG05|F z?f>Et9V$GcnFyXPWxlB3odGOr!BznG_GQ>H*Lr{57RW_OkGE7gm|{*T2J}m{f9PQZ zW*4=LrcaylU@=|AOa%Uu-}(qHk7?86|Bxd%qKd`-=jWT={}qP0bV>R@Y_uYY|Cl)> z{>LZ6<v%_VPwoG+bI<V~pNO%$|JNtt|3CWo8UMd?AlselS}SvxQSbhXzNYm;?|JPr Ho45Z5EgK0e diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 215d0d5a..adf6ca95 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -27,54 +27,60 @@ const { module.exports = class WireGuard { + async __buildConfig() { + this.__configPromise = Promise.resolve().then(async () => { + if (!WG_HOST) { + throw new Error('WG_HOST Environment Variable Not Set!'); + } + + debug('Loading configuration...'); + let config; + try { + config = await fs.readFile(path.join(WG_PATH, 'wg0.json'), 'utf8'); + config = JSON.parse(config); + debug('Configuration loaded.'); + } catch (err) { + const privateKey = await Util.exec('wg genkey'); + const publicKey = await Util.exec(`echo ${privateKey} | wg pubkey`, { + log: 'echo ***hidden*** | wg pubkey', + }); + const address = WG_DEFAULT_ADDRESS.replace('x', '1'); + + config = { + server: { + privateKey, + publicKey, + address, + }, + clients: {}, + }; + debug('Configuration generated.'); + } + + return config; + }); + + return this.__configPromise; + } + async getConfig() { if (!this.__configPromise) { - this.__configPromise = Promise.resolve().then(async () => { - if (!WG_HOST) { - throw new Error('WG_HOST Environment Variable Not Set!'); - } + const config = await this.__buildConfig(); - debug('Loading configuration...'); - let config; - try { - config = await fs.readFile(path.join(WG_PATH, 'wg0.json'), 'utf8'); - config = JSON.parse(config); - debug('Configuration loaded.'); - } catch (err) { - const privateKey = await Util.exec('wg genkey'); - const publicKey = await Util.exec(`echo ${privateKey} | wg pubkey`, { - log: 'echo ***hidden*** | wg pubkey', - }); - const address = WG_DEFAULT_ADDRESS.replace('x', '1'); - - config = { - server: { - privateKey, - publicKey, - address, - }, - clients: {}, - }; - debug('Configuration generated.'); + await this.__saveConfig(config); + await Util.exec('wg-quick down wg0').catch(() => {}); + await Util.exec('wg-quick up wg0').catch((err) => { + if (err && err.message && err.message.includes('Cannot find device "wg0"')) { + throw new Error('WireGuard exited with the error: Cannot find device "wg0"\nThis usually means that your host\'s kernel does not support WireGuard!'); } - await this.__saveConfig(config); - await Util.exec('wg-quick down wg0').catch(() => { }); - await Util.exec('wg-quick up wg0').catch((err) => { - if (err && err.message && err.message.includes('Cannot find device "wg0"')) { - throw new Error('WireGuard exited with the error: Cannot find device "wg0"\nThis usually means that your host\'s kernel does not support WireGuard!'); - } - - throw err; - }); - // await Util.exec(`iptables -t nat -A POSTROUTING -s ${WG_DEFAULT_ADDRESS.replace('x', '0')}/24 -o ' + WG_DEVICE + ' -j MASQUERADE`); - // await Util.exec('iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT'); - // await Util.exec('iptables -A FORWARD -i wg0 -j ACCEPT'); - // await Util.exec('iptables -A FORWARD -o wg0 -j ACCEPT'); - await this.__syncConfig(); - - return config; + throw err; }); + // await Util.exec(`iptables -t nat -A POSTROUTING -s ${WG_DEFAULT_ADDRESS.replace('x', '0')}/24 -o ' + WG_DEVICE + ' -j MASQUERADE`); + // await Util.exec('iptables -A INPUT -p udp -m udp --dport 51820 -j ACCEPT'); + // await Util.exec('iptables -A FORWARD -i wg0 -j ACCEPT'); + // await Util.exec('iptables -A FORWARD -o wg0 -j ACCEPT'); + await this.__syncConfig(); } return this.__configPromise; @@ -227,7 +233,9 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; const config = await this.getConfig(); const privateKey = await Util.exec('wg genkey'); - const publicKey = await Util.exec(`echo ${privateKey} | wg pubkey`); + const publicKey = await Util.exec(`echo ${privateKey} | wg pubkey`, { + log: 'echo ***hidden*** | wg pubkey', + }); const preSharedKey = await Util.exec('wg genpsk'); // Calculate next IP @@ -319,25 +327,30 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; await this.saveConfig(); } - async ___forceRestart() { - this.__configPromise = null; - await this.saveConfig(); + async __reloadConfig() { + await this.__buildConfig(); + await this.__syncConfig(); } async restoreConfiguration(config) { + debug('Starting configuration restore process.'); const _config = JSON.parse(config); await this.__saveConfig(_config); - await this.___forceRestart(); + await this.__reloadConfig(); + debug('Configuration restore process completed.'); } async backupConfiguration() { + debug('Starting configuration backup.'); const config = await this.getConfig(); - return JSON.stringify(config, null, 2); + const backup = JSON.stringify(config, null, 2); + debug('Configuration backup completed.'); + return backup; } // Shutdown wireguard async Shutdown() { - await Util.exec('wg-quick down wg0').catch(() => { }); + await Util.exec('wg-quick down wg0').catch(() => {}); } }; diff --git a/src/www/index.html b/src/www/index.html index 314e7fbe..c68b1841 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -94,9 +94,8 @@ <!-- Restore configuration --> <label for="inputRC" :title="$t('titleRestoreConfig')" class="hover:cursor-pointer hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-2 -2 18 18" stroke="currentColor"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z" /> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> + <path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path> </svg> <span class="text-sm">{{$t("restore")}}</span> <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" class="hidden"/> @@ -104,9 +103,8 @@ <!-- Backup configuration --> <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="-2 -2 18 18" stroke="currentColor"> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 2H9v3h2z" /> - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M1.5 0h11.586a1.5 1.5 0 0 1 1.06.44l1.415 1.414A1.5 1.5 0 0 1 16 2.914V14.5a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13A1.5 1.5 0 0 1 1.5 0M1 1.5v13a.5.5 0 0 0 .5.5H2v-4.5A1.5 1.5 0 0 1 3.5 9h9a1.5 1.5 0 0 1 1.5 1.5V15h.5a.5.5 0 0 0 .5-.5V2.914a.5.5 0 0 0-.146-.353l-1.415-1.415A.5.5 0 0 0 13.086 1H13v4.5A1.5 1.5 0 0 1 11.5 7h-7A1.5 1.5 0 0 1 3 5.5V1H1.5a.5.5 0 0 0-.5.5m3 4a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5V1H4zM3 15h10v-4.5a.5.5 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5z" /> + <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> + <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z"></path> </svg> <span class="text-sm">{{$t("backup")}}</span> </a> From 62ea932d33f5299e2bd0ab742412aac7862a2254 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:46:35 +0000 Subject: [PATCH 66/98] npm: package updates --- src/www/css/app.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/www/css/app.css b/src/www/css/app.css index 472b2ac8..c5112366 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -802,6 +802,11 @@ video { display: none; } +.size-6 { + width: 1.5rem; + height: 1.5rem; +} + .h-1 { height: 0.25rem; } From 9a19430dc8355eb96cf023939e460dd71c27c03e Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Fri, 12 Jul 2024 19:22:15 +0200 Subject: [PATCH 67/98] feat: generate PASSWORD_HASH on the fly * remove PASSWORD environment variable in favor of PASSWORD_HASH * enhance password validity check server function * update Dockerfile to include building a binary for generating hashed password * update README with comprehensive Docker usage instructions hash generation --- .dockerignore | 4 +- Dockerfile | 12 ++ README.md | 2 +- src/config.js | 1 - src/lib/Server.js | 11 +- wg-password/.gitignore | 2 + wg-password/Cargo.lock | 357 ++++++++++++++++++++++++++++++++++++++++ wg-password/Cargo.toml | 17 ++ wg-password/PASSWORD.md | 25 +++ wg-password/src/main.rs | 39 +++++ 10 files changed, 458 insertions(+), 12 deletions(-) create mode 100644 wg-password/.gitignore create mode 100644 wg-password/Cargo.lock create mode 100644 wg-password/Cargo.toml create mode 100644 wg-password/PASSWORD.md create mode 100644 wg-password/src/main.rs diff --git a/.dockerignore b/.dockerignore index ca447caf..ef9f460e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,3 @@ -/src/node_modules \ No newline at end of file +/src/node_modules +/wg-password/target +/wg-password/index.js \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ca427af2..276fec93 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,12 @@ +# Build wg-password binary using Rust on Alpine +FROM rust:1.79.0-alpine AS build_password_binary + +WORKDIR /wg-password +COPY wg-password . + +# Build the Rust project +RUN cargo build --release + # As a workaround we have to build on nodejs 18 # nodejs 20 hangs on build with armv6/armv7 FROM docker.io/library/node:18-alpine AS build_node_modules @@ -26,6 +35,9 @@ COPY --from=build_node_modules /app /app # than what runs inside of docker. COPY --from=build_node_modules /node_modules /node_modules +# Copy the compiled password binary from the build stage to /bin/ +COPY --from=build_password_binary /wg-password/target/release/wgpw /bin/ + # Install Linux packages RUN apk add --no-cache \ dpkg \ diff --git a/README.md b/README.md index 81d531a7..f805100d 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ To automatically install & run wg-easy, simply run: > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. > -> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See How_to_generate_an_bcrypt_hash.md for know how generate the hash. +> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See [PASSWORD.md](./wg-password/PASSWORD.md) for know how generate the hash. The Web UI will now be available on `http://0.0.0.0:51821`. diff --git a/src/config.js b/src/config.js index 40b70ddf..ac4b407a 100644 --- a/src/config.js +++ b/src/config.js @@ -5,7 +5,6 @@ const { release } = require('./package.json'); module.exports.RELEASE = release; module.exports.PORT = process.env.PORT || '51821'; module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0'; -module.exports.PASSWORD = process.env.PASSWORD; module.exports.PASSWORD_HASH = process.env.PASSWORD_HASH; module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; diff --git a/src/lib/Server.js b/src/lib/Server.js index d995bb69..7f06da50 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -28,22 +28,18 @@ const { PORT, WEBUI_HOST, RELEASE, - PASSWORD, PASSWORD_HASH, LANG, UI_TRAFFIC_STATS, UI_CHART_TYPE, } = require('../config'); -const requiresPassword = !!PASSWORD || !!PASSWORD_HASH; +const requiresPassword = !!PASSWORD_HASH; /** * Checks if `password` matches the PASSWORD_HASH. * - * For backward compatibility it also allows `password` to match the clear text PASSWORD, - * but only if no PASSWORD_HASH is provided. - * - * If both enviornment variables are not set, the password is always invalid. + * If environment variable is not set, the password is always invalid. * * @param {string} password String to test * @returns {boolean} true if matching environment, otherwise false @@ -56,9 +52,6 @@ const isPasswordValid = (password) => { if (PASSWORD_HASH) { return bcrypt.compareSync(password, PASSWORD_HASH); } - if (PASSWORD) { - return password === PASSWORD; - } return false; }; diff --git a/wg-password/.gitignore b/wg-password/.gitignore new file mode 100644 index 00000000..9b9783d9 --- /dev/null +++ b/wg-password/.gitignore @@ -0,0 +1,2 @@ +target +index.mjs \ No newline at end of file diff --git a/wg-password/Cargo.lock b/wg-password/Cargo.lock new file mode 100644 index 00000000..5adbf6bf --- /dev/null +++ b/wg-password/Cargo.lock @@ -0,0 +1,357 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "assert_cmd" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +dependencies = [ + "anstyle", + "bstr", + "doc-comment", + "predicates", + "predicates-core", + "predicates-tree", + "wait-timeout", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bcrypt" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7" +dependencies = [ + "base64", + "blowfish", + "getrandom", + "subtle", + "zeroize", +] + +[[package]] +name = "blowfish" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" +dependencies = [ + "byteorder", + "cipher", +] + +[[package]] +name = "bstr" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +dependencies = [ + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "predicates" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +dependencies = [ + "anstyle", + "difflib", + "float-cmp", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "serde" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wg-password" +version = "0.1.1" +dependencies = [ + "assert_cmd", + "bcrypt", + "predicates", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/wg-password/Cargo.toml b/wg-password/Cargo.toml new file mode 100644 index 00000000..8f4860c0 --- /dev/null +++ b/wg-password/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "wg-password" +version = "0.1.1" +authors = ["tetuaoro <65575727+tetuaoro@users.noreply.github.com>"] +description = "A binary to create bcrypt password hashes for wg-easy, enhancing security." +edition = "2021" + +[dependencies] +bcrypt = "0.15.1" + +[dev-dependencies] +assert_cmd = "2.0" +predicates = "3.0" + +[[bin]] +name = "wgpw" +path = "src/main.rs" diff --git a/wg-password/PASSWORD.md b/wg-password/PASSWORD.md new file mode 100644 index 00000000..1171c036 --- /dev/null +++ b/wg-password/PASSWORD.md @@ -0,0 +1,25 @@ +# wg-password + +`wg-password` is a Rust binary that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. + +## Features + +- Generate bcrypt password hashes. +- Easily integrate with `wg-easy` to enforce password requirements. + +## Usage with Docker + +To generate a bcrypt password hash using Docker, run the following command: + +```sh +docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD +PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // litteraly YOUR_PASSWORD +``` + +## Important + +Make sure to enclose your password in single quotes when you run a linux host and *don't use double* `$`. [See](../How_to_generate_an_bcrypt_hash.md#generating-bcrypt-hash-from-an-script-file). + +## LICENSE + +[wg-easy license](../LICENSE) \ No newline at end of file diff --git a/wg-password/src/main.rs b/wg-password/src/main.rs new file mode 100644 index 00000000..3dc1df55 --- /dev/null +++ b/wg-password/src/main.rs @@ -0,0 +1,39 @@ +fn main() { + let args = std::env::args(); + let collect = args.collect::<Vec<String>>(); + match collect.get(1) { + None => panic!("Your password was missing !"), + Some(password) => match bcrypt::hash(password, bcrypt::DEFAULT_COST) { + Err(err) => eprintln!("{}", err.to_string()), + Ok(hash) => println!("PASSWORD_HASH='{hash}'"), + }, + } +} + +#[cfg(test)] +mod test { + use assert_cmd::Command; + use predicates::prelude::*; + + #[test] + fn test_missing_password() { + // Test when no password is provided + let mut cmd = Command::cargo_bin("wgpw").unwrap(); + cmd.assert() + .failure() + .stderr(predicate::str::contains("Your password was missing !")); + } + + #[test] + fn test_generate_password() { + // Test with a valid password + let mut cmd = Command::cargo_bin("wgpw").unwrap(); + cmd.arg("my_password") + .assert() + .success() + .stdout(predicate::str::contains("PASSWORD_HASH='")); + } + + // fn test_invalid_password() { + // } +} From 8bfcb5d502bb8a0681eda7c291134150dc76c3d7 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Fri, 12 Jul 2024 22:39:26 +0200 Subject: [PATCH 68/98] fix: try fix git action docker build --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 276fec93..790da754 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build wg-password binary using Rust on Alpine -FROM rust:1.79.0-alpine AS build_password_binary +FROM docker.io/library/rust:1.79.0-alpine AS build_password_binary WORKDIR /wg-password COPY wg-password . From cc5d45b83397dbf0f814567bfc62c3f63998ab29 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Sun, 14 Jul 2024 16:43:53 +0200 Subject: [PATCH 69/98] Dockerfile: use alpine-base image and install required build packages --- Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 790da754..48a22d08 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,13 @@ # Build wg-password binary using Rust on Alpine -FROM docker.io/library/rust:1.79.0-alpine AS build_password_binary +FROM docker.io/library/alpine AS build_password_binary WORKDIR /wg-password COPY wg-password . # Build the Rust project +RUN apk add --no-cache \ + rust \ + cargo RUN cargo build --release # As a workaround we have to build on nodejs 18 From 883ca34182f021ea99455e2ed6fd8218e9228e57 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Sun, 14 Jul 2024 17:13:27 +0200 Subject: [PATCH 70/98] rewrite in js --- .dockerignore | 3 +- Dockerfile | 25 +-- wg-password/.gitignore | 4 +- wg-password/Cargo.lock | 357 --------------------------------------- wg-password/Cargo.toml | 17 -- wg-password/PASSWORD.md | 2 +- wg-password/index.mjs | 49 ++++++ wg-password/package.json | 13 ++ wg-password/src/main.rs | 39 ----- wg-password/wgpw.sh | 6 + 10 files changed, 85 insertions(+), 430 deletions(-) delete mode 100644 wg-password/Cargo.lock delete mode 100644 wg-password/Cargo.toml create mode 100644 wg-password/index.mjs create mode 100644 wg-password/package.json delete mode 100644 wg-password/src/main.rs create mode 100755 wg-password/wgpw.sh diff --git a/.dockerignore b/.dockerignore index ef9f460e..ffa1787a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,2 @@ /src/node_modules -/wg-password/target -/wg-password/index.js \ No newline at end of file +/wg-password/node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 790da754..54c06a6b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,3 @@ -# Build wg-password binary using Rust on Alpine -FROM docker.io/library/rust:1.79.0-alpine AS build_password_binary - -WORKDIR /wg-password -COPY wg-password . - -# Build the Rust project -RUN cargo build --release - # As a workaround we have to build on nodejs 18 # nodejs 20 hangs on build with armv6/armv7 FROM docker.io/library/node:18-alpine AS build_node_modules @@ -20,6 +11,12 @@ WORKDIR /app RUN npm ci --omit=dev &&\ mv node_modules /node_modules +# Copy script wg-password +COPY wg-password /wgpw +WORKDIR /wgpw +RUN npm i --omit=dev &&\ + mv node_modules /node_modules_wg + # Copy build result to a new image. # This saves a lot of disk space. FROM docker.io/library/node:20-alpine @@ -35,8 +32,12 @@ COPY --from=build_node_modules /app /app # than what runs inside of docker. COPY --from=build_node_modules /node_modules /node_modules -# Copy the compiled password binary from the build stage to /bin/ -COPY --from=build_password_binary /wg-password/target/release/wgpw /bin/ +# Copy the needed wg-password scripts +COPY --from=build_node_modules /node_modules_wg /node_modules_wg +COPY --from=build_node_modules /wgpw/index.mjs /wgpw/index.mjs +COPY --from=build_node_modules /wgpw/wgpw.sh /bin/wgpw + +RUN chmod +x /bin/wgpw # Install Linux packages RUN apk add --no-cache \ @@ -54,4 +55,4 @@ ENV DEBUG=Server,WireGuard # Run Web UI WORKDIR /app -CMD ["/usr/bin/dumb-init", "node", "server.js"] +CMD ["/usr/bin/dumb-init", "node", "server.js"] \ No newline at end of file diff --git a/wg-password/.gitignore b/wg-password/.gitignore index 9b9783d9..e83bf3ec 100644 --- a/wg-password/.gitignore +++ b/wg-password/.gitignore @@ -1,2 +1,2 @@ -target -index.mjs \ No newline at end of file +pnpm-lock.yaml +node_modules \ No newline at end of file diff --git a/wg-password/Cargo.lock b/wg-password/Cargo.lock deleted file mode 100644 index 5adbf6bf..00000000 --- a/wg-password/Cargo.lock +++ /dev/null @@ -1,357 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "anstyle" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" - -[[package]] -name = "assert_cmd" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" -dependencies = [ - "anstyle", - "bstr", - "doc-comment", - "predicates", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bcrypt" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7" -dependencies = [ - "base64", - "blowfish", - "getrandom", - "subtle", - "zeroize", -] - -[[package]] -name = "blowfish" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" -dependencies = [ - "byteorder", - "cipher", -] - -[[package]] -name = "bstr" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" -dependencies = [ - "memchr", - "regex-automata", - "serde", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "predicates" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" -dependencies = [ - "anstyle", - "difflib", - "float-cmp", - "normalize-line-endings", - "predicates-core", - "regex", -] - -[[package]] -name = "predicates-core" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" - -[[package]] -name = "predicates-tree" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "regex" -version = "1.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "serde" -version = "1.0.204" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.204" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "termtree" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wg-password" -version = "0.1.1" -dependencies = [ - "assert_cmd", - "bcrypt", - "predicates", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/wg-password/Cargo.toml b/wg-password/Cargo.toml deleted file mode 100644 index 8f4860c0..00000000 --- a/wg-password/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "wg-password" -version = "0.1.1" -authors = ["tetuaoro <65575727+tetuaoro@users.noreply.github.com>"] -description = "A binary to create bcrypt password hashes for wg-easy, enhancing security." -edition = "2021" - -[dependencies] -bcrypt = "0.15.1" - -[dev-dependencies] -assert_cmd = "2.0" -predicates = "3.0" - -[[bin]] -name = "wgpw" -path = "src/main.rs" diff --git a/wg-password/PASSWORD.md b/wg-password/PASSWORD.md index 1171c036..280a2b0d 100644 --- a/wg-password/PASSWORD.md +++ b/wg-password/PASSWORD.md @@ -1,6 +1,6 @@ # wg-password -`wg-password` is a Rust binary that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. +`wg-password` is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. ## Features diff --git a/wg-password/index.mjs b/wg-password/index.mjs new file mode 100644 index 00000000..59cc419d --- /dev/null +++ b/wg-password/index.mjs @@ -0,0 +1,49 @@ +// Import needed libraries +import bcrypt from 'bcryptjs'; + +// Function to generate hash +const generateHash = async (password) => { + try { + const salt = await bcrypt.genSalt(12); + const hash = await bcrypt.hash(password, salt); + console.log(`PASSWORD_HASH='${hash}'`); + } catch (error) { + throw new Error(`Failed to generate hash : ${error}`); + } +} + +// Function to compare password with hash +const comparePassword = async (password, hash) => { + try { + const match = await bcrypt.compare(password, hash); + if (match) { + console.log('Password matches the hash !'); + } else { + console.log('Password does not match the hash.'); + } + } catch (error) { + throw new Error(`Failed to compare password and hash : ${error}`); + } +} + +(async () => { + try { + // Retrieve command line arguments + const args = process.argv.slice(2); // Ignore the first two arguments + if (args.length > 2) { + throw new Error('Usage : wgpw YOUR_PASSWORD [HASH]'); + } + + const [password, hash] = args; + if (password && hash) { + await comparePassword(password, hash); + } else if (password) { + await generateHash(password); + } + + process.exit(0); + } catch (error) { + console.error(error); + process.exit(1); + } +})(); diff --git a/wg-password/package.json b/wg-password/package.json new file mode 100644 index 00000000..ab33138b --- /dev/null +++ b/wg-password/package.json @@ -0,0 +1,13 @@ +{ + "name": "wg-password", + "version": "1.0.1", + "description": "A binary to create bcrypt password hashes for wg-easy, enhancing security.", + "main": "index.mjs", + "author": "tetuaoro <65575727+tetuaoro@users.noreply.github.com>", + "dependencies": { + "bcryptjs": "^2.4.3" + }, + "engines": { + "node": ">=18" + } +} \ No newline at end of file diff --git a/wg-password/src/main.rs b/wg-password/src/main.rs deleted file mode 100644 index 3dc1df55..00000000 --- a/wg-password/src/main.rs +++ /dev/null @@ -1,39 +0,0 @@ -fn main() { - let args = std::env::args(); - let collect = args.collect::<Vec<String>>(); - match collect.get(1) { - None => panic!("Your password was missing !"), - Some(password) => match bcrypt::hash(password, bcrypt::DEFAULT_COST) { - Err(err) => eprintln!("{}", err.to_string()), - Ok(hash) => println!("PASSWORD_HASH='{hash}'"), - }, - } -} - -#[cfg(test)] -mod test { - use assert_cmd::Command; - use predicates::prelude::*; - - #[test] - fn test_missing_password() { - // Test when no password is provided - let mut cmd = Command::cargo_bin("wgpw").unwrap(); - cmd.assert() - .failure() - .stderr(predicate::str::contains("Your password was missing !")); - } - - #[test] - fn test_generate_password() { - // Test with a valid password - let mut cmd = Command::cargo_bin("wgpw").unwrap(); - cmd.arg("my_password") - .assert() - .success() - .stdout(predicate::str::contains("PASSWORD_HASH='")); - } - - // fn test_invalid_password() { - // } -} diff --git a/wg-password/wgpw.sh b/wg-password/wgpw.sh new file mode 100755 index 00000000..abcfec53 --- /dev/null +++ b/wg-password/wgpw.sh @@ -0,0 +1,6 @@ +#!/bin/sh +# This script is intended to be run only inside a docker container, not on the development host machine +set -e +# proxy command +export NODE_PATH="/node_modules_wg" +node /wgpw/index.mjs "$@" \ No newline at end of file From a9c798deda2628acf0c786acd6942feff9f33fb3 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Sun, 14 Jul 2024 17:58:34 +0200 Subject: [PATCH 71/98] move files --- Dockerfile | 11 +---------- wg-password/index.mjs => src/wgpw.mjs | 0 {wg-password => src}/wgpw.sh | 3 +-- wg-password/.gitignore | 2 -- wg-password/PASSWORD.md | 25 ------------------------- wg-password/package.json | 13 ------------- 6 files changed, 2 insertions(+), 52 deletions(-) rename wg-password/index.mjs => src/wgpw.mjs (100%) rename {wg-password => src}/wgpw.sh (69%) delete mode 100644 wg-password/.gitignore delete mode 100644 wg-password/PASSWORD.md delete mode 100644 wg-password/package.json diff --git a/Dockerfile b/Dockerfile index 54c06a6b..c9238f39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,12 +11,6 @@ WORKDIR /app RUN npm ci --omit=dev &&\ mv node_modules /node_modules -# Copy script wg-password -COPY wg-password /wgpw -WORKDIR /wgpw -RUN npm i --omit=dev &&\ - mv node_modules /node_modules_wg - # Copy build result to a new image. # This saves a lot of disk space. FROM docker.io/library/node:20-alpine @@ -33,10 +27,7 @@ COPY --from=build_node_modules /app /app COPY --from=build_node_modules /node_modules /node_modules # Copy the needed wg-password scripts -COPY --from=build_node_modules /node_modules_wg /node_modules_wg -COPY --from=build_node_modules /wgpw/index.mjs /wgpw/index.mjs -COPY --from=build_node_modules /wgpw/wgpw.sh /bin/wgpw - +COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw RUN chmod +x /bin/wgpw # Install Linux packages diff --git a/wg-password/index.mjs b/src/wgpw.mjs similarity index 100% rename from wg-password/index.mjs rename to src/wgpw.mjs diff --git a/wg-password/wgpw.sh b/src/wgpw.sh similarity index 69% rename from wg-password/wgpw.sh rename to src/wgpw.sh index abcfec53..aac6afa1 100755 --- a/wg-password/wgpw.sh +++ b/src/wgpw.sh @@ -2,5 +2,4 @@ # This script is intended to be run only inside a docker container, not on the development host machine set -e # proxy command -export NODE_PATH="/node_modules_wg" -node /wgpw/index.mjs "$@" \ No newline at end of file +node /app/wgpw.mjs "$@" \ No newline at end of file diff --git a/wg-password/.gitignore b/wg-password/.gitignore deleted file mode 100644 index e83bf3ec..00000000 --- a/wg-password/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -pnpm-lock.yaml -node_modules \ No newline at end of file diff --git a/wg-password/PASSWORD.md b/wg-password/PASSWORD.md deleted file mode 100644 index 280a2b0d..00000000 --- a/wg-password/PASSWORD.md +++ /dev/null @@ -1,25 +0,0 @@ -# wg-password - -`wg-password` is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. - -## Features - -- Generate bcrypt password hashes. -- Easily integrate with `wg-easy` to enforce password requirements. - -## Usage with Docker - -To generate a bcrypt password hash using Docker, run the following command: - -```sh -docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD -PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // litteraly YOUR_PASSWORD -``` - -## Important - -Make sure to enclose your password in single quotes when you run a linux host and *don't use double* `$`. [See](../How_to_generate_an_bcrypt_hash.md#generating-bcrypt-hash-from-an-script-file). - -## LICENSE - -[wg-easy license](../LICENSE) \ No newline at end of file diff --git a/wg-password/package.json b/wg-password/package.json deleted file mode 100644 index ab33138b..00000000 --- a/wg-password/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "wg-password", - "version": "1.0.1", - "description": "A binary to create bcrypt password hashes for wg-easy, enhancing security.", - "main": "index.mjs", - "author": "tetuaoro <65575727+tetuaoro@users.noreply.github.com>", - "dependencies": { - "bcryptjs": "^2.4.3" - }, - "engines": { - "node": ">=18" - } -} \ No newline at end of file From f5d93f6c5a92771aae47e6ea0e5f37fc51784004 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:09:13 +0200 Subject: [PATCH 72/98] fix: lint errors --- src/wgpw.mjs | 75 ++++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/src/wgpw.mjs b/src/wgpw.mjs index 59cc419d..4062a73e 100644 --- a/src/wgpw.mjs +++ b/src/wgpw.mjs @@ -1,49 +1,54 @@ +'use strict'; + // Import needed libraries import bcrypt from 'bcryptjs'; // Function to generate hash const generateHash = async (password) => { - try { - const salt = await bcrypt.genSalt(12); - const hash = await bcrypt.hash(password, salt); - console.log(`PASSWORD_HASH='${hash}'`); - } catch (error) { - throw new Error(`Failed to generate hash : ${error}`); - } -} + try { + const salt = await bcrypt.genSalt(12); + const hash = await bcrypt.hash(password, salt); + // eslint-disable-next-line no-console + console.log(`PASSWORD_HASH='${hash}'`); + } catch (error) { + throw new Error(`Failed to generate hash : ${error}`); + } +}; // Function to compare password with hash const comparePassword = async (password, hash) => { - try { - const match = await bcrypt.compare(password, hash); - if (match) { - console.log('Password matches the hash !'); - } else { - console.log('Password does not match the hash.'); - } - } catch (error) { - throw new Error(`Failed to compare password and hash : ${error}`); + try { + const match = await bcrypt.compare(password, hash); + if (match) { + // eslint-disable-next-line no-console + console.log('Password matches the hash !'); + } else { + // eslint-disable-next-line no-console + console.log('Password does not match the hash.'); } -} + } catch (error) { + throw new Error(`Failed to compare password and hash : ${error}`); + } +}; (async () => { - try { - // Retrieve command line arguments - const args = process.argv.slice(2); // Ignore the first two arguments - if (args.length > 2) { - throw new Error('Usage : wgpw YOUR_PASSWORD [HASH]'); - } - - const [password, hash] = args; - if (password && hash) { - await comparePassword(password, hash); - } else if (password) { - await generateHash(password); - } + try { + // Retrieve command line arguments + const args = process.argv.slice(2); // Ignore the first two arguments + if (args.length > 2) { + throw new Error('Usage : wgpw YOUR_PASSWORD [HASH]'); + } - process.exit(0); - } catch (error) { - console.error(error); - process.exit(1); + const [password, hash] = args; + if (password && hash) { + await comparePassword(password, hash); + } else if (password) { + await generateHash(password); } + } catch (error) { + // eslint-disable-next-line no-console + console.error(error); + // eslint-disable-next-line no-process-exit + process.exit(1); + } })(); From 53dad56bb61d00a196d041238f874eb20ffc8ca1 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:19:52 +0200 Subject: [PATCH 73/98] some corrections --- .dockerignore | 3 +- How_to_generate_an_bcrypt_hash.md | 118 ++++++------------------------ README.md | 2 +- 3 files changed, 23 insertions(+), 100 deletions(-) diff --git a/.dockerignore b/.dockerignore index ffa1787a..ca447caf 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1 @@ -/src/node_modules -/wg-password/node_modules \ No newline at end of file +/src/node_modules \ No newline at end of file diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index 46cb2275..ca3e5ee8 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -1,110 +1,34 @@ -<!-- created by Mathys Lopinto (@mathys-lopinto) --> -# How to generate bcrypt hash +# wg-password -## Prerequisites -- Python 3 -- bcrypt library +`wg-password` (wgpg) is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. -## Prerequisites Installation -### Windows -Download and install Python 3 from [official website](https://www.python.org/downloads/). -Check "Add python.exe to PATH" before running "Install Now". +## Features -Open Command Prompt (win + r, type "cmd" and press enter) and run the following command to install bcrypt library: -```bash -pip install bcrypt -``` +- Generate bcrypt password hashes. +- Easily integrate with `wg-easy` to enforce password requirements. -### Debian based distributions -```bash -sudo apt-get update -sudo apt-get install python3 python3-pip -# If you use have install python using apt -sudo apt-get install python3-bcrypt -# If don't install python using apt -pip3 install bcrypt -# If you got externally-managed-environment error -pip3 install bcrypt --break-system-packages -``` +## Usage with Docker -### Fedora based distributions -```bash -sudo dnf update -sudo dnf install python3 python3-pip -# If you use have install python using dnf -sudo dnf install python3-bcrypt -# If don't install python using dnf -pip3 install bcrypt -# If you got externally-managed-environment error -pip3 install bcrypt --break-system-packages -``` +To generate a bcrypt password hash using Docker, run the following command: -### Arch Linux based distributions -```bash -sudo pacman -Syy -sudo pacman -S python python-pip -# If you use have install python using pacman -sudo pacman -S python-bcrypt -# If don't install python using pacman -pip3 install bcrypt -# If you got externally-managed-environment error -pip3 install bcrypt --break-system-packages +```sh +docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD +PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // litteraly YOUR_PASSWORD ``` -### macOS -```bash -brew install bcrypt -# If don't install bcrypt using homebrew -pip3 install bcrypt -# If you got externally-managed-environment error -pip3 install bcrypt --break-system-packages -``` +## Important -## Generating bcrypt hash from the command line -You can use the following one-liner command to generate a bcrypt hash directly in the cmd/ terminal: -```bash -python3 -c "import bcrypt; password = b'your_password_here'; assert len(password) < 72, 'Password must be less than 72 bytes due to bcrypt limitation'; hashed = bcrypt.hashpw(password, bcrypt.gensalt()); print(f'The hashed password is: {hashed.decode()}'); docker_interpolation = hashed.decode().replace('$', '$'*2); print(f'The hashed password for a Docker env is: {docker_interpolation}')" # or python if you run this on Windows. CHANGE your_password_here BY YOUR PASSWORD -``` -Please change ``your_password_here`` in the line by your own password. +Make sure to enclose your password in single quotes when you run a linux host. -## Generating bcrypt hash from an script file -### Do not name the file `bcrypt.py` as it will cause an error. -Create a python file with the following content: -```python -import bcrypt - -# Initial password -password = b"your_password_here" # DO NOT REMOVE THE b - -# Assert that the password is under 72 bytes -assert len(password) < 72, "Password must be less than 72 bytes due to bcrypt limitation" - -# Generate a salt and hash the password -hashed = bcrypt.hashpw(password, bcrypt.gensalt()) - -# Print the hashed password -print(f'The hashed password is: {hashed.decode()}') - -# Prepare the hashed password for Docker environment variables -docker_interpolation = hashed.decode().replace("$", "$$") -print(f'The hashed password for a Docker env is: {docker_interpolation}') +```bash +$ echo $2b$12$coPqCsPtcF +b2 +$ echo "$2b$12$coPqCsPtcF" +b2 +$ echo '$2b$12$coPqCsPtcF' +$2b$12$coPqCsPtcF ``` -Replace `your_password_here` with the password you want to hash. - -Run the python file and you will get the hashed password. - -## Get the right hash -Copy the 2nd line of the output (after the : ) and use it as your hashed password. +## LICENSE -__Exemple__ -If the output is: -```txt -The hashed password is: $2b$12$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe -The hashed password for an docker env is: $$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe -``` - -The docker line ``PASSWORD_HASH`` will be: -```txt -PASSWORD_HASH=$$2b$$12$$NRiL4Kw4dKid.ix2WvZltOmaQBZjoX30shjHJXRVdEGshAxYWXXMe -``` +[wg-easy license](./LICENSE) \ No newline at end of file diff --git a/README.md b/README.md index f805100d..e559b99b 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ To automatically install & run wg-easy, simply run: > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. > -> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See [PASSWORD.md](./wg-password/PASSWORD.md) for know how generate the hash. +> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See [How_to_generate_an_bcrypt_hash.md](./How_to_generate_an_bcrypt_hash.md) for know how generate the hash. The Web UI will now be available on `http://0.0.0.0:51821`. From 42ad29b494c072034f651554eeae5f8ca6d31948 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Mon, 15 Jul 2024 00:03:14 +0000 Subject: [PATCH 74/98] npm: package updates --- src/package-lock.json | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 2862da04..bd07c0ed 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -2061,6 +2061,13 @@ "dev": true, "peer": true }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true, + "peer": true + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -3608,9 +3615,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4310,16 +4317,16 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", - "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.4.1" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", From 5a075683c4764589f2caf2b3e38511935ae9358e Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:20:15 +0200 Subject: [PATCH 75/98] fix typo: How_to_generate_an_bcrypt_hash.md --- How_to_generate_an_bcrypt_hash.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index ca3e5ee8..61df3d99 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -1,6 +1,6 @@ # wg-password -`wg-password` (wgpg) is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. +`wg-password` (wgpw) is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. ## Features @@ -31,4 +31,4 @@ $2b$12$coPqCsPtcF ## LICENSE -[wg-easy license](./LICENSE) \ No newline at end of file +[wg-easy license](./LICENSE) From 73f2ad4ac3bfb1b16a7bbe071c8e8ba737fe8f56 Mon Sep 17 00:00:00 2001 From: Sergei Birukov <suxscribe@gmail.com> Date: Sat, 20 Jul 2024 17:20:54 +0300 Subject: [PATCH 76/98] Fix #1111 --- src/www/index.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/www/index.html b/src/www/index.html index c68b1841..60ee92ff 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -15,6 +15,9 @@ [v-cloak] { display: none; } + .line-chart .apexcharts-svg{ + transform: translateY(3px); + } </style> <body class="bg-gray-50 dark:bg-neutral-800"> @@ -127,11 +130,11 @@ class="relative overflow-hidden border-b last:border-b-0 border-gray-100 dark:border-neutral-600 border-solid"> <!-- Chart --> - <div v-if="uiChartType" class="absolute z-0 bottom-0 left-0 right-0 h-6" > + <div v-if="uiChartType" :class="`absolute z-0 bottom-0 left-0 right-0 h-6 ${uiChartType === 1 && 'line-chart'}`" > <apexchart width="100%" height="100%" :options="chartOptionsTX" :series="client.transferTxSeries"> </apexchart> </div> - <div v-if="uiChartType" class="absolute z-0 top-0 left-0 right-0 h-6" > + <div v-if="uiChartType" :class="`absolute z-0 top-0 left-0 right-0 h-6 ${uiChartType === 1 && 'line-chart'}`" > <apexchart width="100%" height="100%" :options="chartOptionsRX" :series="client.transferRxSeries" style="transform: scaleY(-1);"> </apexchart> From 2ef264d06f672e9ffba3fe135a20b25c82faac3c Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Sat, 20 Jul 2024 14:35:18 +0000 Subject: [PATCH 77/98] npm: package updates --- src/package-lock.json | 66 +++++++++++++++++++++++-------------------- src/package.json | 2 +- src/www/css/app.css | 18 +----------- 3 files changed, 38 insertions(+), 48 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index bd07c0ed..7008c880 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -18,7 +18,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.4" + "tailwindcss": "^3.4.6" }, "engines": { "node": ">=18" @@ -1113,9 +1113,9 @@ } }, "node_modules/cookie-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.1.0.tgz", - "integrity": "sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.1.tgz", + "integrity": "sha512-ilTPDuxhZX44BSzzRB58gvSY2UevZKQM9fjisn7Z+NJ92CtSU6kO1+22ZN/agbEJANFjK85EiJJbi/gQv18OXA==" }, "node_modules/cookie-signature": { "version": "1.0.7", @@ -2624,9 +2624,9 @@ } }, "node_modules/is-core-module": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", - "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "dependencies": { "hasown": "^2.0.2" @@ -3596,20 +3596,26 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } @@ -3931,9 +3937,9 @@ } }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4341,9 +4347,9 @@ "peer": true }, "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "version": "3.4.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.6.tgz", + "integrity": "sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==", "dev": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -4569,9 +4575,9 @@ } }, "node_modules/ufo": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", - "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==" + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==" }, "node_modules/uid-safe": { "version": "2.1.5", @@ -4611,15 +4617,15 @@ "dev": true }, "node_modules/unenv": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", - "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz", + "integrity": "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==", "dependencies": { "consola": "^3.2.3", - "defu": "^6.1.3", + "defu": "^6.1.4", "mime": "^3.0.0", - "node-fetch-native": "^1.6.1", - "pathe": "^1.1.1" + "node-fetch-native": "^1.6.4", + "pathe": "^1.1.2" } }, "node_modules/uri-js": { diff --git a/src/package.json b/src/package.json index 8202f38f..63836481 100644 --- a/src/package.json +++ b/src/package.json @@ -22,7 +22,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.4" + "tailwindcss": "^3.4.6" }, "nodemonConfig": { "ignore": [ diff --git a/src/www/css/app.css b/src/www/css/app.css index c5112366..acb974f1 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com */ /* @@ -734,10 +734,6 @@ video { margin-right: 0.5rem; } -.mt-0 { - margin-top: 0px; -} - .mt-0\.5 { margin-top: 0.125rem; } @@ -807,10 +803,6 @@ video { height: 1.5rem; } -.h-1 { - height: 0.25rem; -} - .h-10 { height: 2.5rem; } @@ -851,10 +843,6 @@ video { min-height: 100vh; } -.w-1 { - width: 0.25rem; -} - .w-10 { width: 2.5rem; } @@ -972,10 +960,6 @@ video { flex-direction: column-reverse; } -.flex-wrap { - flex-wrap: wrap; -} - .items-end { align-items: flex-end; } From b46018efd8dfc3ed1bdfb1324f6dec067e8a2dab Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Mon, 22 Jul 2024 12:44:53 +0200 Subject: [PATCH 78/98] fix: buttons on mobile --- How_to_generate_an_bcrypt_hash.md | 12 +++------ package.json | 9 +++++-- src/config.js | 4 +-- src/package.json | 4 ++- src/www/css/app.css | 41 +++++++++++++++++++++++++++++++ src/www/index.html | 20 +++++++-------- 6 files changed, 66 insertions(+), 24 deletions(-) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index 61df3d99..88df7b94 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -9,16 +9,14 @@ ## Usage with Docker -To generate a bcrypt password hash using Docker, run the following command: +To generate a bcrypt password hash using docker, run the following command : ```sh docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // litteraly YOUR_PASSWORD ``` -## Important - -Make sure to enclose your password in single quotes when you run a linux host. +*Important* : make sure to enclose your password in single quotes when you run `docker run` command : ```bash $ echo $2b$12$coPqCsPtcF @@ -27,8 +25,4 @@ $ echo "$2b$12$coPqCsPtcF" b2 $ echo '$2b$12$coPqCsPtcF' $2b$12$coPqCsPtcF -``` - -## LICENSE - -[wg-easy license](./LICENSE) +``` \ No newline at end of file diff --git a/package.json b/package.json index c0485821..e3f6e86c 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,13 @@ { "version": "1.0.1", "scripts": { + "sudobuild": "DOCKER_BUILDKIT=1 sudo docker build --tag wg-easy .", "build": "DOCKER_BUILDKIT=1 docker build --tag wg-easy .", "serve": "docker compose -f docker-compose.yml -f docker-compose.dev.yml up", + "sudostart": "sudo docker run --env WG_HOST=0.0.0.0 --name wg-easy --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl=\"net.ipv4.conf.all.src_valid_mark=1\" --mount type=bind,source=\"$(pwd)\"/config,target=/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp wg-easy", "start": "docker run --env WG_HOST=0.0.0.0 --name wg-easy --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl=\"net.ipv4.conf.all.src_valid_mark=1\" --mount type=bind,source=\"$(pwd)\"/config,target=/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp wg-easy" - } -} + }, + "workspaces": [ + "src" + ] +} \ No newline at end of file diff --git a/src/config.js b/src/config.js index ac4b407a..97850537 100644 --- a/src/config.js +++ b/src/config.js @@ -1,8 +1,8 @@ 'use strict'; -const { release } = require('./package.json'); +const { release: { version } } = require('./package.json'); -module.exports.RELEASE = release; +module.exports.RELEASE = version; module.exports.PORT = process.env.PORT || '51821'; module.exports.WEBUI_HOST = process.env.WEBUI_HOST || '0.0.0.0'; module.exports.PASSWORD_HASH = process.env.PASSWORD_HASH; diff --git a/src/package.json b/src/package.json index 63836481..5fe89816 100644 --- a/src/package.json +++ b/src/package.json @@ -1,5 +1,7 @@ { - "release": "13", + "release": { + "version": "13" + }, "name": "wg-easy", "version": "1.0.1", "description": "The easiest way to run WireGuard VPN + Web-based Admin UI.", diff --git a/src/www/css/app.css b/src/www/css/app.css index acb974f1..58bb8441 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1034,6 +1034,16 @@ video { border-radius: 0.375rem; } +.rounded-l-full { + border-top-left-radius: 9999px; + border-bottom-left-radius: 9999px; +} + +.rounded-r-full { + border-top-right-radius: 9999px; + border-bottom-right-radius: 9999px; +} + .border { border-width: 1px; } @@ -1522,6 +1532,21 @@ video { fill: #4b5563; } +@media not all and (min-width: 768px) { + .max-md\:border-x-0 { + border-left-width: 0px; + border-right-width: 0px; + } + + .max-md\:border-l-0 { + border-left-width: 0px; + } + + .max-md\:border-r-0 { + border-right-width: 0px; + } +} + @media (min-width: 450px) { .xxs\:flex-row { flex-direction: row; @@ -1649,6 +1674,14 @@ video { } @media (min-width: 768px) { + .md\:mr-2 { + margin-right: 0.5rem; + } + + .md\:block { + display: block; + } + .md\:inline-block { display: inline-block; } @@ -1657,10 +1690,18 @@ video { min-width: 6rem; } + .md\:flex-shrink-0 { + flex-shrink: 0; + } + .md\:gap-4 { gap: 1rem; } + .md\:rounded { + border-radius: 0.25rem; + } + .md\:px-0 { padding-left: 0px; padding-right: 0px; diff --git a/src/www/index.html b/src/www/index.html index 60ee92ff..1d3abf41 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -93,33 +93,33 @@ <div class="flex-grow"> <p class="text-2xl font-medium dark:text-neutral-200">{{$t("clients")}}</p> </div> - <div class="flex-shrink-0"> + <div class="flex md:block md:flex-shrink-0"> <!-- Restore configuration --> <label for="inputRC" :title="$t('titleRestoreConfig')" - class="hover:cursor-pointer hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> + class="hover:cursor-pointer hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 max-md:border-r-0 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded-l-full md:rounded inline-flex items-center transition"> + <svg inline class="w-4 md:mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path> </svg> - <span class="text-sm">{{$t("restore")}}</span> + <span class="hidden md:inline-block text-sm">{{$t("restore")}}</span> <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" class="hidden"/> </label> <!-- Backup configuration --> <a href="./api/wireguard/backup" :title="$t('titleBackupConfig')" - class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg inline class="w-4 mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 max-md:border-x-0 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 md:rounded inline-flex items-center transition"> + <svg inline class="w-4 md:mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z"></path> </svg> - <span class="text-sm">{{$t("backup")}}</span> + <span class="hidden md:inline-block text-sm">{{$t("backup")}}</span> </a> <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" - class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded inline-flex items-center transition"> - <svg class="w-4 mr-2" inline xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" + class="hover:bg-red-800 hover:border-red-800 hover:text-white text-gray-700 dark:text-neutral-200 max-md:border-l-0 border-2 border-gray-100 dark:border-neutral-600 py-2 px-4 rounded-r-full md:rounded inline-flex items-center transition"> + <svg class="w-4 md:mr-2" inline xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> - <span class="text-sm">{{$t("new")}}</span> + <span class="hidden md:inline-block text-sm">{{$t("new")}}</span> </button> </div> </div> From 74372dc05dbd8bd336686f6272a733df5ae10390 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Mon, 22 Jul 2024 13:05:18 +0200 Subject: [PATCH 79/98] fix: lint error with workspaces --- package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/package.json b/package.json index e3f6e86c..81c45aac 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,5 @@ "serve": "docker compose -f docker-compose.yml -f docker-compose.dev.yml up", "sudostart": "sudo docker run --env WG_HOST=0.0.0.0 --name wg-easy --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl=\"net.ipv4.conf.all.src_valid_mark=1\" --mount type=bind,source=\"$(pwd)\"/config,target=/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp wg-easy", "start": "docker run --env WG_HOST=0.0.0.0 --name wg-easy --cap-add=NET_ADMIN --cap-add=SYS_MODULE --sysctl=\"net.ipv4.conf.all.src_valid_mark=1\" --mount type=bind,source=\"$(pwd)\"/config,target=/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp wg-easy" - }, - "workspaces": [ - "src" - ] + } } \ No newline at end of file From 3d376e542ff26aa753d0927aea79864235d10795 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Mon, 22 Jul 2024 13:28:30 +0200 Subject: [PATCH 80/98] fix: redundant css --- src/www/css/app.css | 4 ++++ src/www/index.html | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/www/css/app.css b/src/www/css/app.css index 58bb8441..9e6f654a 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1533,6 +1533,10 @@ video { } @media not all and (min-width: 768px) { + .max-md\:hidden { + display: none; + } + .max-md\:border-x-0 { border-left-width: 0px; border-right-width: 0px; diff --git a/src/www/index.html b/src/www/index.html index 1d3abf41..66dc3697 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -100,7 +100,7 @@ <svg inline class="w-4 md:mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"></path> </svg> - <span class="hidden md:inline-block text-sm">{{$t("restore")}}</span> + <span class="max-md:hidden text-sm">{{$t("restore")}}</span> <input id="inputRC" type="file" name="configurationfile" accept="text/*,.json" @change="restoreConfig" class="hidden"/> </label> <!-- Backup configuration --> @@ -109,7 +109,7 @@ <svg inline class="w-4 md:mr-2" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z"></path> </svg> - <span class="hidden md:inline-block text-sm">{{$t("backup")}}</span> + <span class="max-md:hidden text-sm">{{$t("backup")}}</span> </a> <!-- New client --> <button @click="clientCreate = true; clientCreateName = '';" @@ -119,7 +119,7 @@ <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6v6m0 0v6m0-6h6m-6 0H6" /> </svg> - <span class="hidden md:inline-block text-sm">{{$t("new")}}</span> + <span class="max-md:hidden text-sm">{{$t("new")}}</span> </button> </div> </div> From d5b8d707ef13e09a410d2c03455e7ad64241a0ed Mon Sep 17 00:00:00 2001 From: Dartegnian <root@dartegnian.com> Date: Tue, 23 Jul 2024 13:01:08 +0800 Subject: [PATCH 81/98] Get the version info inside the release object --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 826c1ad3..1ae7ef8b 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -33,7 +33,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Set environment variables - run: echo RELEASE=$(cat ./src/package.json | jq -r .release) >> $GITHUB_ENV + run: echo RELEASE=$(cat ./src/package.json | jq -r .release | jq -r .version) >> $GITHUB_ENV - name: Build & Publish Docker Image uses: docker/build-push-action@v6 From 14fd01f4d0eee3445380585a410a1e72c3653745 Mon Sep 17 00:00:00 2001 From: pheiduck <47042125+pheiduck@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:01:39 +0200 Subject: [PATCH 82/98] prepare: version bump and changelog Signed-off-by: pheiduck <47042125+pheiduck@users.noreply.github.com> --- docs/changelog.json | 5 +++-- src/package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/changelog.json b/docs/changelog.json index 1f16d864..7b42ffbd 100644 --- a/docs/changelog.json +++ b/docs/changelog.json @@ -1,6 +1,6 @@ { "1": "Initial version. Enjoy!", - "2": "You can now rename a client, and update the address. Enjoy!", + "2": "You can now rename a client & update the address. Enjoy!", "3": "Many improvements and small changes. Enjoy!", "4": "Now with pretty charts for client's network speed. Enjoy!", "5": "Many small improvements & feature requests. Enjoy!", @@ -11,5 +11,6 @@ "10": "Added sessionless HTTP API auth & automatic dark mode.", "11": "Multilanguage Support & various bugfixes.", "12": "UI_TRAFFIC_STATS, Import json configurations with no PreShared-Key, allow clients with no privateKey & more.", - "13": "New framework (h3), UI_CHART_TYPE, some bugfixes and more." + "13": "New framework (h3), UI_CHART_TYPE, some bugfixes & more.", + "14": "Home Assistent support, PASSWORD_HASH (inc. Helper), translation updates bugfixes & more." } diff --git a/src/package.json b/src/package.json index 5fe89816..0e4f7c57 100644 --- a/src/package.json +++ b/src/package.json @@ -1,6 +1,6 @@ { "release": { - "version": "13" + "version": "14" }, "name": "wg-easy", "version": "1.0.1", From 200332df4b0feab7bbac2c952b1a9c5567eb1cd8 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:54:42 +0000 Subject: [PATCH 83/98] npm: package updates --- src/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 7008c880..4634233a 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -4760,9 +4760,9 @@ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, "bin": { "yaml": "bin.mjs" From 13fcccb2f2e89f45079ef1f03c40f4665148cffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= <andrei.yugai@tages.ru> Date: Sat, 27 Jul 2024 13:50:18 +0300 Subject: [PATCH 84/98] translations: Add missing Russian translations --- src/www/js/i18n.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 3b616e4c..29025654 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -84,11 +84,18 @@ const messages = { // eslint-disable-line no-unused-vars disableClient: 'Выключить клиента', enableClient: 'Включить клиента', noClients: 'Пока нет клиентов.', + noPrivKey: 'Невозможно создать конфигурацию: у клиента нет известного приватного ключа.', showQR: 'Показать QR-код', downloadConfig: 'Скачать конфигурацию', madeBy: 'Автор', donate: 'Поблагодарить', - }, + toggleCharts: 'Показать/скрыть графики', + theme: { dark: 'Темная тема', light: 'Светлая тема', auto: 'Как в системе' }, + restore: 'Восстановить', + backup: 'Резервная копия', + titleRestoreConfig: 'Восстановить конфигурацию', + titleBackupConfig: 'Создать резервную копию конфигурации', +}, tr: { // Müslüm Barış Korkmazer @babico name: 'İsim', password: 'Şifre', From 39949d2704f22a6719fd739f9966430bb3f46402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?= <andrei.yugai@tages.ru> Date: Sat, 27 Jul 2024 13:50:18 +0300 Subject: [PATCH 85/98] translations: Add missing Russian translations --- src/www/js/i18n.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 29025654..b13412ee 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -95,7 +95,7 @@ const messages = { // eslint-disable-line no-unused-vars backup: 'Резервная копия', titleRestoreConfig: 'Восстановить конфигурацию', titleBackupConfig: 'Создать резервную копию конфигурации', -}, + }, tr: { // Müslüm Barış Korkmazer @babico name: 'İsim', password: 'Şifre', From 5dad038796f7a986ab7501e1ad352cb266a359d8 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Sat, 27 Jul 2024 11:05:05 +0000 Subject: [PATCH 86/98] npm: package updates --- src/package-lock.json | 514 ++++++++++++++++++++++++++++++++++++------ src/package.json | 4 +- src/www/css/app.css | 14 +- 3 files changed, 464 insertions(+), 68 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 4634233a..f4c752ee 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -10,7 +10,7 @@ "license": "CC BY-NC-SA 4.0", "dependencies": { "bcryptjs": "^2.4.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "express-session": "^1.18.0", "h3": "^1.12.0", "qrcode": "^1.5.3" @@ -18,7 +18,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.6" + "tailwindcss": "^3.4.7" }, "engines": { "node": ">=18" @@ -29,6 +29,7 @@ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -41,6 +42,7 @@ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/highlight": "^7.10.4" @@ -51,6 +53,7 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6.9.0" @@ -61,6 +64,7 @@ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/helper-validator-identifier": "^7.24.7", @@ -77,6 +81,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-convert": "^1.9.0" @@ -90,6 +95,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^3.2.1", @@ -105,6 +111,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "color-name": "1.1.3" @@ -115,6 +122,7 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { @@ -122,6 +130,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.0" @@ -132,6 +141,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -142,6 +152,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^3.0.0" @@ -155,6 +166,7 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -170,6 +182,7 @@ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -179,6 +192,7 @@ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ajv": "^6.12.4", @@ -200,6 +214,7 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4" @@ -211,6 +226,7 @@ "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.0", @@ -227,6 +243,7 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "deprecated": "Use @eslint/object-schema instead", "dev": true, + "license": "BSD-3-Clause", "peer": true }, "node_modules/@isaacs/cliui": { @@ -234,6 +251,7 @@ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -251,6 +269,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -263,6 +282,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -274,13 +294,15 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -298,6 +320,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -313,6 +336,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -330,6 +354,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -344,6 +369,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -353,6 +379,7 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -361,13 +388,15 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -378,6 +407,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -391,6 +421,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -400,6 +431,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -413,6 +445,7 @@ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -422,25 +455,29 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.5.1", "@typescript-eslint/scope-manager": "6.21.0", @@ -476,6 +513,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/types": "6.21.0", @@ -504,6 +542,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" @@ -521,6 +560,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "6.21.0", "@typescript-eslint/utils": "6.21.0", @@ -548,6 +588,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, + "license": "MIT", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -561,6 +602,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", @@ -589,6 +631,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -598,6 +641,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -613,6 +657,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", @@ -638,6 +683,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" @@ -655,6 +701,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, + "license": "MIT", "peer": true, "bin": { "acorn": "bin/acorn" @@ -668,6 +715,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peer": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -678,6 +726,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -695,6 +744,7 @@ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -704,6 +754,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -712,6 +763,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -726,13 +778,15 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -745,13 +799,15 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "sprintf-js": "~1.0.2" @@ -762,6 +818,7 @@ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "is-array-buffer": "^3.0.4" @@ -778,6 +835,7 @@ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -798,6 +856,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -807,6 +866,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -827,6 +887,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -845,6 +906,7 @@ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -863,6 +925,7 @@ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.5", @@ -885,6 +948,7 @@ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -895,6 +959,7 @@ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, + "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -909,18 +974,21 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -933,6 +1001,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -943,6 +1012,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -955,6 +1025,7 @@ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -974,6 +1045,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -983,6 +1055,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -992,6 +1065,7 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -1001,6 +1075,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -1018,6 +1093,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1042,6 +1118,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1053,6 +1130,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -1063,6 +1141,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1073,13 +1152,15 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -1088,18 +1169,21 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/consola": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", "engines": { "node": "^14.18.0 || >=16.10.0" } @@ -1108,25 +1192,29 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-es": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.1.tgz", - "integrity": "sha512-ilTPDuxhZX44BSzzRB58gvSY2UevZKQM9fjisn7Z+NJ92CtSU6kO1+22ZN/agbEJANFjK85EiJJbi/gQv18OXA==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" }, "node_modules/cookie-signature": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1140,6 +1228,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.2.4.tgz", "integrity": "sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==", + "license": "MIT", "peerDependencies": { "uWebSockets.js": "*" }, @@ -1154,6 +1243,7 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -1166,6 +1256,7 @@ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -1183,6 +1274,7 @@ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -1200,6 +1292,7 @@ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -1213,9 +1306,10 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -1232,6 +1326,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -1241,6 +1336,7 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/define-data-property": { @@ -1248,6 +1344,7 @@ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -1265,6 +1362,7 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -1280,12 +1378,14 @@ "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==" + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1293,24 +1393,28 @@ "node_modules/destr": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.3.tgz", - "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==" + "integrity": "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==", + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/dijkstrajs": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -1322,13 +1426,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "peer": true, "dependencies": { "esutils": "^2.0.2" @@ -1341,23 +1447,27 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" }, "node_modules/encode-utf8": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", + "license": "MIT" }, "node_modules/enquirer": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-colors": "^4.1.1", @@ -1372,6 +1482,7 @@ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, + "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -1432,6 +1543,7 @@ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4" }, @@ -1444,6 +1556,7 @@ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -1453,6 +1566,7 @@ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0" }, @@ -1465,6 +1579,7 @@ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.4", "has-tostringtag": "^1.0.2", @@ -1479,6 +1594,7 @@ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.0" } @@ -1488,6 +1604,7 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -1505,6 +1622,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -1518,6 +1636,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "@babel/code-frame": "7.12.11", @@ -1576,6 +1695,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, + "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -1594,6 +1714,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-athom/-/eslint-config-athom-3.1.3.tgz", "integrity": "sha512-EWh7SaDTN2NNTcrFBGLnuxHWS+PXyom/bLX+bpdq4jvvC3D5/DVCmuQhAO+r8bi4Qurc5MrGo74xkrTYUqJyZg==", "dev": true, + "license": "ISC", "dependencies": { "@typescript-eslint/eslint-plugin": "^6.13.1", "@typescript-eslint/parser": "^6.13.1", @@ -1616,6 +1737,7 @@ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7", "is-core-module": "^2.13.0", @@ -1627,6 +1749,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -1636,6 +1759,7 @@ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^3.2.7" }, @@ -1653,6 +1777,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -1662,6 +1787,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^2.0.0", "regexpp": "^3.0.0" @@ -1681,6 +1807,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-homey-app/-/eslint-plugin-homey-app-1.0.2.tgz", "integrity": "sha512-uO09MpI0GaRfxWd8jKf6ei71zCCx3C4/8m1vm/GqYv1y/TEi8i2GdIlBCqyN67IXd4fwT+BNd+BoGxKh+8WC8A==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" }, @@ -1693,6 +1820,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, + "license": "MIT", "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -1724,6 +1852,7 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -1733,6 +1862,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -1745,6 +1875,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1754,6 +1885,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-6.3.0.tgz", "integrity": "sha512-Cd2roo8caAyG21oKaaNTj7cqeYRWW1I2B5SfpKRp0Ip1gkfwoR1Ow0IGlPWnNjzywdF4n+kHL8/9vM6zCJUxdg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-utils": "^2.0.0", "ramda": "^0.27.0" @@ -1770,6 +1902,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, + "license": "MIT", "dependencies": { "eslint-plugin-es": "^3.0.0", "eslint-utils": "^2.0.0", @@ -1790,6 +1923,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1799,6 +1933,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esrecurse": "^4.3.0", @@ -1813,6 +1948,7 @@ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -1828,6 +1964,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=4" } @@ -1837,6 +1974,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -1849,6 +1987,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=10" @@ -1859,6 +1998,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "is-glob": "^4.0.1" @@ -1872,6 +2012,7 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 4" @@ -1882,6 +2023,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "acorn": "^7.4.0", @@ -1897,6 +2039,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, + "license": "Apache-2.0", "peer": true, "engines": { "node": ">=4" @@ -1907,6 +2050,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "bin": { "esparse": "bin/esparse.js", @@ -1921,6 +2065,7 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "estraverse": "^5.1.0" @@ -1934,6 +2079,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -1944,6 +2090,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "estraverse": "^5.2.0" @@ -1957,6 +2104,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -1967,6 +2115,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -1977,6 +2126,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -1985,6 +2135,7 @@ "version": "1.18.0", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz", "integrity": "sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==", + "license": "MIT", "dependencies": { "cookie": "0.6.0", "cookie-signature": "1.0.7", @@ -2003,6 +2154,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -2010,13 +2162,15 @@ "node_modules/express-session/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fast-glob": { @@ -2024,6 +2178,7 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2040,6 +2195,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2052,6 +2208,7 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fast-levenshtein": { @@ -2059,6 +2216,7 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fast-uri": { @@ -2066,6 +2224,7 @@ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/fastq": { @@ -2073,6 +2232,7 @@ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2082,6 +2242,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "flat-cache": "^3.0.4" @@ -2095,6 +2256,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2106,6 +2268,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2119,6 +2282,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "flatted": "^3.2.9", @@ -2134,6 +2298,7 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/for-each": { @@ -2141,6 +2306,7 @@ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, + "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } @@ -2150,6 +2316,7 @@ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2166,6 +2333,7 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/fsevents": { @@ -2174,6 +2342,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2187,6 +2356,7 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2196,6 +2366,7 @@ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", @@ -2214,6 +2385,7 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/functions-have-names": { @@ -2221,6 +2393,7 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2229,6 +2402,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2238,6 +2412,7 @@ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2", @@ -2257,6 +2432,7 @@ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "es-errors": "^1.3.0", @@ -2275,6 +2451,7 @@ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -2296,6 +2473,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2308,6 +2486,7 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "type-fest": "^0.20.2" @@ -2324,6 +2503,7 @@ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, + "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -2340,6 +2520,7 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2360,6 +2541,7 @@ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, + "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -2371,12 +2553,14 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/h3": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/h3/-/h3-1.12.0.tgz", "integrity": "sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==", + "license": "MIT", "dependencies": { "cookie-es": "^1.1.0", "crossws": "^0.2.4", @@ -2395,6 +2579,7 @@ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2404,6 +2589,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -2414,6 +2600,7 @@ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, + "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -2426,6 +2613,7 @@ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2438,6 +2626,7 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2450,6 +2639,7 @@ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -2465,6 +2655,7 @@ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -2477,6 +2668,7 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -2485,13 +2677,15 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "parent-module": "^1.0.0", @@ -2509,6 +2703,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.19" @@ -2520,6 +2715,7 @@ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "once": "^1.3.0", @@ -2531,6 +2727,7 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/internal-slot": { @@ -2538,6 +2735,7 @@ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dev": true, + "license": "MIT", "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.0", @@ -2551,6 +2749,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/brc-dd" } @@ -2560,6 +2759,7 @@ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.2.1" @@ -2576,6 +2776,7 @@ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, + "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -2588,6 +2789,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -2600,6 +2802,7 @@ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -2616,6 +2819,7 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2628,6 +2832,7 @@ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, + "license": "MIT", "dependencies": { "hasown": "^2.0.2" }, @@ -2643,6 +2848,7 @@ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dev": true, + "license": "MIT", "dependencies": { "is-typed-array": "^1.1.13" }, @@ -2658,6 +2864,7 @@ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -2673,6 +2880,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2681,6 +2889,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", "engines": { "node": ">=8" } @@ -2690,6 +2899,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -2702,6 +2912,7 @@ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2714,6 +2925,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -2723,6 +2935,7 @@ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -2738,6 +2951,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -2754,6 +2968,7 @@ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7" }, @@ -2769,6 +2984,7 @@ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, + "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -2784,6 +3000,7 @@ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, + "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -2799,6 +3016,7 @@ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, + "license": "MIT", "dependencies": { "which-typed-array": "^1.1.14" }, @@ -2814,6 +3032,7 @@ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -2825,19 +3044,22 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -2853,6 +3075,7 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -2862,6 +3085,7 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/js-yaml": { @@ -2869,6 +3093,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "argparse": "^1.0.7", @@ -2883,6 +3108,7 @@ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json-schema-traverse": { @@ -2890,6 +3116,7 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json-stable-stringify-without-jsonify": { @@ -2897,6 +3124,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/json5": { @@ -2904,6 +3132,7 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -2916,6 +3145,7 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "json-buffer": "3.0.1" @@ -2926,6 +3156,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "prelude-ls": "^1.2.1", @@ -2940,6 +3171,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -2948,12 +3180,14 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2966,6 +3200,7 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/lodash.truncate": { @@ -2973,19 +3208,22 @@ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -2995,6 +3233,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, + "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -3007,6 +3246,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", "bin": { "mime": "cli.js" }, @@ -3019,6 +3259,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -3031,6 +3272,7 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3040,6 +3282,7 @@ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -3047,13 +3290,15 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -3071,6 +3316,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3082,18 +3328,21 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-fetch-native": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", - "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==" + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "license": "MIT" }, "node_modules/nodemon": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", "dev": true, + "license": "MIT", "dependencies": { "chokidar": "^3.5.2", "debug": "^4", @@ -3122,6 +3371,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -3131,6 +3381,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -3143,6 +3394,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3152,6 +3404,7 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3161,6 +3414,7 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -3170,6 +3424,7 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3182,6 +3437,7 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -3191,6 +3447,7 @@ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.5", "define-properties": "^1.2.1", @@ -3209,6 +3466,7 @@ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3223,6 +3481,7 @@ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3241,6 +3500,7 @@ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3255,6 +3515,7 @@ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -3270,12 +3531,14 @@ "node_modules/ohash": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" + "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", + "license": "MIT" }, "node_modules/on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3285,6 +3548,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "wrappy": "1" @@ -3295,6 +3559,7 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "deep-is": "^0.1.3", @@ -3312,6 +3577,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -3326,6 +3592,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -3337,6 +3604,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3345,13 +3613,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true + "dev": true, + "license": "BlueOak-1.0.0" }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "callsites": "^3.0.0" @@ -3364,6 +3634,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3372,6 +3643,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", "engines": { "node": ">=8" } @@ -3381,6 +3653,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3391,6 +3664,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3399,13 +3673,15 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-scurry": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -3422,6 +3698,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3429,19 +3706,22 @@ "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "license": "MIT" }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3454,6 +3734,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3463,6 +3744,7 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -3471,6 +3753,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", "engines": { "node": ">=10.13.0" } @@ -3480,14 +3763,15 @@ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "funding": [ { @@ -3503,6 +3787,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.1", @@ -3517,6 +3802,7 @@ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -3534,6 +3820,7 @@ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -3563,6 +3850,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -3588,6 +3876,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -3610,6 +3899,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.1.1" }, @@ -3625,6 +3915,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3637,13 +3928,15 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">= 0.8.0" @@ -3654,6 +3947,7 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.4.0" @@ -3663,13 +3957,15 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=6" @@ -3679,6 +3975,7 @@ "version": "1.5.3", "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "license": "MIT", "dependencies": { "dijkstrajs": "^1.0.1", "encode-utf8": "^1.0.3", @@ -3710,23 +4007,27 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/radix3": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", - "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==" + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" }, "node_modules/ramda": { "version": "0.27.2", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3736,6 +4037,7 @@ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -3745,6 +4047,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -3757,6 +4060,7 @@ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "define-properties": "^1.2.1", @@ -3775,6 +4079,7 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3786,6 +4091,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3795,6 +4101,7 @@ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3803,13 +4110,15 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" }, "node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -3827,6 +4136,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=4" @@ -3837,6 +4147,7 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -3848,6 +4159,7 @@ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "peer": true, "dependencies": { "glob": "^7.1.3" @@ -3878,6 +4190,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -3887,6 +4200,7 @@ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "get-intrinsic": "^1.2.4", @@ -3917,13 +4231,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.6", "es-errors": "^1.3.0", @@ -3941,6 +4257,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3951,13 +4268,15 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -3975,6 +4294,7 @@ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, + "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -3990,6 +4310,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4002,6 +4323,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4011,6 +4333,7 @@ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -4029,6 +4352,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -4041,6 +4365,7 @@ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -4053,6 +4378,7 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4062,6 +4388,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "ansi-styles": "^4.0.0", @@ -4080,6 +4407,7 @@ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -4089,12 +4417,14 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, + "license": "BSD-3-Clause", "peer": true }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4110,6 +4440,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4124,6 +4455,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4142,6 +4474,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4156,6 +4489,7 @@ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4172,6 +4506,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4185,6 +4520,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4197,6 +4533,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -4206,6 +4543,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=8" @@ -4219,6 +4557,7 @@ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -4241,6 +4580,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -4250,6 +4590,7 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -4270,6 +4611,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4285,6 +4627,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "has-flag": "^4.0.0" @@ -4298,6 +4641,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4310,6 +4654,7 @@ "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", "dev": true, + "license": "BSD-3-Clause", "peer": true, "dependencies": { "ajv": "^8.0.1", @@ -4327,6 +4672,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", @@ -4344,13 +4690,15 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/tailwindcss": { - "version": "3.4.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.6.tgz", - "integrity": "sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==", + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", + "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", "dev": true, + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -4388,6 +4736,7 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/thenify": { @@ -4395,6 +4744,7 @@ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -4404,6 +4754,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -4416,6 +4767,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4428,6 +4780,7 @@ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", "dev": true, + "license": "ISC", "bin": { "nodetouch": "bin/nodetouch.js" } @@ -4437,6 +4790,7 @@ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -4448,13 +4802,15 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, + "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.2", @@ -4467,6 +4823,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "prelude-ls": "^1.2.1" @@ -4480,6 +4837,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { "node": ">=10" @@ -4493,6 +4851,7 @@ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -4507,6 +4866,7 @@ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -4526,6 +4886,7 @@ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -4546,6 +4907,7 @@ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -4566,6 +4928,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4577,12 +4940,14 @@ "node_modules/ufo": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", - "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==" + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "license": "MIT" }, "node_modules/uid-safe": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "license": "MIT", "dependencies": { "random-bytes": "~1.0.0" }, @@ -4595,6 +4960,7 @@ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -4608,18 +4974,21 @@ "node_modules/uncrypto": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", - "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==" + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" }, "node_modules/undefsafe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/unenv": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.10.0.tgz", "integrity": "sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==", + "license": "MIT", "dependencies": { "consola": "^3.2.3", "defu": "^6.1.4", @@ -4633,6 +5002,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "peer": true, "dependencies": { "punycode": "^2.1.0" @@ -4642,13 +5012,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/v8-compile-cache": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", "dev": true, + "license": "MIT", "peer": true }, "node_modules/which": { @@ -4656,6 +5028,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4671,6 +5044,7 @@ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, + "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -4685,13 +5059,15 @@ "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, + "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", @@ -4711,6 +5087,7 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -4720,6 +5097,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4735,6 +5113,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4752,18 +5131,21 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, + "license": "ISC", "peer": true }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" }, "node_modules/yaml": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -4775,6 +5157,7 @@ "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -4796,6 +5179,7 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" diff --git a/src/package.json b/src/package.json index 0e4f7c57..6750366e 100644 --- a/src/package.json +++ b/src/package.json @@ -16,7 +16,7 @@ "license": "CC BY-NC-SA 4.0", "dependencies": { "bcryptjs": "^2.4.3", - "debug": "^4.3.5", + "debug": "^4.3.6", "express-session": "^1.18.0", "h3": "^1.12.0", "qrcode": "^1.5.3" @@ -24,7 +24,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.6" + "tailwindcss": "^3.4.7" }, "nodemonConfig": { "ignore": [ diff --git a/src/www/css/app.css b/src/www/css/app.css index 9e6f654a..08271631 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.7 | MIT License | https://tailwindcss.com */ /* @@ -803,6 +803,10 @@ video { height: 1.5rem; } +.h-1 { + height: 0.25rem; +} + .h-10 { height: 2.5rem; } @@ -843,6 +847,10 @@ video { min-height: 100vh; } +.w-1 { + width: 0.25rem; +} + .w-10 { width: 2.5rem; } @@ -960,6 +968,10 @@ video { flex-direction: column-reverse; } +.flex-wrap { + flex-wrap: wrap; +} + .items-end { align-items: flex-end; } From d8a48aef29d11d5656737efc5374301f5f78bc47 Mon Sep 17 00:00:00 2001 From: pheiduck <47042125+pheiduck@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:45:00 +0200 Subject: [PATCH 87/98] remove PASSWORD env unused and replace by PASSWORD_HASH --- README.md | 1 - docker-compose.dev.yml | 2 +- docker-compose.yml | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e559b99b..6c7fce82 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,6 @@ These options can be configured by setting environment variables using `-e KEY=" | `PORT` | `51821` | `6789` | TCP port for Web UI. | | `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | | `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. See [How to generate an bcrypt hash.md]("https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md") for know how generate the hash. | -| `PASSWORD` (deprecated) | - | `foobar123` | When set, requires a password when logging in to the Web UI. *(Not used if `PASSWORD_HASH` is set)* | | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 65e64297..91807330 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -5,5 +5,5 @@ services: volumes: - ./src/:/app/ environment: - # - PASSWORD=p + # - PASSWORD_HASH=p - WG_HOST=192.168.1.233 diff --git a/docker-compose.yml b/docker-compose.yml index 7a6a4f49..dd450ed9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,6 @@ services: - WG_HOST=raspberrypi.local # Optional: - # - PASSWORD=foobar123 (deprecated, see readme) # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash) # - PORT=51821 # - WG_PORT=51820 From 1416613cc671c0bb86eca6708740482fa965806a Mon Sep 17 00:00:00 2001 From: "Philip H." <47042125+pheiduck@users.noreply.github.com> Date: Tue, 30 Jul 2024 17:57:15 +0200 Subject: [PATCH 88/98] README.md: Reduce confusion in the readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c7fce82..be8a32cb 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,8 @@ You have found the easiest way to install & manage WireGuard on any Linux host! ## Versions -We provide more then 1 docker image to get, this will help you decide which one is best for you. +We provide more then 1 docker image to get, this will help you decide which one is best for you. <br> +For **stable** versions instead of nightly or development please read **README** from the **production** branch! | tag | Branch | Example | Description | | - | - | - | - | From 4ffa6b37de72be7169043d333fd6dae027fd1dd8 Mon Sep 17 00:00:00 2001 From: kikawala <kikawala+github@gmail.com> Date: Wed, 31 Jul 2024 17:10:25 -0500 Subject: [PATCH 89/98] Spelling in How_to_generate_an_bcrypt_hash.md --- How_to_generate_an_bcrypt_hash.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md index 88df7b94..d868d23c 100644 --- a/How_to_generate_an_bcrypt_hash.md +++ b/How_to_generate_an_bcrypt_hash.md @@ -13,7 +13,7 @@ To generate a bcrypt password hash using docker, run the following command : ```sh docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD -PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // litteraly YOUR_PASSWORD +PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // literally YOUR_PASSWORD ``` *Important* : make sure to enclose your password in single quotes when you run `docker run` command : @@ -25,4 +25,4 @@ $ echo "$2b$12$coPqCsPtcF" b2 $ echo '$2b$12$coPqCsPtcF' $2b$12$coPqCsPtcF -``` \ No newline at end of file +``` From ff9c1b49b6f322f5c3e79ffc1ac18367e56c8a80 Mon Sep 17 00:00:00 2001 From: "Philip H." <47042125+pheiduck@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:11:01 +0200 Subject: [PATCH 90/98] CODEOWNERS: add maintainer --- .github/CODEOWNERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7299506c..a30b7a1f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,4 @@ # Copyright (c) Emile Nijssen (WeeJeWel) # Founder and Codeowner of WireGuard Easy (wg-easy) -* @WeeJeWel +# Maintained by Philip Heiduck (pheiduck) +* @pheiduck From 5938474bf84eacbc476003edf3d1ca246e68fe56 Mon Sep 17 00:00:00 2001 From: "Philip H." <47042125+pheiduck@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:20:11 +0200 Subject: [PATCH 91/98] fixup: docker-compose.dev.yml Improving compose file for dev. Some variables are missed which lead to an error. Fixes: #1234 --- docker-compose.dev.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 91807330..bd4a836d 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -1,9 +1,17 @@ services: wg-easy: - image: wg-easy + build: + dockerfile: ./Dockerfile command: npm run serve volumes: - ./src/:/app/ + # - ./data/:/etc/wireguard + ports: + - "51820:51820/udp" + - "51821:51821/tcp" + cap_add: + - NET_ADMIN + - SYS_MODULE environment: - # - PASSWORD_HASH=p + # - PASSWORD=p - WG_HOST=192.168.1.233 From eb0fa90cd00701f351270f419e898321fe49378c Mon Sep 17 00:00:00 2001 From: "Philip H." <47042125+pheiduck@users.noreply.github.com> Date: Mon, 29 Jul 2024 19:41:16 +0200 Subject: [PATCH 92/98] Create pull_request_template.md --- .../pull_request_template.md | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE/pull_request_template.md diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md new file mode 100644 index 00000000..fb8a9e52 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -0,0 +1,28 @@ +<!--- Provide a general summary of your changes in the Title above --> + +## Description +<!--- Describe your changes in detail --> + +## Motivation and Context +<!--- Why is this change required? What problem does it solve? --> +<!--- If it fixes an open issue, please link to the issue here. --> + +## How has this been tested? +<!--- Please describe in detail how you tested your changes. --> +<!--- Include details of your testing environment, tests ran to see how --> +<!--- your change affects other areas of the code, etc. --> + +## Screenshots (if appropriate): + +## Types of changes +<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) + +## Checklist: +<!--- Go over all the following points, and put an `x` in all the boxes that apply. --> +<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> +- [ ] My code follows the code style of this project. +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. From c9ff248011bfe6e1fa335701b852c4f948e78d04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=BCsl=C3=BCm=20Bar=C4=B1=C5=9F=20Korkmazer?= <hello@babico.name.tr> Date: Fri, 2 Aug 2024 22:49:56 +0300 Subject: [PATCH 93/98] chore: Update i18n.js Turkish translations --- src/www/js/i18n.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index b13412ee..1deb6fcc 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -110,19 +110,25 @@ const messages = { // eslint-disable-line no-unused-vars deleteDialog2: 'Bu işlem geri alınamaz.', cancel: 'İptal', create: 'Oluştur', - createdAt: 'Şu saatte oluşturuldu: ', + createdOn: 'Şu saatte oluşturuldu: ', lastSeen: 'Son görülme tarihi: ', totalDownload: 'Toplam İndirme: ', totalUpload: 'Toplam Yükleme: ', newClient: 'Yeni Kullanıcı', - disableClient: 'İstemciyi Devre Dışı Bırak', - enableClient: 'İstemciyi Etkinleştir', + disableClient: 'Kullanıcıyı Devre Dışı Bırak', + enableClient: 'Kullanıcıyı Etkinleştir', noClients: 'Henüz kullanıcı yok.', + noPrivKey: 'Bu istemcinin bilinen bir özel anahtarı yok. Yapılandırma oluşturulamıyor.', showQR: 'QR Kodunu Göster', downloadConfig: 'Yapılandırmayı İndir', madeBy: 'Yapan Kişi: ', donate: 'Bağış Yap', - changeLang: 'Dil Değiştir', + toggleCharts: 'Grafiği göster/gizle', + theme: { dark: 'Karanlık tema', light: 'Açık tema', auto: 'Otomatik tema' }, + restore: 'Geri yükle', + backup: 'Yedekle', + titleRestoreConfig: 'Yapılandırmanızı geri yükleyin', + titleBackupConfig: 'Yapılandırmanızı yedekleyin', }, no: { // github.com/digvalley name: 'Navn', From 95934c6008ce12529fcdda9be2156dc55585ea68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0brahim=20=C3=87etin?= <cetinibrahim.ci@gmail.com> Date: Wed, 7 Aug 2024 10:29:33 +0300 Subject: [PATCH 94/98] Add autocomplete attribute to password input --- src/www/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/www/index.html b/src/www/index.html index 66dc3697..4b7dc171 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -559,7 +559,7 @@ </svg> </div> - <input type="password" name="password" :placeholder="$t('password')" v-model="password" + <input type="password" name="password" :placeholder="$t('password')" v-model="password" autocomplete="current-password" class="px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none" /> <button v-if="authenticating" From 2b7c846823d2615c8359ce359fc196a0fe75df50 Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:11:55 +0000 Subject: [PATCH 95/98] npm: package updates --- src/package-lock.json | 21 +++++++-------------- src/package.json | 2 +- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index f4c752ee..7bcb6a35 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -13,7 +13,7 @@ "debug": "^4.3.6", "express-session": "^1.18.0", "h3": "^1.12.0", - "qrcode": "^1.5.3" + "qrcode": "^1.5.4" }, "devDependencies": { "eslint-config-athom": "^3.1.3", @@ -1456,12 +1456,6 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "license": "MIT" - }, "node_modules/enquirer": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", @@ -3769,9 +3763,9 @@ } }, "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "dev": true, "funding": [ { @@ -3972,13 +3966,12 @@ } }, "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", "license": "MIT", "dependencies": { "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", "pngjs": "^5.0.0", "yargs": "^15.3.1" }, diff --git a/src/package.json b/src/package.json index 6750366e..7cbc970e 100644 --- a/src/package.json +++ b/src/package.json @@ -19,7 +19,7 @@ "debug": "^4.3.6", "express-session": "^1.18.0", "h3": "^1.12.0", - "qrcode": "^1.5.3" + "qrcode": "^1.5.4" }, "devDependencies": { "eslint-config-athom": "^3.1.3", From 72fe64385ee19a62c61277a1d6845b7d39fbd919 Mon Sep 17 00:00:00 2001 From: Nikolas <160475670+Loudhot@users.noreply.github.com> Date: Wed, 7 Aug 2024 17:56:18 +0300 Subject: [PATCH 96/98] Update i18n.js --- src/www/js/i18n.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/www/js/i18n.js b/src/www/js/i18n.js index 1deb6fcc..26669610 100644 --- a/src/www/js/i18n.js +++ b/src/www/js/i18n.js @@ -57,10 +57,17 @@ const messages = { // eslint-disable-line no-unused-vars disableClient: 'Вимкнути клієнта', enableClient: 'Увімкнути клієнта', noClients: 'Ще немає клієнтів.', + noPrivKey: 'У цього клієнта немає відомого приватного ключа. Неможливо створити конфігурацію.', showQR: 'Показати QR-код', downloadConfig: 'Завантажити конфігурацію', madeBy: 'Зроблено', donate: 'Пожертвувати', + toggleCharts: 'Показати/сховати діаграми', + theme: { dark: 'Темна тема', light: 'Світла тема', auto: 'Автоматична тема' }, + restore: 'Відновити', + backup: 'Резервна копія', + titleRestoreConfig: 'Відновити конфігурацію', + titleBackupConfig: 'Створити резервну копію конфігурації', }, ru: { name: 'Имя', From 9dd7f256ba904f4570e65351c772db53bd4586c3 Mon Sep 17 00:00:00 2001 From: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Thu, 8 Aug 2024 20:33:01 +0200 Subject: [PATCH 97/98] fix: Status Bar Color Issue in PWA on iOS 18 Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com> --- src/www/css/app.css | 7 +++++-- src/www/index.html | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/www/css/app.css b/src/www/css/app.css index 08271631..152d7b8e 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -63,9 +63,12 @@ html, body { margin: 0; - /* 1 */ line-height: inherit; - /* 2 */ + padding-top: env(safe-area-inset-top); + padding-bottom: env(safe-area-inset-bottom); + padding-left: env(safe-area-inset-left); + padding-right: env(safe-area-inset-right); + box-sizing: border-box; } /* diff --git a/src/www/index.html b/src/www/index.html index 4b7dc171..236a8f3d 100644 --- a/src/www/index.html +++ b/src/www/index.html @@ -10,6 +10,7 @@ <link rel="apple-touch-icon" href="./img/apple-touch-icon.png"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <meta name="apple-mobile-web-app-capable" content="yes"> + <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> </head> <style> [v-cloak] { @@ -614,4 +615,4 @@ <script src="./js/app.js"></script> </body> -</html> \ No newline at end of file +</html> From a18a715f6f0d822ba305b198e88c40af2df83a1f Mon Sep 17 00:00:00 2001 From: NPM Update Bot <npmupbot@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:37:52 +0000 Subject: [PATCH 98/98] npm: package updates --- src/package-lock.json | 14 +++++++------- src/package.json | 2 +- src/www/css/app.css | 9 +++------ 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 7bcb6a35..a07c2bbd 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -18,7 +18,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.7" + "tailwindcss": "^3.4.9" }, "engines": { "node": ">=18" @@ -2306,9 +2306,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "license": "ISC", "dependencies": { @@ -4687,9 +4687,9 @@ "peer": true }, "node_modules/tailwindcss": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", - "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.9.tgz", + "integrity": "sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg==", "dev": true, "license": "MIT", "dependencies": { diff --git a/src/package.json b/src/package.json index 7cbc970e..92582e97 100644 --- a/src/package.json +++ b/src/package.json @@ -24,7 +24,7 @@ "devDependencies": { "eslint-config-athom": "^3.1.3", "nodemon": "^3.1.4", - "tailwindcss": "^3.4.7" + "tailwindcss": "^3.4.9" }, "nodemonConfig": { "ignore": [ diff --git a/src/www/css/app.css b/src/www/css/app.css index 152d7b8e..92bb7040 100644 --- a/src/www/css/app.css +++ b/src/www/css/app.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.4.7 | MIT License | https://tailwindcss.com +! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com */ /* @@ -63,12 +63,9 @@ html, body { margin: 0; + /* 1 */ line-height: inherit; - padding-top: env(safe-area-inset-top); - padding-bottom: env(safe-area-inset-bottom); - padding-left: env(safe-area-inset-left); - padding-right: env(safe-area-inset-right); - box-sizing: border-box; + /* 2 */ } /*