/** * Highcharts JS v11.2.0 (2023-10-30) * * Data module * * (c) 2012-2021 Torstein Honsi * * License: www.highcharts.com/license */!function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function r(e,t,r,n){e.hasOwnProperty(t)||(e[t]=n.apply(null,r),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}r(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){var r=e.doc,n=t.createElement,o=t.discardElement,a=t.merge,s=t.objectEach,i={ajax:function(e){var t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},r=new XMLHttpRequest;function n(t,r){e.error&&e.error(t,r)}if(!e.url)return!1;r.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||r.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),s(e.headers,function(e,t){r.setRequestHeader(t,e)}),e.responseType&&(r.responseType=e.responseType),r.onreadystatechange=function(){var t;if(4===r.readyState){if(200===r.status){if("blob"!==e.responseType&&(t=r.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return n(r,e)}return e.success&&e.success(t,r)}n(r,r.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),r.send(e.data)},getJSON:function(e,t){i.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,i){var l=n("form",a({method:"post",action:e,enctype:"multipart/form-data"},i),{display:"none"},r.body);s(t,function(e,t){n("input",{type:"hidden",name:t,value:e},void 0,l)}),l.submit(),o(l)}};return i}),r(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,r,n,o,a,s){var i=t.getOptions,l=r.doc,u=n.ajax,d=a.seriesTypes,h=s.addEvent,c=s.defined,p=s.extend,m=s.fireEvent,f=s.isNumber,g=s.merge,v=s.objectEach,y=s.pick,C=s.splat;function x(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}var T=function(){function e(t,r,n){void 0===r&&(r={}),this.rowsToColumns=e.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){if(!e)return NaN;var t=new Date,r=+e[3];return r>t.getFullYear()-2e3?r+=1900:r+=2e3,Date.UTC(r,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=n,this.chartOptions=r,this.options=t,this.rawColumns=[],this.init(t,r,n)}return e.data=function(t,r,n){return void 0===r&&(r={}),new e(t,r,n)},e.rowsToColumns=function(e){var t,r,n,o,a;if(e)for(t=0,a=[],r=e.length;t=a.length)&&(g=a.length-1),l.itemDelimiter)?o=l.itemDelimiter:(o=null,t=0,r=0,n=!1,a.some(function(e,n){var o,a,s,i=!1,l="";if(n>13)return!0;for(var u=0;uc[","]?n=";":(c[","],c[";"],n=","),l.decimalPoint||(t>r?l.decimalPoint=".":l.decimalPoint=",",s.decimalRegex=RegExp("^(-?[0-9]+)"+l.decimalPoint+"([0-9]+)$")),o=n);var y=0;for(v=f;v<=g;v++)"#"===a[v][0]?y++:function(e,t,r,n){var a=0,s="",l="",c="",p="",m=0,f=0;function g(t){s=e[t],l=e[t-1],c=e[t+1]}function v(e){h.lengthm||m>d){++m,p="";return}!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),v("number")):isNaN(Date.parse(p))?v("string"):(p=p.replace(/\//g,"-"),v("date")),i.lengthe.length)&&(t=e.length);h31?r[o]<100?d[o]="YY":d[o]="YYYY":r[o]>12&&r[o]<=31?(d[o]="dd",c=!0):d[o].length||(d[o]="mm")));if(c){for(o=0;o12&&"YY"!==d[o]&&"YYYY"!==d[o]&&(d[o]="YY"):u[o]>12&&"mm"===d[o]&&(d[o]="dd");return(3===d.length&&"dd"===d[1]&&"dd"===d[2]&&(d[2]="YY"),n=d.join("/"),(l.dateFormats||s.dateFormats)[n])?n:(m("deduceDateFailed"),a)}return a}(i[0])),this.dataFound()}return i},e.prototype.parseTable=function(){var e=this.options,t=this.columns||[],r=e.startRow||0,n=e.endRow||Number.MAX_VALUE,o=e.startColumn||0,a=e.endColumn||Number.MAX_VALUE;if(e.table){var s=e.table;"string"==typeof s&&(s=l.getElementById(s)),[].forEach.call(s.getElementsByTagName("tr"),function(e,s){s>=r&&s<=n&&[].forEach.call(e.children,function(e,n){var i=t[n-o],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&n>=o&&n<=a)for(t[n-o]||(t[n-o]=[]),t[n-o][s-r]=e.innerHTML;s-r>=l&&void 0===i[s-r-l];)i[s-r-l]=null,l++})}),this.dataFound()}return t},e.prototype.fetchLiveData=function(){var e=this,t=this.chart,r=this.options,n=r.enablePolling,o=g(r),a=0,s=1e3*(r.dataRefreshRate||2);return!!x(r)&&(s<1e3&&(s=1e3),delete r.csvURL,delete r.rowsURL,delete r.columnsURL,function i(l){function d(o,d,h){if(!o||!/^(http|\/|\.\/|\.\.\/)/.test(o))return o&&r.error&&r.error("Invalid URL"),!1;function c(){n&&t.liveDataURL===o&&(e.liveDataTimeout=setTimeout(i,s))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=o),u({url:o,dataType:h||"json",success:function(e){t&&t.series&&d(e),c()},error:function(e,t){return++a<3&&c(),r.error&&r.error(t,e)}}),!0}d(o.csvURL,function(e){t.update({data:{csv:e}})},"text")||d(o.rowsURL,function(e){t.update({data:{rows:e}})})||d(o.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),x(r))},e.prototype.parseGoogleSpreadsheet=function(){var e=this,t=this.options,r=t.googleSpreadsheetKey,n=this.chart,o=Math.max(1e3*(t.dataRefreshRate||2),4e3),a=function(){if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;var e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),n=e.charAt(y(t.endColumn,-1))||"ZZ";return c(t.endRow)&&(n+=t.endRow+1),"".concat(r,":").concat(n)};return r&&(delete t.googleSpreadsheetKey,function n(s){u({url:["https://sheets.googleapis.com/v4/spreadsheets",r,"values",a(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/"),dataType:"json",success:function(r){s(r),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){n(s)},o))},error:function(e,r){return t.error&&t.error(r,e)}})}(function(t){var r=t.values;if(!r||0===r.length)return!1;var o=r.reduce(function(e,t){return Math.max(e,t.length)},0);r.forEach(function(e){for(var t=0;t31536e6&&"float"!==v?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[T+1]&&(l=n>e[T+1])):(o&&o.length&&(s=this.parseDate(r)),p&&f(s)&&"float"!==v?(m[T]=r,e[T]=s,e.isDatetime=!0,void 0!==e[T+1]&&((i=s>e[T+1])!==l&&void 0!==l&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,T=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),l=i)):(e[T]=""===o?null:o,0!==T&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(p&&e.mixed&&(d[t]=u[t]),p&&l&&this.options.sort)for(t=0;t0;){for((l=new R).addColumnReader(0,"x"),-1!==(h=u.indexOf(0))&&u.splice(h,1),n=0;n0&&f[0].readers.length>0&&void 0!==(d=p[f[0].readers[0].columnIndex])&&(d.isDatetime?e="datetime":d.isNumeric||(e="category")),"category"===e)for(s=0;s0?o.prototype.setNestedProperty(n,s,a.configName):n[a.configName]=s}),void 0===this.name&&this.readers.length>=2){var a=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&a.push(e.columnIndex)}),a.length>=2&&(a.shift(),a.sort(function(e,t){return e-t})),this.name=e[y(a.shift(),0)].name}return n},e.prototype.addColumnReader=function(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)},e.prototype.getReferencedColumnIndexes=function(){var e,t,r=[];for(e=0;e