@kong-ui-public/analytics-chart 10.33.0 → 10.33.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(Yt,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider"],p):(Yt=typeof globalThis<"u"?globalThis:Yt||self,p(Yt["kong-ui-publicvitals-chart"]={},Yt.Vue,Yt.KongIcons,Yt["kong-ui-public-i18n"],Yt["kong-ui-public-analytics-metric-provider"]))})(this,(function(Yt,p,de,Zf,tr){"use strict";var mt=(n=>(n.FIFTEEN_MIN="15m",n.ONE_HOUR="1h",n.SIX_HOUR="6h",n.TWELVE_HOUR="12h",n.ONE_DAY="24h",n.SEVEN_DAY="7d",n.THIRTY_DAY="30d",n.NINETY_DAY="90d",n.ONE_HUNDRED_EIGHTY_DAY="180d",n.ONE_YEAR="365d",n.CURRENT_WEEK="current_week",n.CURRENT_MONTH="current_month",n.CURRENT_QUARTER="current_quarter",n.CURRENT_YEAR="current_year",n.PREVIOUS_WEEK="previous_week",n.PREVIOUS_MONTH="previous_month",n.PREVIOUS_QUARTER="previous_quarter",n.PREVIOUS_YEAR="previous_year",n))(mt||{});const jb=["in","not_in","selector"],Gb=["empty","not_empty"],Kb=["secondly","tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly","twoHourly","twelveHourly","daily","weekly","trend"],er=n=>n.filter(t=>t!=="time"),Qf=["api","api_package","api_product","api_product_version","control_plane","control_plane_group","data_plane_node","gateway_service","portal","route","status_code","status_code_grouped","time"],Jf=er(Qf),Xb=["active_services","error_rate","request_count","request_per_minute","response_latency_average"],th=[...Qf,"ai_gateway","ai_gateway_consumer","ai_gateway_consumer_group","ai_gateway_data_plane_node","application","bot_info_action","bot_info_detection_reason","bot_info_ban_type","cache_status","consumer","consumer_group","country_code","oidc_credential","upstream_status_code","upstream_status_code_grouped","response_source","data_plane_node_version","realm","portal_api","principal"],eh=er(th),Zb=[...Xb,"share_of_requests","cache_hit_rate","response_latency_p99","response_latency_p95","response_latency_p50","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","kong_internal_latency_p99","kong_internal_latency_p95","kong_internal_latency_p50","kong_internal_latency_average","response_size_p99","response_size_p95","response_size_p50","response_size_average","response_size_sum","request_size_p99","request_size_p95","request_size_p50","request_size_average","request_size_sum"],Qb=["control_plane","control_plane_group","ai_gateway","gateway_service","consumer","ai_gateway_consumer","ai_gateway_consumer_group","application","oidc_credential","route","ai_provider","ai_response_model","ai_request_model","llm_cache_status","llm_embeddings_provider","llm_embeddings_model","time","realm","status_code","status_code_grouped","ai_plugin","principal","cache_status","ai_gateway_mcp_server","ai_gateway_model","ai_gateway_agent","ai_gateway_data_plane_node"],nh=er(Qb),Jb=["a2a_context_id","a2a_error","a2a_method","a2a_task_id","api","api_package","api_product","api_product_version","application","auth_type","bot_info_action","bot_info_detection_reason","bot_info_ja4_fingerprint","bot_info_ban_type","bot_info_header_names","cache_status","client_ip","consumer","ai_gateway_consumer","consumer_group","ai_gateway_consumer_group","control_plane","control_plane_group","ai_gateway","country_code","data_plane_node","data_plane_node_version","ai_gateway_data_plane_node","gateway_service","header_host","header_user_agent","http_method","mcp_error","mcp_method","mcp_session_id","mcp_tool_name","oidc_credential","portal","principal","realm","request_id","request_uri","response_header_content_type","response_source","route","service_port","service_protocol","sse","status_code_grouped","time","trace_id","upstream_uri","upstream_status_code_grouped","websocket"],tx=er(Jb),ex=["auth_type","cache_status","client_ip","data_plane_node_version","header_host","header_user_agent","http_method","oidc_credential","request_id","request_uri","response_header_content_type","response_source","service_port","service_protocol","trace_id","upstream_uri"],nx=ex,ix=["ai_count","latencies_response_ms","latencies_upstream_ms","latencies_kong_gateway_ms","latencies_kong_internal_ms","request_body_size","response_body_size","response_header_content_length","status_code","upstream_status_code"],rx=er(ix),sx=["platform","platform_usage"],ox=n=>sx.includes(n),ax=[...th.filter(n=>n!=="consumer_group"),"a2a_context_id","a2a_error","a2a_method","a2a_task_id","a2a_task_state","ai_gateway_agent","ai_gateway_mcp_server","mcp_error","mcp_method","mcp_session_id","mcp_tool_name"],ih=er(ax);[...Zb];const lx=["control_plane","data_plane_group","managed_cache","network","provider","provider_region","time"],rh=er(lx);new Set(Jf),new Set(eh),new Set(nh),new Set(ih),new Set(rh);const sh=[{code:"AF",name:"Afghanistan"},{code:"AX",name:"Aland Islands"},{code:"AL",name:"Albania"},{code:"DZ",name:"Algeria"},{code:"AS",name:"American Samoa"},{code:"AD",name:"Andorra"},{code:"AO",name:"Angola"},{code:"AI",name:"Anguilla"},{code:"AQ",name:"Antarctica"},{code:"AG",name:"Antigua and Barbuda"},{code:"AR",name:"Argentina"},{code:"AM",name:"Armenia"},{code:"AW",name:"Aruba"},{code:"AU",name:"Australia"},{code:"AT",name:"Austria"},{code:"AZ",name:"Azerbaijan"},{code:"BS",name:"Bahamas"},{code:"BH",name:"Bahrain"},{code:"BD",name:"Bangladesh"},{code:"BB",name:"Barbados"},{code:"BY",name:"Belarus"},{code:"BE",name:"Belgium"},{code:"BZ",name:"Belize"},{code:"BJ",name:"Benin"},{code:"BM",name:"Bermuda"},{code:"BT",name:"Bhutan"},{code:"BO",name:"Bolivia"},{code:"BA",name:"Bosnia and Herzegovina"},{code:"BW",name:"Botswana"},{code:"BV",name:"Bouvet Island"},{code:"BR",name:"Brazil"},{code:"IO",name:"British Indian Ocean Territory"},{code:"BN",name:"Brunei Darussalam"},{code:"BG",name:"Bulgaria"},{code:"BF",name:"Burkina Faso"},{code:"BI",name:"Burundi"},{code:"KH",name:"Cambodia"},{code:"CM",name:"Cameroon"},{code:"CA",name:"Canada"},{code:"CV",name:"Cape Verde"},{code:"KY",name:"Cayman Islands"},{code:"CF",name:"Central African Republic"},{code:"TD",name:"Chad"},{code:"CL",name:"Chile"},{code:"CN",name:"China"},{code:"CX",name:"Christmas Island"},{code:"CC",name:"Cocos (Keeling) Islands"},{code:"CO",name:"Colombia"},{code:"KM",name:"Comoros"},{code:"CG",name:"Congo"},{code:"CD",name:"Democratic Republic of the Congo"},{code:"CK",name:"Cook Islands"},{code:"CR",name:"Costa Rica"},{code:"CI",name:"Cote d'Ivoire"},{code:"HR",name:"Croatia"},{code:"CU",name:"Cuba"},{code:"CY",name:"Cyprus"},{code:"CZ",name:"Czech Republic"},{code:"DK",name:"Denmark"},{code:"DJ",name:"Djibouti"},{code:"DM",name:"Dominica"},{code:"DO",name:"Dominican Republic"},{code:"EC",name:"Ecuador"},{code:"EG",name:"Egypt"},{code:"SV",name:"El Salvador"},{code:"GQ",name:"Equatorial Guinea"},{code:"ER",name:"Eritrea"},{code:"EE",name:"Estonia"},{code:"ET",name:"Ethiopia"},{code:"FK",name:"Falkland Islands (Malvinas)"},{code:"FO",name:"Faroe Islands"},{code:"FJ",name:"Fiji"},{code:"FI",name:"Finland"},{code:"FR",name:"France"},{code:"GF",name:"French Guiana"},{code:"PF",name:"French Polynesia"},{code:"TF",name:"French Southern Territories"},{code:"GA",name:"Gabon"},{code:"GM",name:"Gambia"},{code:"GE",name:"Georgia"},{code:"DE",name:"Germany"},{code:"GH",name:"Ghana"},{code:"GI",name:"Gibraltar"},{code:"GR",name:"Greece"},{code:"GL",name:"Greenland"},{code:"GD",name:"Grenada"},{code:"GP",name:"Guadeloupe"},{code:"GU",name:"Guam"},{code:"GT",name:"Guatemala"},{code:"GG",name:"Guernsey"},{code:"GN",name:"Guinea"},{code:"GW",name:"Guinea-Bissau"},{code:"GY",name:"Guyana"},{code:"HT",name:"Haiti"},{code:"HM",name:"Heard Island and McDonald Islands"},{code:"VA",name:"The Vatican"},{code:"HN",name:"Honduras"},{code:"HK",name:"Hong Kong"},{code:"HU",name:"Hungary"},{code:"IS",name:"Iceland"},{code:"IN",name:"India"},{code:"ID",name:"Indonesia"},{code:"IR",name:"Iran"},{code:"IQ",name:"Iraq"},{code:"IE",name:"Ireland"},{code:"IM",name:"Isle of Man"},{code:"IL",name:"Israel"},{code:"IT",name:"Italy"},{code:"JM",name:"Jamaica"},{code:"JP",name:"Japan"},{code:"JE",name:"Jersey"},{code:"JO",name:"Jordan"},{code:"KZ",name:"Kazakhstan"},{code:"KE",name:"Kenya"},{code:"KI",name:"Kiribati"},{code:"KP",name:"North Korea"},{code:"KR",name:"South Korea"},{code:"KW",name:"Kuwait"},{code:"KG",name:"Kyrgyzstan"},{code:"LA",name:"Laos"},{code:"LV",name:"Latvia"},{code:"LB",name:"Lebanon"},{code:"LS",name:"Lesotho"},{code:"LR",name:"Liberia"},{code:"LY",name:"Libya"},{code:"LI",name:"Liechtenstein"},{code:"LT",name:"Lithuania"},{code:"LU",name:"Luxembourg"},{code:"MO",name:"Macao"},{code:"MK",name:"Macedonia"},{code:"MG",name:"Madagascar"},{code:"MW",name:"Malawi"},{code:"MY",name:"Malaysia"},{code:"MV",name:"Maldives"},{code:"ML",name:"Mali"},{code:"MT",name:"Malta"},{code:"MH",name:"Marshall Islands"},{code:"MQ",name:"Martinique"},{code:"MR",name:"Mauritania"},{code:"MU",name:"Mauritius"},{code:"YT",name:"Mayotte"},{code:"MX",name:"Mexico"},{code:"FM",name:"Micronesia, "},{code:"MD",name:"Moldova,"},{code:"MC",name:"Monaco"},{code:"MN",name:"Mongolia"},{code:"ME",name:"Montenegro"},{code:"MS",name:"Montserrat"},{code:"MA",name:"Morocco"},{code:"MZ",name:"Mozambique"},{code:"MM",name:"Myanmar"},{code:"NA",name:"Namibia"},{code:"NR",name:"Nauru"},{code:"NP",name:"Nepal"},{code:"NL",name:"Netherlands"},{code:"NC",name:"New Caledonia"},{code:"NZ",name:"New Zealand"},{code:"NI",name:"Nicaragua"},{code:"NE",name:"Niger"},{code:"NG",name:"Nigeria"},{code:"NU",name:"Niue"},{code:"NF",name:"Norfolk Island"},{code:"MP",name:"Northern Mariana Islands"},{code:"NO",name:"Norway"},{code:"OM",name:"Oman"},{code:"PK",name:"Pakistan"},{code:"PW",name:"Palau"},{code:"PA",name:"Panama"},{code:"PG",name:"Papua New Guinea"},{code:"PY",name:"Paraguay"},{code:"PE",name:"Peru"},{code:"PH",name:"Philippines"},{code:"PN",name:"Pitcairn"},{code:"PL",name:"Poland"},{code:"PT",name:"Portugal"},{code:"PR",name:"Puerto Rico"},{code:"QA",name:"Qatar"},{code:"RE",name:"Reunion"},{code:"RO",name:"Romania"},{code:"RU",name:"Russia"},{code:"RW",name:"Rwanda"},{code:"BL",name:"Saint Barthelemy"},{code:"SH",name:"Saint Helena"},{code:"KN",name:"Saint Kitts and Nevis"},{code:"LC",name:"Saint Lucia"},{code:"MF",name:"Saint Martin"},{code:"PM",name:"Saint Pierre and Miquelon"},{code:"VC",name:"Saint Vincent and the Grenadines"},{code:"WS",name:"Samoa"},{code:"SM",name:"San Marino"},{code:"ST",name:"Sao Tome and Principe"},{code:"SA",name:"Saudi Arabia"},{code:"SN",name:"Senegal"},{code:"RS",name:"Serbia"},{code:"SC",name:"Seychelles"},{code:"SL",name:"Sierra Leone"},{code:"SG",name:"Singapore"},{code:"SX",name:"Sint Maarten"},{code:"SK",name:"Slovakia"},{code:"SI",name:"Slovenia"},{code:"SB",name:"Solomon Islands"},{code:"SO",name:"Somalia"},{code:"ZA",name:"South Africa"},{code:"GS",name:"South Georgia and the South Sandwich Islands"},{code:"SS",name:"South Sudan"},{code:"ES",name:"Spain"},{code:"LK",name:"Sri Lanka"},{code:"SD",name:"Sudan"},{code:"SR",name:"Suriname"},{code:"SJ",name:"Svalbard and Jan Mayen"},{code:"SZ",name:"Swaziland"},{code:"SE",name:"Sweden"},{code:"CH",name:"Switzerland"},{code:"SY",name:"Syria"},{code:"TW",name:"Taiwan"},{code:"TJ",name:"Tajikistan"},{code:"TZ",name:"Tanzania"},{code:"TH",name:"Thailand"},{code:"TL",name:"Timor-Leste"},{code:"TG",name:"Togo"},{code:"TK",name:"Tokelau"},{code:"TO",name:"Tonga"},{code:"TT",name:"Trinidad and Tobago"},{code:"TN",name:"Tunisia"},{code:"TR",name:"Turkey"},{code:"TM",name:"Turkmenistan"},{code:"TC",name:"Turks and Caicos Islands"},{code:"TV",name:"Tuvalu"},{code:"UG",name:"Uganda"},{code:"UA",name:"Ukraine"},{code:"AE",name:"United Arab Emirates"},{code:"GB",name:"United Kingdom"},{code:"US",name:"United States"},{code:"UM",name:"United States Minor Outlying Islands"},{code:"UY",name:"Uruguay"},{code:"UZ",name:"Uzbekistan"},{code:"VU",name:"Vanuatu"},{code:"VE",name:"Venezuela"},{code:"VN",name:"Vietnam"},{code:"VG",name:"British Virgin Islands"},{code:"VI",name:"U.S. Virgin Islands"},{code:"WF",name:"Wallis and Futuna"},{code:"EH",name:"Western Sahara"},{code:"YE",name:"Yemen"},{code:"ZM",name:"Zambia"},{code:"ZW",name:"Zimbabwe"}];sh.map(n=>n.code);const oh=n=>({type:"array",description:"A list of filters to apply to the query",items:{oneOf:[{type:"object",description:"In filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:jb},value:{type:"array",items:{type:["string","number","null"]}}},required:["field","operator","value"],additionalProperties:!1},{type:"object",description:"Empty filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Gb}},required:["field","operator"],additionalProperties:!1}]}}),cx=["control_plane","gateway_service","realm","route","plugin","plugin_name","plugin_scope","data_plane_node_version","env","team","region","hostname"];oh(Array.from(new Set([...tx,...nx,...rx]))),oh([...new Set([...eh,...Jf,...nh,...ih,...cx,...rh])]);const ux={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},dx=(n,t,e)=>{let i;const r=ux[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function yc(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const fx={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},hx={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},px={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},mx={date:yc({formats:fx,defaultWidth:"full"}),time:yc({formats:hx,defaultWidth:"full"}),dateTime:yc({formats:px,defaultWidth:"full"})},gx={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},yx=(n,t,e,i)=>gx[n];function Ds(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const _x={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},bx={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},xx={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},wx={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},vx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Sx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Tx=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},Mx={ordinalNumber:Tx,era:Ds({values:_x,defaultWidth:"wide"}),quarter:Ds({values:bx,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ds({values:xx,defaultWidth:"wide"}),day:Ds({values:wx,defaultWidth:"wide"}),dayPeriod:Ds({values:vx,defaultWidth:"wide",formattingValues:Sx,defaultFormattingWidth:"wide"})};function Cs(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?Dx(l,m=>m.test(a)):kx(l,m=>m.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const f=t.slice(a.length);return{value:d,rest:f}}}function kx(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function Dx(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function Cx(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const Ox=/^(\d+)(th|st|nd|rd)?/i,Ax=/\d+/i,Rx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ex={any:[/^b/i,/^(a|c)/i]},Px={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ix={any:[/1/i,/2/i,/3/i,/4/i]},Lx={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Nx={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Bx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Fx={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},zx={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ux={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Hx={ordinalNumber:Cx({matchPattern:Ox,parsePattern:Ax,valueCallback:n=>parseInt(n,10)}),era:Cs({matchPatterns:Rx,defaultMatchWidth:"wide",parsePatterns:Ex,defaultParseWidth:"any"}),quarter:Cs({matchPatterns:Px,defaultMatchWidth:"wide",parsePatterns:Ix,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Cs({matchPatterns:Lx,defaultMatchWidth:"wide",parsePatterns:Nx,defaultParseWidth:"any"}),day:Cs({matchPatterns:Bx,defaultMatchWidth:"wide",parsePatterns:Fx,defaultParseWidth:"any"}),dayPeriod:Cs({matchPatterns:zx,defaultMatchWidth:"any",parsePatterns:Ux,defaultParseWidth:"any"})},Wx={code:"en-US",formatDistance:dx,formatLong:mx,formatRelative:yx,localize:Mx,match:Hx,options:{weekStartsOn:0,firstWeekContainsDate:1}};let $x={};function Os(){return $x}const ah=6048e5,Vx=864e5,Yx=60,qx=3600,lh=Symbol.for("constructDateFrom");function Tn(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&lh in n?n[lh](t):n instanceof Date?new n.constructor(t):new Date(t)}function Ue(n,t){return Tn(t||n,n)}function ch(n){const t=Ue(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function jx(n,...t){const e=Tn.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Ir(n,t){const e=Ue(n,t?.in);return e.setHours(0,0,0,0),e}function Gx(n,t,e){const[i,r]=jx(e?.in,n,t),s=Ir(i),a=Ir(r),l=+s-ch(s),u=+a-ch(a);return Math.round((l-u)/Vx)}function Kx(n,t){const e=Ue(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function Xx(n,t){const e=Ue(n,t?.in);return Gx(e,Kx(e))+1}function ei(n,t){const e=Os(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Ue(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Jo(n,t){return ei(n,{...t,weekStartsOn:1})}function uh(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=Tn(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Jo(r),a=Tn(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Jo(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function Zx(n,t){const e=uh(n,t),i=Tn(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Jo(i)}function Qx(n,t){const e=Ue(n,t?.in),i=+Jo(e)-+Zx(e);return Math.round(i/ah)+1}function dh(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=Os(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=Tn(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=ei(a,t),u=Tn(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=ei(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function Jx(n,t){const e=Os(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=dh(n,t),s=Tn(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),ei(s,t)}function tw(n,t){const e=Ue(n,t?.in),i=+ei(e,t)-+Jx(e,t);return Math.round(i/ah)+1}function Xt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const Si={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Xt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Xt(e+1,2)},d(n,t){return Xt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Xt(n.getHours()%12||12,t.length)},H(n,t){return Xt(n.getHours(),t.length)},m(n,t){return Xt(n.getMinutes(),t.length)},s(n,t){return Xt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Xt(r,t.length)}},Lr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},fh={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return Si.y(n,t)},Y:function(n,t,e,i){const r=dh(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Xt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Xt(s,t.length)},R:function(n,t){const e=uh(n);return Xt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Xt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Xt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Xt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return Si.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Xt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=tw(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Xt(r,t.length)},I:function(n,t,e){const i=Qx(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Xt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):Si.d(n,t)},D:function(n,t,e){const i=Xx(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Xt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Xt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Xt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Xt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const i=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(i,{width:"narrow",context:"formatting"});default:return e.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Lr.noon:i===0?r=Lr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Lr.evening:i>=12?r=Lr.afternoon:i>=4?r=Lr.morning:r=Lr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return Si.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):Si.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):Si.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):Si.s(n,t)},S:function(n,t){return Si.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return ph(i);case"XXXX":case"XX":return nr(i);default:return nr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return ph(i);case"xxxx":case"xx":return nr(i);default:return nr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+hh(i,":");default:return"GMT"+nr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+hh(i,":");default:return"GMT"+nr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Xt(i,t.length)},T:function(n,t,e){return Xt(+n,t.length)}};function hh(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Xt(s,2)}function ph(n,t){return n%60===0?(n>0?"-":"+")+Xt(Math.abs(n)/60,2):nr(n,t)}function nr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Xt(Math.trunc(i/60),2),s=Xt(i%60,2);return e+r+t+s}const mh=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},gh=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},ew=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return mh(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",mh(i,t)).replace("{{time}}",gh(r,t))},nw={p:gh,P:ew},iw=/^D+$/,rw=/^Y+$/,sw=["D","DD","YY","YYYY"];function ow(n){return iw.test(n)}function aw(n){return rw.test(n)}function lw(n,t,e){const i=cw(n,t,e);if(console.warn(i),sw.includes(n))throw new RangeError(i)}function cw(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}function uw(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function dw(n){return!(!uw(n)&&typeof n!="number"||isNaN(+Ue(n)))}const fw=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hw=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,pw=/^'([^]*?)'?$/,mw=/''/g,gw=/[a-zA-Z]/;function yw(n,t,e){const i=Os(),r=e?.locale??i.locale??Wx,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=Ue(n,e?.in);if(!dw(l))throw new RangeError("Invalid time value");let u=t.match(hw).map(f=>{const m=f[0];if(m==="p"||m==="P"){const g=nw[m];return g(f,r.formatLong)}return f}).join("").match(fw).map(f=>{if(f==="''")return{isToken:!1,value:"'"};const m=f[0];if(m==="'")return{isToken:!1,value:_w(f)};if(fh[m])return{isToken:!0,value:f};if(m.match(gw))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:f}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(f=>{if(!f.isToken)return f.value;const m=f.value;(!e?.useAdditionalWeekYearTokens&&aw(m)||!e?.useAdditionalDayOfYearTokens&&ow(m))&&lw(m,t,String(n));const g=fh[m[0]];return g(l,m,r.localize,d)}).join("")}function _w(n){const t=n.match(pw);return t?t[1].replace(mw,"'"):n}function ta(n,t,e){const i=Ue(n,e?.in);return isNaN(t)?Tn(n,NaN):(i.setDate(i.getDate()+t),i)}function yh(n,t,e){const i=Ue(n,e?.in);if(isNaN(t))return Tn(n,NaN);if(!t)return i;const r=i.getDate(),s=Tn(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function bw(n,t,e){return yh(n,t*3,e)}function Nr(n,t){const e=Ue(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function Br(n,t){const e=Ue(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function xw(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=e.getMonth(),s=Tn(e,0);return s.setFullYear(i,r+1,0),s.setHours(0,0,0,0),s.getDate()}function ww(){return Object.assign({},Os())}function _h(n){return Math.trunc(n*qx)}function vw(n){const t=n/Yx;return Math.trunc(t)}function bh(n,t,e){return yh(n,-1,e)}function xh(n,t,e){return bw(n,-1,e)}function wh(n,t,e){const i=ww(),r=Mw(n,e.timeZone,e.locale??i.locale);return"formatToParts"in r?Sw(r,t):Tw(r,t)}function Sw(n,t){const e=n.formatToParts(t);for(let i=e.length-1;i>=0;--i)if(e[i].type==="timeZoneName")return e[i].value}function Tw(n,t){const e=n.format(t).replace(/\u200E/g,""),i=/ [\w-+ ]+$/.exec(e);return i?i[0].substr(1):""}function Mw(n,t,e){return new Intl.DateTimeFormat(e?[e.code,"en-US"]:void 0,{timeZone:t,timeZoneName:n})}function kw(n,t){const e=Rw(t);return"formatToParts"in e?Cw(e,n):Ow(e,n)}const Dw={year:0,month:1,day:2,hour:3,minute:4,second:5};function Cw(n,t){try{const e=n.formatToParts(t),i=[];for(let r=0;r<e.length;r++){const s=Dw[e[r].type];s!==void 0&&(i[s]=parseInt(e[r].value,10))}return i}catch(e){if(e instanceof RangeError)return[NaN];throw e}}function Ow(n,t){const e=n.format(t),i=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(e);return[parseInt(i[3],10),parseInt(i[1],10),parseInt(i[2],10),parseInt(i[4],10),parseInt(i[5],10),parseInt(i[6],10)]}const _c={},vh=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),Aw=vh==="06/25/2014, 00:00:00"||vh==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";function Rw(n){return _c[n]||(_c[n]=Aw?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),_c[n]}function bc(n,t,e,i,r,s,a){const l=new Date(0);return l.setUTCFullYear(n,t,e),l.setUTCHours(i,r,s,a),l}const Sh=36e5,Ew=6e4,xc={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function As(n,t,e){if(!n)return 0;let i=xc.timezoneZ.exec(n);if(i)return 0;let r,s;if(i=xc.timezoneHH.exec(n),i)return r=parseInt(i[1],10),Th(r)?-(r*Sh):NaN;if(i=xc.timezoneHHMM.exec(n),i){r=parseInt(i[2],10);const a=parseInt(i[3],10);return Th(r,a)?(s=Math.abs(r)*Sh+a*Ew,i[1]==="+"?-s:s):NaN}if(Lw(n)){t=new Date(t||Date.now());const a=e?t:Pw(t),l=wc(a,n);return-(e?l:Iw(t,l,n))}return NaN}function Pw(n){return bc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())}function wc(n,t){const e=kw(n,t),i=bc(e[0],e[1]-1,e[2],e[3]%24,e[4],e[5],0).getTime();let r=n.getTime();const s=r%1e3;return r-=s>=0?s:1e3+s,i-r}function Iw(n,t,e){let i=n.getTime()-t;const r=wc(new Date(i),e);if(t===r)return t;i-=r-t;const s=wc(new Date(i),e);return r===s?r:Math.max(r,s)}function Th(n,t){return-23<=n&&n<=23&&(t==null||0<=t&&t<=59)}const Mh={};function Lw(n){if(Mh[n])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:n}),Mh[n]=!0,!0}catch{return!1}}const Nw=60*1e3,Bw={X:function(n,t,e){const i=vc(e.timeZone,n);if(i===0)return"Z";switch(t){case"X":return kh(i);case"XXXX":case"XX":return Fr(i);default:return Fr(i,":")}},x:function(n,t,e){const i=vc(e.timeZone,n);switch(t){case"x":return kh(i);case"xxxx":case"xx":return Fr(i);default:return Fr(i,":")}},O:function(n,t,e){const i=vc(e.timeZone,n);switch(t){case"O":case"OO":case"OOO":return"GMT"+Fw(i,":");default:return"GMT"+Fr(i,":")}},z:function(n,t,e){switch(t){case"z":case"zz":case"zzz":return wh("short",n,e);default:return wh("long",n,e)}}};function vc(n,t){const e=n?As(n,t,!0)/Nw:t?.getTimezoneOffset()??0;if(Number.isNaN(e))throw new RangeError("Invalid time zone specified: "+n);return e}function ea(n,t){const e=n<0?"-":"";let i=Math.abs(n).toString();for(;i.length<t;)i="0"+i;return e+i}function Fr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=ea(Math.floor(i/60),2),s=ea(Math.floor(i%60),2);return e+r+t+s}function kh(n,t){return n%60===0?(n>0?"-":"+")+ea(Math.abs(n)/60,2):Fr(n,t)}function Fw(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+ea(s,2)}function Dh(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+n-+t}const Ch=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,Sc=36e5,Oh=6e4,zw=2,Ze={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:Ch};function na(n,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(n===null)return new Date(NaN);const e=t.additionalDigits==null?zw:Number(t.additionalDigits);if(e!==2&&e!==1&&e!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]")return new Date(n.getTime());if(typeof n=="number"||Object.prototype.toString.call(n)==="[object Number]")return new Date(n);if(Object.prototype.toString.call(n)!=="[object String]")return new Date(NaN);const i=Uw(n),{year:r,restDateString:s}=Hw(i.date,e),a=Ww(s,r);if(a===null||isNaN(a.getTime()))return new Date(NaN);if(a){const l=a.getTime();let u=0,d;if(i.time&&(u=$w(i.time),u===null||isNaN(u)))return new Date(NaN);if(i.timeZone||t.timeZone){if(d=As(i.timeZone||t.timeZone,new Date(l+u)),isNaN(d))return new Date(NaN)}else d=Dh(new Date(l+u)),d=Dh(new Date(l+u+d));return new Date(l+u+d)}else return new Date(NaN)}function Uw(n){const t={};let e=Ze.dateTimePattern.exec(n),i;if(e?(t.date=e[1],i=e[3]):(e=Ze.datePattern.exec(n),e?(t.date=e[1],i=e[2]):(t.date=null,i=n)),i){const r=Ze.timeZone.exec(i);r?(t.time=i.replace(r[1],""),t.timeZone=r[1].trim()):t.time=i}return t}function Hw(n,t){if(n){const e=Ze.YYY[t],i=Ze.YYYYY[t];let r=Ze.YYYY.exec(n)||i.exec(n);if(r){const s=r[1];return{year:parseInt(s,10),restDateString:n.slice(s.length)}}if(r=Ze.YY.exec(n)||e.exec(n),r){const s=r[1];return{year:parseInt(s,10)*100,restDateString:n.slice(s.length)}}}return{year:null}}function Ww(n,t){if(t===null)return null;let e,i,r;if(!n||!n.length)return e=new Date(0),e.setUTCFullYear(t),e;let s=Ze.MM.exec(n);if(s)return e=new Date(0),i=parseInt(s[1],10)-1,Eh(t,i)?(e.setUTCFullYear(t,i),e):new Date(NaN);if(s=Ze.DDD.exec(n),s){e=new Date(0);const a=parseInt(s[1],10);return qw(t,a)?(e.setUTCFullYear(t,0,a),e):new Date(NaN)}if(s=Ze.MMDD.exec(n),s){e=new Date(0),i=parseInt(s[1],10)-1;const a=parseInt(s[2],10);return Eh(t,i,a)?(e.setUTCFullYear(t,i,a),e):new Date(NaN)}if(s=Ze.Www.exec(n),s)return r=parseInt(s[1],10)-1,Ph(r)?Ah(t,r):new Date(NaN);if(s=Ze.WwwD.exec(n),s){r=parseInt(s[1],10)-1;const a=parseInt(s[2],10)-1;return Ph(r,a)?Ah(t,r,a):new Date(NaN)}return null}function $w(n){let t,e,i=Ze.HH.exec(n);if(i)return t=parseFloat(i[1].replace(",",".")),Tc(t)?t%24*Sc:NaN;if(i=Ze.HHMM.exec(n),i)return t=parseInt(i[1],10),e=parseFloat(i[2].replace(",",".")),Tc(t,e)?t%24*Sc+e*Oh:NaN;if(i=Ze.HHMMSS.exec(n),i){t=parseInt(i[1],10),e=parseInt(i[2],10);const r=parseFloat(i[3].replace(",","."));return Tc(t,e,r)?t%24*Sc+e*Oh+r*1e3:NaN}return null}function Ah(n,t,e){t=t||0,e=e||0;const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=t*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const Vw=[31,28,31,30,31,30,31,31,30,31,30,31],Yw=[31,29,31,30,31,30,31,31,30,31,30,31];function Rh(n){return n%400===0||n%4===0&&n%100!==0}function Eh(n,t,e){if(t<0||t>11)return!1;if(e!=null){if(e<1)return!1;const i=Rh(n);if(i&&e>Yw[t]||!i&&e>Vw[t])return!1}return!0}function qw(n,t){if(t<1)return!1;const e=Rh(n);return!(e&&t>366||!e&&t>365)}function Ph(n,t){return!(n<0||n>52||t!=null&&(t<0||t>6))}function Tc(n,t,e){return!(n<0||n>=25||t!=null&&(t<0||t>=60)||e!=null&&(e<0||e>=60))}const jw=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function Gw(n,t,e={}){t=String(t);const i=t.match(jw);if(i){const r=na(e.originalDate||n,e);t=i.reduce(function(s,a){if(a[0]==="'")return s;const l=s.indexOf(a),u=s[l-1]==="'",d=s.replace(a,"'"+Bw[a[0]](r,a,e)+"'");return u?d.substring(0,l-1)+d.substring(l+1):d},t)}return yw(n,t,e)}function Ih(n,t,e){n=na(n,e);const i=As(t,n,!0),r=new Date(n.getTime()-i),s=new Date(0);return s.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),s.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),s}function Lh(n,t,e,i){return i={...i,timeZone:t,originalDate:n},Gw(Ih(n,t,{timeZone:i.timeZone}),e,i)}function Kw(n,t,e){if(typeof n=="string"&&!n.match(Ch))return na(n,{...e,timeZone:t});n=na(n,e);const i=bc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()).getTime(),r=As(t,new Date(i));return new Date(i+r)}function Xw(n,t){return-As(n,t)}function Nh(n,t={}){const e=t?.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;let i="MMM dd, yyy hh:mm a";switch(t.format){case"short":i="MMM dd, yyyy";break;case"default":i="MMM dd, yyyy hh:mm a";break;case"full":i="MMM dd, yyyy hh:mm:ss.SSS a";break}return t.includeTZ&&(i+=" (z)"),Lh(n,e,i)}function Zw(n,t={}){if(!n)return n;const e=t.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;try{let i="MMM dd, yyy hh:mm a";t.short&&(i="MMM dd, yyy"),t.includeTZ&&(i+=" (z)");const r=new Date(n);return Lh(r,e,i)}catch{return console.error("Invalid value passed to formatTime",n),"(invalid date)"}}const Qw={secondly:1e3,tenSecondly:10*1e3,thirtySecondly:30*1e3,minutely:60*1e3,fiveMinutely:300*1e3,tenMinutely:600*1e3,thirtyMinutely:1800*1e3,hourly:3600*1e3,twoHourly:7200*1e3,twelveHourly:720*60*1e3,daily:3600*24*1e3,weekly:3600*24*7*1e3,trend:0};function ia(n){return n&&Kb.find(t=>n<=Qw[t])||null}var ra=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sa={exports:{}};sa.exports;var Bh;function Jw(){return Bh||(Bh=1,(function(n,t){var e=200,i="__lodash_hash_undefined__",r=9007199254740991,s="[object Arguments]",a="[object Array]",l="[object Boolean]",u="[object Date]",d="[object Error]",f="[object Function]",m="[object GeneratorFunction]",g="[object Map]",_="[object Number]",x="[object Object]",w="[object Promise]",v="[object RegExp]",C="[object Set]",A="[object String]",z="[object Symbol]",I="[object WeakMap]",L="[object ArrayBuffer]",B="[object DataView]",F="[object Float32Array]",M="[object Float64Array]",T="[object Int8Array]",O="[object Int16Array]",E="[object Int32Array]",$="[object Uint8Array]",Q="[object Uint8ClampedArray]",lt="[object Uint16Array]",ct="[object Uint32Array]",pt=/[\\^$.*+?()[\]{}|]/g,dt=/\w*$/,gt=/^\[object .+?Constructor\]$/,rt=/^(?:0|[1-9]\d*)$/,ft={};ft[s]=ft[a]=ft[L]=ft[B]=ft[l]=ft[u]=ft[F]=ft[M]=ft[T]=ft[O]=ft[E]=ft[g]=ft[_]=ft[x]=ft[v]=ft[C]=ft[A]=ft[z]=ft[$]=ft[Q]=ft[lt]=ft[ct]=!0,ft[d]=ft[f]=ft[I]=!1;var j=typeof ra=="object"&&ra&&ra.Object===Object&&ra,N=typeof self=="object"&&self&&self.Object===Object&&self,W=j||N||Function("return this")(),it=t&&!t.nodeType&&t,ot=it&&!0&&n&&!n.nodeType&&n,K=ot&&ot.exports===it;function tt(D,V){return D.set(V[0],V[1]),D}function st(D,V){return D.add(V),D}function q(D,V){for(var J=-1,yt=D?D.length:0;++J<yt&&V(D[J],J,D)!==!1;);return D}function et(D,V){for(var J=-1,yt=V.length,Me=D.length;++J<yt;)D[Me+J]=V[J];return D}function at(D,V,J,yt){for(var Me=-1,Ge=D?D.length:0;++Me<Ge;)J=V(J,D[Me],Me,D);return J}function xt(D,V){for(var J=-1,yt=Array(D);++J<D;)yt[J]=V(J);return yt}function Lt(D,V){return D?.[V]}function wt(D){var V=!1;if(D!=null&&typeof D.toString!="function")try{V=!!(D+"")}catch{}return V}function Ot(D){var V=-1,J=Array(D.size);return D.forEach(function(yt,Me){J[++V]=[Me,yt]}),J}function kt(D,V){return function(J){return D(V(J))}}function Se(D){var V=-1,J=Array(D.size);return D.forEach(function(yt){J[++V]=yt}),J}var bt=Array.prototype,jt=Function.prototype,Ae=Object.prototype,Re=W["__core-js_shared__"],oe=(function(){var D=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),cn=jt.toString,$t=Ae.hasOwnProperty,Ne=Ae.toString,ie=RegExp("^"+cn.call($t).replace(pt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Te=K?W.Buffer:void 0,Ee=W.Symbol,gn=W.Uint8Array,Hi=kt(Object.getPrototypeOf,Object),Cn=Object.create,je=Ae.propertyIsEnumerable,Ln=bt.splice,di=Object.getOwnPropertySymbols,So=Te?Te.isBuffer:void 0,To=kt(Object.keys,Object),vr=Xn(W,"DataView"),fi=Xn(W,"Map"),Mo=Xn(W,"Promise"),ko=Xn(W,"Set"),Do=Xn(W,"WeakMap"),Wi=Xn(Object,"create"),hl=pi(vr),hd=pi(fi),pd=pi(Mo),md=pi(ko),gd=pi(Do),Co=Ee?Ee.prototype:void 0,pl=Co?Co.valueOf:void 0;function hi(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function yd(){this.__data__=Wi?Wi(null):{}}function Oo(D){return this.has(D)&&delete this.__data__[D]}function _d(D){var V=this.__data__;if(Wi){var J=V[D];return J===i?void 0:J}return $t.call(V,D)?V[D]:void 0}function Ao(D){var V=this.__data__;return Wi?V[D]!==void 0:$t.call(V,D)}function bd(D,V){var J=this.__data__;return J[D]=Wi&&V===void 0?i:V,this}hi.prototype.clear=yd,hi.prototype.delete=Oo,hi.prototype.get=_d,hi.prototype.has=Ao,hi.prototype.set=bd;function Nn(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function xd(){this.__data__=[]}function wd(D){var V=this.__data__,J=Sr(V,D);if(J<0)return!1;var yt=V.length-1;return J==yt?V.pop():Ln.call(V,J,1),!0}function vd(D){var V=this.__data__,J=Sr(V,D);return J<0?void 0:V[J][1]}function ml(D){return Sr(this.__data__,D)>-1}function Sd(D,V){var J=this.__data__,yt=Sr(J,D);return yt<0?J.push([D,V]):J[yt][1]=V,this}Nn.prototype.clear=xd,Nn.prototype.delete=wd,Nn.prototype.get=vd,Nn.prototype.has=ml,Nn.prototype.set=Sd;function $i(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function gl(){this.__data__={hash:new hi,map:new(fi||Nn),string:new hi}}function Td(D){return Tr(this,D).delete(D)}function Md(D){return Tr(this,D).get(D)}function kd(D){return Tr(this,D).has(D)}function Dd(D,V){return Tr(this,D).set(D,V),this}$i.prototype.clear=gl,$i.prototype.delete=Td,$i.prototype.get=Md,$i.prototype.has=kd,$i.prototype.set=Dd;function Vi(D){this.__data__=new Nn(D)}function Cd(){this.__data__=new Nn}function ss(D){return this.__data__.delete(D)}function Od(D){return this.__data__.get(D)}function os(D){return this.__data__.has(D)}function Ad(D,V){var J=this.__data__;if(J instanceof Nn){var yt=J.__data__;if(!fi||yt.length<e-1)return yt.push([D,V]),this;J=this.__data__=new $i(yt)}return J.set(D,V),this}Vi.prototype.clear=Cd,Vi.prototype.delete=ss,Vi.prototype.get=Od,Vi.prototype.has=os,Vi.prototype.set=Ad;function Rd(D,V){var J=Lo(D)||Al(D)?xt(D.length,String):[],yt=J.length,Me=!!yt;for(var Ge in D)$t.call(D,Ge)&&!(Me&&(Ge=="length"||kl(Ge,yt)))&&J.push(Ge);return J}function yl(D,V,J){var yt=D[V];(!($t.call(D,V)&&Ol(yt,J))||J===void 0&&!(V in D))&&(D[V]=J)}function Sr(D,V){for(var J=D.length;J--;)if(Ol(D[J][0],V))return J;return-1}function _l(D,V){return D&&Eo(V,No(V),D)}function as(D,V,J,yt,Me,Ge,Bn){var Be;if(yt&&(Be=Ge?yt(D,Me,Ge,Bn):yt(D)),Be!==void 0)return Be;if(!fs(D))return D;var El=Lo(D);if(El){if(Be=Tl(D),!V)return Sl(D,Be)}else{var ce=un(D),hs=ce==f||ce==m;if(Wd(D))return xl(D,V);if(ce==x||ce==s||hs&&!Ge){if(wt(D))return Ge?D:{};if(Be=Ml(hs?{}:D),!V)return Po(D,_l(Be,D))}else{if(!ft[ce])return Ge?D:{};Be=zd(D,ce,as,V)}}Bn||(Bn=new Vi);var Zn=Bn.get(D);if(Zn)return Zn;if(Bn.set(D,Be),!El)var Bo=J?Fd(D):No(D);return q(Bo||D,function(Mr,Fe){Bo&&(Fe=Mr,Mr=D[Fe]),yl(Be,Fe,as(Mr,V,J,yt,Fe,D,Bn))}),Be}function Ed(D){return fs(D)?Cn(D):{}}function Pd(D,V,J){var yt=V(D);return Lo(D)?yt:et(yt,J(D))}function Id(D){return Ne.call(D)}function Ld(D){if(!fs(D)||Cl(D))return!1;var V=ds(D)||wt(D)?ie:gt;return V.test(pi(D))}function bl(D){if(!Io(D))return To(D);var V=[];for(var J in Object(D))$t.call(D,J)&&J!="constructor"&&V.push(J);return V}function xl(D,V){if(V)return D.slice();var J=new D.constructor(D.length);return D.copy(J),J}function ls(D){var V=new D.constructor(D.byteLength);return new gn(V).set(new gn(D)),V}function Ro(D,V){var J=V?ls(D.buffer):D.buffer;return new D.constructor(J,D.byteOffset,D.byteLength)}function Nd(D,V,J){var yt=V?J(Ot(D),!0):Ot(D);return at(yt,tt,new D.constructor)}function wl(D){var V=new D.constructor(D.source,dt.exec(D));return V.lastIndex=D.lastIndex,V}function cs(D,V,J){var yt=V?J(Se(D),!0):Se(D);return at(yt,st,new D.constructor)}function vl(D){return pl?Object(pl.call(D)):{}}function Bd(D,V){var J=V?ls(D.buffer):D.buffer;return new D.constructor(J,D.byteOffset,D.length)}function Sl(D,V){var J=-1,yt=D.length;for(V||(V=Array(yt));++J<yt;)V[J]=D[J];return V}function Eo(D,V,J,yt){J||(J={});for(var Me=-1,Ge=V.length;++Me<Ge;){var Bn=V[Me],Be=void 0;yl(J,Bn,Be===void 0?D[Bn]:Be)}return J}function Po(D,V){return Eo(D,us(D),V)}function Fd(D){return Pd(D,No,us)}function Tr(D,V){var J=D.__data__;return Dl(V)?J[typeof V=="string"?"string":"hash"]:J.map}function Xn(D,V){var J=Lt(D,V);return Ld(J)?J:void 0}var us=di?kt(di,Object):Yd,un=Id;(vr&&un(new vr(new ArrayBuffer(1)))!=B||fi&&un(new fi)!=g||Mo&&un(Mo.resolve())!=w||ko&&un(new ko)!=C||Do&&un(new Do)!=I)&&(un=function(D){var V=Ne.call(D),J=V==x?D.constructor:void 0,yt=J?pi(J):void 0;if(yt)switch(yt){case hl:return B;case hd:return g;case pd:return w;case md:return C;case gd:return I}return V});function Tl(D){var V=D.length,J=D.constructor(V);return V&&typeof D[0]=="string"&&$t.call(D,"index")&&(J.index=D.index,J.input=D.input),J}function Ml(D){return typeof D.constructor=="function"&&!Io(D)?Ed(Hi(D)):{}}function zd(D,V,J,yt){var Me=D.constructor;switch(V){case L:return ls(D);case l:case u:return new Me(+D);case B:return Ro(D,yt);case F:case M:case T:case O:case E:case $:case Q:case lt:case ct:return Bd(D,yt);case g:return Nd(D,yt,J);case _:case A:return new Me(D);case v:return wl(D);case C:return cs(D,yt,J);case z:return vl(D)}}function kl(D,V){return V=V??r,!!V&&(typeof D=="number"||rt.test(D))&&D>-1&&D%1==0&&D<V}function Dl(D){var V=typeof D;return V=="string"||V=="number"||V=="symbol"||V=="boolean"?D!=="__proto__":D===null}function Cl(D){return!!oe&&oe in D}function Io(D){var V=D&&D.constructor,J=typeof V=="function"&&V.prototype||Ae;return D===J}function pi(D){if(D!=null){try{return cn.call(D)}catch{}try{return D+""}catch{}}return""}function Ud(D){return as(D,!0,!0)}function Ol(D,V){return D===V||D!==D&&V!==V}function Al(D){return Hd(D)&&$t.call(D,"callee")&&(!je.call(D,"callee")||Ne.call(D)==s)}var Lo=Array.isArray;function Rl(D){return D!=null&&$d(D.length)&&!ds(D)}function Hd(D){return Vd(D)&&Rl(D)}var Wd=So||ee;function ds(D){var V=fs(D)?Ne.call(D):"";return V==f||V==m}function $d(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=r}function fs(D){var V=typeof D;return!!D&&(V=="object"||V=="function")}function Vd(D){return!!D&&typeof D=="object"}function No(D){return Rl(D)?Rd(D):bl(D)}function Yd(){return[]}function ee(){return!1}n.exports=Ud})(sa,sa.exports)),sa.exports}Jw();const Mn=(n,t)=>new Date(n.getTime()-Xw(t,n));class Ce{timeframeText;key;display;timeframeLength;allowedTiers;defaultResponseGranularity;dataGranularity;isRelative;fineGrainedDefaultGranularity;_startCustom;_endCustom;_allowedGranularitiesOverride;constructor(t){this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom,this._allowedGranularitiesOverride=t.allowedGranularitiesOverride,this.fineGrainedDefaultGranularity=t.fineGrainedDefaultGranularity}rawEnd(t){return this._endCustom||new Date}rawStart(t){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(t){if(this._allowedGranularitiesOverride&&t)return new Set(this._allowedGranularitiesOverride);const e=new Set,i=this.maximumTimeframeLength()/3600;return i<=6&&e.add("minutely"),i>=2&&i<=168&&e.add("hourly"),i>=48&&e.add("daily"),i>=672&&e.add("weekly"),e}cacheKey(){return this.key!=="custom"?this.key:`${this.rawStart().toISOString()}-${this.rawEnd().toISOString()}`}v4Query(t){return this.key==="custom"?{type:"absolute",start:this.rawStart(),end:this.rawEnd(),tz:t}:{type:"relative",time_range:this.key,tz:t}}tzAdjustedDate(t){if(!t)return new Date;const e=Kw(new Date,new Intl.DateTimeFormat().resolvedOptions().timeZone);return Ih(e,t)}}class tv extends Ce{rawStart(t){let e=ei(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*7}}class ev extends Ce{rawStart(t){let e=Br(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*31}}class nv extends Ce{rawStart(t){let e=Nr(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*92}}class iv extends Ce{rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*366}}class rv extends Ce{rawEnd(t){let e=ei(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Mn(e,t)),e}rawStart(t){const e=this.tzAdjustedDate(t);let i=ei(e.setDate(e.getDate()-7),{weekStartsOn:1});return t&&(i=Mn(i,t)),i}}class sv extends Ce{rawEnd(t){let e=Nr(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}rawStart(t){let e=Nr(xh(this.tzAdjustedDate(t)));return t&&(e=Mn(e,t)),e}}class ov extends Ce{rawEnd(t){let e=Br(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}rawStart(t){let e=Br(bh(this.tzAdjustedDate(t)));return t&&(e=Mn(e,t)),e}}class av extends Ce{rawEnd(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Mn(e,t)),e}rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear()-1,0,1);return t&&(e=Mn(e,t)),e}}mt.FIFTEEN_MIN,new Ce({key:mt.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>900,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"thirtySecondly",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely"]}),mt.ONE_HOUR,new Ce({key:mt.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>3600*1,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"minutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely"]}),mt.SIX_HOUR,new Ce({key:mt.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>3600*6,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"fiveMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.TWELVE_HOUR,new Ce({key:mt.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>3600*12,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"tenMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.ONE_DAY,new Ce({key:mt.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>3600*24,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"thirtyMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.SEVEN_DAY,new Ce({key:mt.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.THIRTY_DAY,new Ce({key:mt.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>3600*24*30,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twelveHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.NINETY_DAY,new Ce({key:mt.NINETY_DAY,display:"Last 90 days",timeframeText:"90 days",timeframeLength:()=>3600*24*90,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.ONE_HUNDRED_EIGHTY_DAY,new Ce({key:mt.ONE_HUNDRED_EIGHTY_DAY,display:"Last 180 days",timeframeText:"180 days",timeframeLength:()=>3600*24*180,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.ONE_YEAR,new Ce({key:mt.ONE_YEAR,display:"Last 365 days",timeframeText:"365 days",timeframeLength:()=>3600*24*365,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.CURRENT_WEEK,new tv({key:mt.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const n=ei(new Date,{weekStartsOn:1});return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.CURRENT_MONTH,new ev({key:mt.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const n=Br(new Date);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.CURRENT_QUARTER,new nv({key:mt.CURRENT_QUARTER,display:"This quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Nr(new Date);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.CURRENT_YEAR,new iv({key:mt.CURRENT_YEAR,display:"This year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_WEEK,new rv({key:mt.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.PREVIOUS_MONTH,new ov({key:mt.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let n=0;const t=Br(new Date),e=Br(bh(new Date));return t.getTimezoneOffset()!==e.getTimezoneOffset()&&(n=Fh(t,e)),3600*24*xw(new Date().setMonth(new Date().getMonth()-1))+_h(n)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_QUARTER,new sv({key:mt.PREVIOUS_QUARTER,display:"Previous quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Nr(new Date),t=Nr(xh(new Date));return(n.getTime()-t.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_YEAR,new av({key:mt.PREVIOUS_YEAR,display:"Previous year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1),t=new Date(new Date().getFullYear()-1,0,1);let e=0;return n.getTimezoneOffset()!==t.getTimezoneOffset()&&(e=Fh(n,t)),3600*24*(365+(t.getFullYear()%4===0?1:0))+_h(e)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]});function Fh(n,t){return vw(n.getTimezoneOffset()-t.getTimezoneOffset())}mt.FIFTEEN_MIN,mt.ONE_HOUR,mt.SIX_HOUR,mt.TWELVE_HOUR,mt.ONE_DAY,mt.SEVEN_DAY,mt.FIFTEEN_MIN,mt.ONE_HOUR,mt.SIX_HOUR,mt.TWELVE_HOUR,mt.ONE_DAY,mt.SEVEN_DAY,mt.THIRTY_DAY,mt.NINETY_DAY,mt.ONE_HUNDRED_EIGHTY_DAY,mt.ONE_YEAR,mt.CURRENT_WEEK,mt.CURRENT_MONTH,mt.CURRENT_QUARTER,mt.CURRENT_YEAR,mt.PREVIOUS_WEEK,mt.PREVIOUS_MONTH,mt.PREVIOUS_QUARTER,mt.PREVIOUS_YEAR;const lv=new Map(sh.map(n=>[n.code,{code:n.code,name:n.name}])),Mc=n=>lv.get(n)?.name||n,zh=1e3,cv=1e4,Uh=1e6,Hh=1e9,Wh=1e12,oa=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((r,s)=>{s&&s%3===0&&i.push(e),i.push(r)}),i.reverse().join("")},Rs=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function aa(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?cv:zh;return n<r||t.precision&&t.precision>Math.log10(n)?e=oa(Rs(n,1,t),t):n<Uh?e=`${Rs(n,zh,t)}k`:n<Hh?e=`${Rs(n,Uh,t)}m`:n<Wh?e=`${oa(Rs(n,Hh,t),t)}b`:e=`${oa(Rs(n,Wh,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}aa.addCommas=oa;const uv=typeof document<"u"&&document.documentElement?.lang||"en-US",la=new Intl.NumberFormat(uv);function ni({i18n:n}){const t=(i,r)=>{if(isNaN(i))return"0 B";const s=r?Math.pow(2,50):1e15,a=r?Math.pow(2,40):1e12,l=r?Math.pow(2,30):1e9,u=r?Math.pow(2,20):1e6,d=r?Math.pow(2,10):1e3;let f;return i>=s?f=n.formatNumber(Number.parseFloat((i/s).toPrecision(3)),{style:"unit",unit:"petabyte",unitDisplay:"narrow"}):i>=a?f=n.formatNumber(Number.parseFloat((i/a).toPrecision(3)),{style:"unit",unit:"terabyte",unitDisplay:"narrow"}):i>=l?f=n.formatNumber(Number.parseFloat((i/l).toPrecision(3)),{style:"unit",unit:"gigabyte",unitDisplay:"narrow"}):i>=u?f=n.formatNumber(Number.parseFloat((i/u).toPrecision(3)),{style:"unit",unit:"megabyte",unitDisplay:"narrow"}):i>=d?f=n.formatNumber(Number.parseFloat((i/d).toPrecision(3)),{style:"unit",unit:"kilobyte",unitDisplay:"narrow"}):f=n.formatNumber(Number.parseFloat(i.toPrecision(3)),{style:"unit",unit:"byte",unitDisplay:"narrow"}),f.replace(/([a-zA-Z]*)$/," $1")},e=(i,r="USD")=>isNaN(i)?r==="USD"?"$0.00":`${i}`:i>=.01||r!=="USD"?n.formatNumber(i,{style:"currency",currency:r}):i<1e-4?"< $0.0001":`$${Number.parseFloat(i.toPrecision(4))}`;return{formatUnit:(i,r,{isBytes1024:s=!1,currency:a="USD",approximate:l=!1,translateUnit:u=d=>d}={})=>{const d=u(r,i);switch(r){case"bytes":return t(i,s);case"usd":return e(i,a);default:return isNaN(i)?`${i}`:l?`${aa(i,{capital:!0})} ${d}`:i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))} ${d}`:`${Number.parseFloat(i.toPrecision(4))} ${d}`}},formatBytes:t,formatCost:e,formatRange:(i,r,s,{isBytes1024:a=!1,currency:l="USD",approximate:u=!1,translateUnit:d=f=>f}={})=>{const f=d(s,r);switch(s){case"bytes":return`${t(i,a)} - ${t(r,a)}`;case"usd":return`${e(i,l)} - ${e(r,l)}`;default:if(isNaN(i)||isNaN(r))return`${i} - ${r}`;if(u)return`${aa(i,{capital:!0})} - ${aa(r,{capital:!0})} ${f}`}const m=i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))}`:`${Number.parseFloat(i.toPrecision(4))}`,g=r>=.01?`${la.format(Number.parseFloat(r.toFixed(2)))}`:`${Number.parseFloat(r.toPrecision(4))}`;return`${m} - ${g} ${f}`}}}const $h="#d60027",Vh="#ffe5e5",dv="#f1f0ff",fv="#e0e4ea",Yh="#6c7489",hv="#afb7c5",qh="#0d0e14",pv="#d60027",mv="#ad000e",kc="#6c7489",jh="#52596e",gv="#007d60",yv="#995c00",_v="#ffc400",bv="'Inter', Roboto, Helvetica, sans-serif",ir="16px",xv="20px",wv="#bee2ff",vv="#8fc1ff",Sv="#5f9aff",Tv="#306fff",Mv="#b5ffee",kv="#00fabe",Dv="#00d6a4",Cv="#00a17b",Ov="#007d60",Av="#005944",Rv="#b5ffee",Ev="#00fabe",Pv="#b5ffee",Iv="#00a17b",Lv="#fff296",Nv="#ffe04b",Bv="#ffc400",Fv="#b37600",zv="#995c00",Uv="#804400",Hv="#fff296",Wv="#ffe04b",$v="#ffc2b3",Vv="#ff9877",Yv="#ff723c",qv="#f75008",jv="#d13500",Gv="#a31f00",Kv="#ffc2b3",Xv="#ff9877",Zv="#ff723c",Qv="#f75008",Jv="#d13500",t1="#a31f00",e1="#ffc2b3",n1="#ff9877",i1="#ff723c",r1="#f75008",s1="#d13500",o1="#a31f00",a1="#ffc2b3",l1="#ff9877",c1="#ff723c",u1="#f75008",d1="#d13500",f1="#a31f00",h1="#ffc2b3",p1="#ff9877",m1="#ff723c",g1="#f75008",y1="#d13500",_1="#ffabab",b1="#ff7272",x1="#ff3954",w1="#f50045",v1="#d60027",S1="#ad000e",T1="#ffabab",M1="#ff7272",k1="#ff3954",D1="#f50045",C1="#d60027",O1="#eefaff",A1="#ecfffb",R1="#fffce0",E1="#fff1ef",P1="#ffe5e5",I1="#5f9aff",L1="#00d6a4",N1="#ffc400",B1="#ff723c",F1="#ff3954",Gh=6048e5,z1=864e5,Es=6e4,zr=36e5,U1=1e3,Kh=Symbol.for("constructDateFrom");function pe(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&Kh in n?n[Kh](t):n instanceof Date?new n.constructor(t):new Date(t)}function Rt(n,t){return pe(t||n,n)}function ca(n,t,e){const i=Rt(n,e?.in);return isNaN(t)?pe(e?.in||n,NaN):(t&&i.setDate(i.getDate()+t),i)}function Dc(n,t,e){const i=Rt(n,e?.in);if(isNaN(t))return pe(n,NaN);if(!t)return i;const r=i.getDate(),s=pe(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function Cc(n,t,e){return pe(n,+Rt(n)+t)}function H1(n,t,e){return Cc(n,t*zr)}let W1={};function rr(){return W1}function $n(n,t){const e=rr(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Rt(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Ur(n,t){return $n(n,{...t,weekStartsOn:1})}function Xh(n,t){const e=Rt(n,t?.in),i=e.getFullYear(),r=pe(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Ur(r),a=pe(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Ur(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function ua(n){const t=Rt(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function sr(n,...t){const e=pe.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Oc(n,t){const e=Rt(n,t?.in);return e.setHours(0,0,0,0),e}function Zh(n,t,e){const[i,r]=sr(e?.in,n,t),s=Oc(i),a=Oc(r),l=+s-ua(s),u=+a-ua(a);return Math.round((l-u)/z1)}function $1(n,t){const e=Xh(n,t),i=pe(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Ur(i)}function V1(n,t,e){const i=Rt(n,e?.in);return i.setTime(i.getTime()+t*Es),i}function Y1(n,t,e){return Dc(n,t*3,e)}function q1(n,t,e){return Cc(n,t*1e3)}function j1(n,t,e){return ca(n,t*7,e)}function G1(n,t,e){return Dc(n,t*12,e)}function Ps(n,t){const e=+Rt(n)-+Rt(t);return e<0?-1:e>0?1:e}function K1(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function Ac(n){return!(!K1(n)&&typeof n!="number"||isNaN(+Rt(n)))}function X1(n,t,e){const[i,r]=sr(e?.in,n,t),s=i.getFullYear()-r.getFullYear(),a=i.getMonth()-r.getMonth();return s*12+a}function Z1(n,t,e){const[i,r]=sr(e?.in,n,t);return i.getFullYear()-r.getFullYear()}function Qh(n,t,e){const[i,r]=sr(e?.in,n,t),s=Jh(i,r),a=Math.abs(Zh(i,r));i.setDate(i.getDate()-s*a);const l=+(Jh(i,r)===-s),u=s*(a-l);return u===0?0:u}function Jh(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function Is(n){return t=>{const i=(n?Math[n]:Math.trunc)(t);return i===0?0:i}}function Q1(n,t,e){const[i,r]=sr(e?.in,n,t),s=(+i-+r)/zr;return Is(e?.roundingMethod)(s)}function Rc(n,t){return+Rt(n)-+Rt(t)}function J1(n,t,e){const i=Rc(n,t)/Es;return Is(e?.roundingMethod)(i)}function tp(n,t){const e=Rt(n,t?.in);return e.setHours(23,59,59,999),e}function ep(n,t){const e=Rt(n,t?.in),i=e.getMonth();return e.setFullYear(e.getFullYear(),i+1,0),e.setHours(23,59,59,999),e}function tS(n,t){const e=Rt(n,t?.in);return+tp(e,t)==+ep(e,t)}function np(n,t,e){const[i,r,s]=sr(e?.in,n,n,t),a=Ps(r,s),l=Math.abs(X1(r,s));if(l<1)return 0;r.getMonth()===1&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-a*l);let u=Ps(r,s)===-a;tS(i)&&l===1&&Ps(i,s)===1&&(u=!1);const d=a*(l-+u);return d===0?0:d}function eS(n,t,e){const i=np(n,t,e)/3;return Is(e?.roundingMethod)(i)}function nS(n,t,e){const i=Rc(n,t)/1e3;return Is(e?.roundingMethod)(i)}function iS(n,t,e){const i=Qh(n,t,e)/7;return Is(e?.roundingMethod)(i)}function rS(n,t,e){const[i,r]=sr(e?.in,n,t),s=Ps(i,r),a=Math.abs(Z1(i,r));i.setFullYear(1584),r.setFullYear(1584);const l=Ps(i,r)===-s,u=s*(a-+l);return u===0?0:u}function sS(n,t){const e=Rt(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function oS(n,t){const e=Rt(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function aS(n,t){const e=Rt(n,t?.in),i=e.getFullYear();return e.setFullYear(i+1,0,0),e.setHours(23,59,59,999),e}function ip(n,t){const e=Rt(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function lS(n,t){const e=Rt(n,t?.in);return e.setMinutes(59,59,999),e}function cS(n,t){const e=rr(),i=e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Rt(n,t?.in),s=r.getDay(),a=(s<i?-7:0)+6-(s-i);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function uS(n,t){const e=Rt(n,t?.in);return e.setSeconds(59,999),e}function dS(n,t){const e=Rt(n,t?.in),i=e.getMonth(),r=i-i%3+3;return e.setMonth(r,0),e.setHours(23,59,59,999),e}function fS(n,t){const e=Rt(n,t?.in);return e.setMilliseconds(999),e}const hS={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},pS=(n,t,e)=>{let i;const r=hS[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function Ec(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const mS={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},gS={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},yS={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_S={date:Ec({formats:mS,defaultWidth:"full"}),time:Ec({formats:gS,defaultWidth:"full"}),dateTime:Ec({formats:yS,defaultWidth:"full"})},bS={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xS=(n,t,e,i)=>bS[n];function Ls(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const wS={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},vS={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},SS={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},TS={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},MS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},kS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},DS={ordinalNumber:(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},era:Ls({values:wS,defaultWidth:"wide"}),quarter:Ls({values:vS,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ls({values:SS,defaultWidth:"wide"}),day:Ls({values:TS,defaultWidth:"wide"}),dayPeriod:Ls({values:MS,defaultWidth:"wide",formattingValues:kS,defaultFormattingWidth:"wide"})};function Ns(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?OS(l,m=>m.test(a)):CS(l,m=>m.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const f=t.slice(a.length);return{value:d,rest:f}}}function CS(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function OS(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function AS(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const RS=/^(\d+)(th|st|nd|rd)?/i,ES=/\d+/i,PS={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},IS={any:[/^b/i,/^(a|c)/i]},LS={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},NS={any:[/1/i,/2/i,/3/i,/4/i]},BS={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},FS={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},zS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},US={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},HS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},WS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},$S={ordinalNumber:AS({matchPattern:RS,parsePattern:ES,valueCallback:n=>parseInt(n,10)}),era:Ns({matchPatterns:PS,defaultMatchWidth:"wide",parsePatterns:IS,defaultParseWidth:"any"}),quarter:Ns({matchPatterns:LS,defaultMatchWidth:"wide",parsePatterns:NS,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Ns({matchPatterns:BS,defaultMatchWidth:"wide",parsePatterns:FS,defaultParseWidth:"any"}),day:Ns({matchPatterns:zS,defaultMatchWidth:"wide",parsePatterns:US,defaultParseWidth:"any"}),dayPeriod:Ns({matchPatterns:HS,defaultMatchWidth:"any",parsePatterns:WS,defaultParseWidth:"any"})},rp={code:"en-US",formatDistance:pS,formatLong:_S,formatRelative:xS,localize:DS,match:$S,options:{weekStartsOn:0,firstWeekContainsDate:1}};function VS(n,t){const e=Rt(n,t?.in);return Zh(e,ip(e))+1}function sp(n,t){const e=Rt(n,t?.in),i=+Ur(e)-+$1(e);return Math.round(i/Gh)+1}function Pc(n,t){const e=Rt(n,t?.in),i=e.getFullYear(),r=rr(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=pe(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=$n(a,t),u=pe(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=$n(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function YS(n,t){const e=rr(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=Pc(n,t),s=pe(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),$n(s,t)}function op(n,t){const e=Rt(n,t?.in),i=+$n(e,t)-+YS(e,t);return Math.round(i/Gh)+1}function Zt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const Ti={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Zt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Zt(e+1,2)},d(n,t){return Zt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Zt(n.getHours()%12||12,t.length)},H(n,t){return Zt(n.getHours(),t.length)},m(n,t){return Zt(n.getMinutes(),t.length)},s(n,t){return Zt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Zt(r,t.length)}},Hr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ap={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return Ti.y(n,t)},Y:function(n,t,e,i){const r=Pc(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Zt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Zt(s,t.length)},R:function(n,t){const e=Xh(n);return Zt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Zt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Zt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Zt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return Ti.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Zt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=op(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Zt(r,t.length)},I:function(n,t,e){const i=sp(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Zt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):Ti.d(n,t)},D:function(n,t,e){const i=VS(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Zt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Zt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Zt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Zt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Hr.noon:i===0?r=Hr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Hr.evening:i>=12?r=Hr.afternoon:i>=4?r=Hr.morning:r=Hr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return Ti.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):Ti.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):Ti.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):Ti.s(n,t)},S:function(n,t){return Ti.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return cp(i);case"XXXX":case"XX":return or(i);default:return or(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return cp(i);case"xxxx":case"xx":return or(i);default:return or(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+lp(i,":");default:return"GMT"+or(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+lp(i,":");default:return"GMT"+or(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Zt(i,t.length)},T:function(n,t,e){return Zt(+n,t.length)}};function lp(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Zt(s,2)}function cp(n,t){return n%60===0?(n>0?"-":"+")+Zt(Math.abs(n)/60,2):or(n,t)}function or(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Zt(Math.trunc(i/60),2),s=Zt(i%60,2);return e+r+t+s}const up=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},dp=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ic={p:dp,P:(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return up(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",up(i,t)).replace("{{time}}",dp(r,t))}},qS=/^D+$/,jS=/^Y+$/,GS=["D","DD","YY","YYYY"];function fp(n){return qS.test(n)}function hp(n){return jS.test(n)}function Lc(n,t,e){const i=KS(n,t,e);if(console.warn(i),GS.includes(n))throw new RangeError(i)}function KS(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const XS=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ZS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,QS=/^'([^]*?)'?$/,JS=/''/g,tT=/[a-zA-Z]/;function da(n,t,e){const i=rr(),r=e?.locale??i.locale??rp,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=Rt(n,e?.in);if(!Ac(l))throw new RangeError("Invalid time value");let u=t.match(ZS).map(f=>{const m=f[0];if(m==="p"||m==="P"){const g=Ic[m];return g(f,r.formatLong)}return f}).join("").match(XS).map(f=>{if(f==="''")return{isToken:!1,value:"'"};const m=f[0];if(m==="'")return{isToken:!1,value:eT(f)};if(ap[m])return{isToken:!0,value:f};if(m.match(tT))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:f}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(f=>{if(!f.isToken)return f.value;const m=f.value;(!e?.useAdditionalWeekYearTokens&&hp(m)||!e?.useAdditionalDayOfYearTokens&&fp(m))&&Lc(m,t,String(n));const g=ap[m[0]];return g(l,m,r.localize,d)}).join("")}function eT(n){const t=n.match(QS);return t?t[1].replace(JS,"'"):n}function pp(){return Object.assign({},rr())}function nT(n,t){const e=Rt(n,t?.in).getDay();return e===0?7:e}function iT(n,t){const e=rT(t)?new t(0):pe(t,0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}function rT(n){return typeof n=="function"&&n.prototype?.constructor===n}const sT=10;class mp{subPriority=0;validate(t,e){return!0}}class oT extends mp{constructor(t,e,i,r,s){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,s&&(this.subPriority=s)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class aT extends mp{priority=sT;subPriority=-1;constructor(t,e){super(),this.context=t||(i=>pe(e,i))}set(t,e){return e.timestampIsSet?t:pe(t,iT(t,this.context))}}class Wt{run(t,e,i,r){const s=this.parse(t,e,i,r);return s?{setter:new oT(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(t,e,i){return!0}}class lT extends Wt{priority=140;parse(t,e,i){switch(e){case"G":case"GG":case"GGG":return i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"});case"GGGGG":return i.era(t,{width:"narrow"});default:return i.era(t,{width:"wide"})||i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"})}}set(t,e,i){return e.era=i,t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const ye={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Vn={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function _e(n,t){return n&&{value:t(n.value),rest:n.rest}}function fe(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function Yn(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,s=e[3]?parseInt(e[3],10):0,a=e[5]?parseInt(e[5],10):0;return{value:i*(r*zr+s*Es+a*U1),rest:t.slice(e[0].length)}}function gp(n){return fe(ye.anyDigitsSigned,n)}function me(n,t){switch(n){case 1:return fe(ye.singleDigit,t);case 2:return fe(ye.twoDigits,t);case 3:return fe(ye.threeDigits,t);case 4:return fe(ye.fourDigits,t);default:return fe(new RegExp("^\\d{1,"+n+"}"),t)}}function fa(n,t){switch(n){case 1:return fe(ye.singleDigitSigned,t);case 2:return fe(ye.twoDigitsSigned,t);case 3:return fe(ye.threeDigitsSigned,t);case 4:return fe(ye.fourDigitsSigned,t);default:return fe(new RegExp("^-?\\d{1,"+n+"}"),t)}}function Nc(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function yp(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const s=i+50,a=Math.trunc(s/100)*100,l=n>=s%100;r=n+a-(l?100:0)}return e?r:1-r}function _p(n){return n%400===0||n%4===0&&n%100!==0}class cT extends Wt{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="yy"});switch(e){case"y":return _e(me(4,t),r);case"yo":return _e(i.ordinalNumber(t,{unit:"year"}),r);default:return _e(me(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i){const r=t.getFullYear();if(i.isTwoDigitYear){const a=yp(i.year,r);return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}const s=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}}class uT extends Wt{priority=130;parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="YY"});switch(e){case"Y":return _e(me(4,t),r);case"Yo":return _e(i.ordinalNumber(t,{unit:"year"}),r);default:return _e(me(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i,r){const s=Pc(t,r);if(i.isTwoDigitYear){const l=yp(i.year,s);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),$n(t,r)}const a=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(a,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),$n(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class dT extends Wt{priority=130;parse(t,e){return fa(e==="R"?4:e.length,t)}set(t,e,i){const r=pe(t,0);return r.setFullYear(i,0,4),r.setHours(0,0,0,0),Ur(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class fT extends Wt{priority=130;parse(t,e){return fa(e==="u"?4:e.length,t)}set(t,e,i){return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class hT extends Wt{priority=120;parse(t,e,i){switch(e){case"Q":case"QQ":return me(e.length,t);case"Qo":return i.ordinalNumber(t,{unit:"quarter"});case"QQQ":return i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(t,{width:"narrow",context:"formatting"});default:return i.quarter(t,{width:"wide",context:"formatting"})||i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class pT extends Wt{priority=120;parse(t,e,i){switch(e){case"q":case"qq":return me(e.length,t);case"qo":return i.ordinalNumber(t,{unit:"quarter"});case"qqq":return i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(t,{width:"narrow",context:"standalone"});default:return i.quarter(t,{width:"wide",context:"standalone"})||i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class mT extends Wt{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"M":return _e(fe(ye.month,t),r);case"MM":return _e(me(2,t),r);case"Mo":return _e(i.ordinalNumber(t,{unit:"month"}),r);case"MMM":return i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(t,{width:"narrow",context:"formatting"});default:return i.month(t,{width:"wide",context:"formatting"})||i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}}class gT extends Wt{priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"L":return _e(fe(ye.month,t),r);case"LL":return _e(me(2,t),r);case"Lo":return _e(i.ordinalNumber(t,{unit:"month"}),r);case"LLL":return i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(t,{width:"narrow",context:"standalone"});default:return i.month(t,{width:"wide",context:"standalone"})||i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function yT(n,t,e){const i=Rt(n,e?.in),r=op(i,e)-t;return i.setDate(i.getDate()-r*7),Rt(i,e?.in)}class _T extends Wt{priority=100;parse(t,e,i){switch(e){case"w":return fe(ye.week,t);case"wo":return i.ordinalNumber(t,{unit:"week"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i,r){return $n(yT(t,i,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function bT(n,t,e){const i=Rt(n,e?.in),r=sp(i,e)-t;return i.setDate(i.getDate()-r*7),i}class xT extends Wt{priority=100;parse(t,e,i){switch(e){case"I":return fe(ye.week,t);case"Io":return i.ordinalNumber(t,{unit:"week"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i){return Ur(bT(t,i))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const wT=[31,28,31,30,31,30,31,31,30,31,30,31],vT=[31,29,31,30,31,30,31,31,30,31,30,31];class ST extends Wt{priority=90;subPriority=1;parse(t,e,i){switch(e){case"d":return fe(ye.date,t);case"do":return i.ordinalNumber(t,{unit:"date"});default:return me(e.length,t)}}validate(t,e){const i=t.getFullYear(),r=_p(i),s=t.getMonth();return r?e>=1&&e<=vT[s]:e>=1&&e<=wT[s]}set(t,e,i){return t.setDate(i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class TT extends Wt{priority=90;subpriority=1;parse(t,e,i){switch(e){case"D":case"DD":return fe(ye.dayOfYear,t);case"Do":return i.ordinalNumber(t,{unit:"date"});default:return me(e.length,t)}}validate(t,e){const i=t.getFullYear();return _p(i)?e>=1&&e<=366:e>=1&&e<=365}set(t,e,i){return t.setMonth(0,i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Bc(n,t,e){const i=rr(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,s=Rt(n,e?.in),a=s.getDay(),u=(t%7+7)%7,d=7-r,f=t<0||t>6?t-(a+d)%7:(u+d)%7-(a+d)%7;return ca(s,f,e)}class MT extends Wt{priority=90;parse(t,e,i){switch(e){case"E":case"EE":case"EEE":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class kT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"e":case"ee":return _e(me(e.length,t),s);case"eo":return _e(i.ordinalNumber(t,{unit:"day"}),s);case"eee":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeeee":return i.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class DT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"c":case"cc":return _e(me(e.length,t),s);case"co":return _e(i.ordinalNumber(t,{unit:"day"}),s);case"ccc":return i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"ccccc":return i.day(t,{width:"narrow",context:"standalone"});case"cccccc":return i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});default:return i.day(t,{width:"wide",context:"standalone"})||i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function CT(n,t,e){const i=Rt(n,e?.in),r=nT(i,e),s=t-r;return ca(i,s,e)}class OT extends Wt{priority=90;parse(t,e,i){const r=s=>s===0?7:s;switch(e){case"i":case"ii":return me(e.length,t);case"io":return i.ordinalNumber(t,{unit:"day"});case"iii":return _e(i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return _e(i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return _e(i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);default:return _e(i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,e){return e>=1&&e<=7}set(t,e,i){return t=CT(t,i),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AT extends Wt{priority=80;parse(t,e,i){switch(e){case"a":case"aa":case"aaa":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class RT extends Wt{priority=80;parse(t,e,i){switch(e){case"b":case"bb":case"bbb":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ET extends Wt{priority=80;parse(t,e,i){switch(e){case"B":case"BB":case"BBB":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class PT extends Wt{priority=70;parse(t,e,i){switch(e){case"h":return fe(ye.hour12h,t);case"ho":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,i){const r=t.getHours()>=12;return r&&i<12?t.setHours(i+12,0,0,0):!r&&i===12?t.setHours(0,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class IT extends Wt{priority=70;parse(t,e,i){switch(e){case"H":return fe(ye.hour23h,t);case"Ho":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,i){return t.setHours(i,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class LT extends Wt{priority=70;parse(t,e,i){switch(e){case"K":return fe(ye.hour11h,t);case"Ko":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.getHours()>=12&&i<12?t.setHours(i+12,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class NT extends Wt{priority=70;parse(t,e,i){switch(e){case"k":return fe(ye.hour24h,t);case"ko":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,i){const r=i<=24?i%24:i;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class BT extends Wt{priority=60;parse(t,e,i){switch(e){case"m":return fe(ye.minute,t);case"mo":return i.ordinalNumber(t,{unit:"minute"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setMinutes(i,0,0),t}incompatibleTokens=["t","T"]}class FT extends Wt{priority=50;parse(t,e,i){switch(e){case"s":return fe(ye.second,t);case"so":return i.ordinalNumber(t,{unit:"second"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setSeconds(i,0),t}incompatibleTokens=["t","T"]}class zT extends Wt{priority=30;parse(t,e){const i=r=>Math.trunc(r*Math.pow(10,-e.length+3));return _e(me(e.length,t),i)}set(t,e,i){return t.setMilliseconds(i),t}incompatibleTokens=["t","T"]}class UT extends Wt{priority=10;parse(t,e){switch(e){case"X":return Yn(Vn.basicOptionalMinutes,t);case"XX":return Yn(Vn.basic,t);case"XXXX":return Yn(Vn.basicOptionalSeconds,t);case"XXXXX":return Yn(Vn.extendedOptionalSeconds,t);default:return Yn(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:pe(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","x"]}class HT extends Wt{priority=10;parse(t,e){switch(e){case"x":return Yn(Vn.basicOptionalMinutes,t);case"xx":return Yn(Vn.basic,t);case"xxxx":return Yn(Vn.basicOptionalSeconds,t);case"xxxxx":return Yn(Vn.extendedOptionalSeconds,t);default:return Yn(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:pe(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","X"]}class WT extends Wt{priority=40;parse(t){return gp(t)}set(t,e,i){return[pe(t,i*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class $T extends Wt{priority=20;parse(t){return gp(t)}set(t,e,i){return[pe(t,i),{timestampIsSet:!0}]}incompatibleTokens="*"}const VT={G:new lT,y:new cT,Y:new uT,R:new dT,u:new fT,Q:new hT,q:new pT,M:new mT,L:new gT,w:new _T,I:new xT,d:new ST,D:new TT,E:new MT,e:new kT,c:new DT,i:new OT,a:new AT,b:new RT,B:new ET,h:new PT,H:new IT,K:new LT,k:new NT,m:new BT,s:new FT,S:new zT,X:new UT,x:new HT,t:new WT,T:new $T},YT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,qT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,jT=/^'([^]*?)'?$/,GT=/''/g,KT=/\S/,XT=/[a-zA-Z]/;function ZT(n,t,e,i){const r=()=>pe(i?.in||e,NaN),s=pp(),a=i?.locale??s.locale??rp,l=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,u=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0;if(!t)return n?r():Rt(e,i?.in);const d={firstWeekContainsDate:l,weekStartsOn:u,locale:a},f=[new aT(i?.in,e)],m=t.match(qT).map(v=>{const C=v[0];if(C in Ic){const A=Ic[C];return A(v,a.formatLong)}return v}).join("").match(YT),g=[];for(let v of m){!i?.useAdditionalWeekYearTokens&&hp(v)&&Lc(v,t,n),!i?.useAdditionalDayOfYearTokens&&fp(v)&&Lc(v,t,n);const C=v[0],A=VT[C];if(A){const{incompatibleTokens:z}=A;if(Array.isArray(z)){const L=g.find(B=>z.includes(B.token)||B.token===C);if(L)throw new RangeError(`The format string mustn't contain \`${L.fullToken}\` and \`${v}\` at the same time`)}else if(A.incompatibleTokens==="*"&&g.length>0)throw new RangeError(`The format string mustn't contain \`${v}\` and any other token at the same time`);g.push({token:C,fullToken:v});const I=A.run(n,v,a.match,d);if(!I)return r();f.push(I.setter),n=I.rest}else{if(C.match(XT))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(v==="''"?v="'":C==="'"&&(v=QT(v)),n.indexOf(v)===0)n=n.slice(v.length);else return r()}}if(n.length>0&&KT.test(n))return r();const _=f.map(v=>v.priority).sort((v,C)=>C-v).filter((v,C,A)=>A.indexOf(v)===C).map(v=>f.filter(C=>C.priority===v).sort((C,A)=>A.subPriority-C.subPriority)).map(v=>v[0]);let x=Rt(e,i?.in);if(isNaN(+x))return r();const w={};for(const v of _){if(!v.validate(x,d))return r();const C=v.set(x,w,d);Array.isArray(C)?(x=C[0],Object.assign(w,C[1])):x=C}return x}function QT(n){return n.match(jT)[1].replace(GT,"'")}function JT(n,t){const e=Rt(n,t?.in);return e.setMinutes(0,0,0),e}function tM(n,t){const e=Rt(n,t?.in);return e.setSeconds(0,0),e}function eM(n,t){const e=Rt(n,t?.in);return e.setMilliseconds(0),e}function bp(n){const t=n/zr;return Math.trunc(t)}function xp(n,t){const e=()=>pe(t?.in,NaN),i=t?.additionalDigits??2,r=sM(n);let s;if(r.date){const d=oM(r.date,i);s=aM(d.restDateString,d.year)}if(!s||isNaN(+s))return e();const a=+s;let l=0,u;if(r.time&&(l=lM(r.time),isNaN(l)))return e();if(r.timezone){if(u=cM(r.timezone),isNaN(u))return e()}else{const d=new Date(a+l),f=Rt(0,t?.in);return f.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),f.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),f}return Rt(a+l+u,t?.in)}const ha={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},nM=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,iM=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,rM=/^([+-])(\d{2})(?::?(\d{2}))?$/;function sM(n){const t={},e=n.split(ha.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],ha.timeZoneDelimiter.test(t.date)&&(t.date=n.split(ha.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=ha.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function oM(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,s=i[2]?parseInt(i[2]):null;return{year:s===null?r:s*100,restDateString:n.slice((i[1]||i[2]).length)}}function aM(n,t){if(t===null)return new Date(NaN);const e=n.match(nM);if(!e)return new Date(NaN);const i=!!e[4],r=Bs(e[1]),s=Bs(e[2])-1,a=Bs(e[3]),l=Bs(e[4]),u=Bs(e[5])-1;if(i)return pM(t,l,u)?uM(t,l,u):new Date(NaN);{const d=new Date(0);return!fM(t,s,a)||!hM(t,r)?new Date(NaN):(d.setUTCFullYear(t,s,Math.max(r,a)),d)}}function Bs(n){return n?parseInt(n):1}function lM(n){const t=n.match(iM);if(!t)return NaN;const e=Fc(t[1]),i=Fc(t[2]),r=Fc(t[3]);return mM(e,i,r)?e*zr+i*Es+r*1e3:NaN}function Fc(n){return n&&parseFloat(n.replace(",","."))||0}function cM(n){if(n==="Z")return 0;const t=n.match(rM);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return gM(i,r)?e*(i*zr+r*Es):NaN}function uM(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const dM=[31,null,31,30,31,30,31,31,30,31,30,31];function wp(n){return n%400===0||n%4===0&&n%100!==0}function fM(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(dM[t]||(wp(n)?29:28))}function hM(n,t){return t>=1&&t<=(wp(n)?366:365)}function pM(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function mM(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function gM(n,t){return t>=0&&t<=59}const vp={noDataAvailableTitle:"No data in the current time frame",noDataAvailableDescription:"Once there is traffic, it will display here",limitedResultsShown:"Grouped value limit exceeded, showing the top {maxReturned}",entityNoName:"no-name",debug:"debug",total:"Total",jumpToExplore:"Open in explorer",more_actions:"More actions",emptyEntityInfo:"Requests that do not have a value for the selected group",scatter:{median:"Median",percentile:"p{value}",outlier:"Outlier (> {label})"},chartUnits:{ms:"ms",bytes:"Byte{plural}",count:"request{plural}","count/minute":"rpm",requests:"request{plural}","token count":"token{plural}","tokens/minute":"tpm","%":"%","ops/minute":"ops/minute"},csvExport:{dataError:"Error loading data",noDataRange:"No data in selected range",noDataRetry:"Please adjust the time period and try again",timeRangeSelected:"selected",exportPreview:"Export preview",exportAsCsv:"Export as CSV",exportTimeRange:"Time range",exportDescription:"Exports a CSV of the data represented in the chart.",maximumRecordAmount:"The number of groups is limited to {value}",previewRows:"Previewing {rowsMax} of {rowsTotal} row{plural}",downloadButton:"Export",cancelButton:"Cancel",UtcOffset:"UTC offset",Timestamp:"Timestamp"},query_errors:{forbidden:{message:"Data request forbidden",details:"To access this data, either filter for an entity you have access to or request analytics viewer access from your administrator."},time_range_exceeded:{message:"Time range exceeded",details:"The time range for this report is outside of your organization's data retention period"},timeout:{message:"Data request timed out",details:"We're sorry, the request timed out. Please consider using a shorter time period or try again later."},canceled:{message:"Request canceled"},other:{message:"Bad request"}},legend:{datapointValueDisplay:"{value} {unit}"},chartLabels:{ai_count:"LLM request count",latencies_response_ms:"Response latency",latencies_upstream_ms:"Upstream latency",latencies_kong_gateway_ms:"Kong latency",latencies_kong_internal_ms:"Kong internal latency",request_body_size:"Request size",response_body_size:"Response size",response_header_content_length:"Content length",ai:{cost:"Cost",costCaching:"Caching cost",promptTokens:"Prompt tokens",completionTokens:"Completion tokens",totalTokens:"Total tokens",llmLatency:"LLM latency",fetchLatency:"Fetch latency",embeddingsLatency:"Embeddings latency"},mcp:{latency:"MCP latency",response_body_size:"MCP response size"},a2a:{latency:"A2A latency",response_body_size:"A2A response size"},ai_gateway:"AI gateway",ai_gateway_agent:"AI gateway agent",ai_gateway_consumer:"AI gateway consumer",ai_gateway_data_plane_node:"AI gateway data plane node",ai_gateway_mcp_server:"AI gateway MCP server",ai_gateway_model:"AI gateway model",ai_plugin:"AI plugin",ai_provider:"Provider",ai_request_model:"Request model",ai_response_model:"Response model",error_rate:"Error rate",request_count:"Request count",share_of_requests:"Share of requests",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",response_latency_average:"Response latency (avg)",response_latency_p99:"Response latency (p99)",response_latency_p95:"Response latency (p95)",response_latency_p50:"Response latency (p50)",kong_latency_average:"Kong latency (avg)",kong_latency_p99:"Kong latency (p99)",kong_latency_p95:"Kong latency (p95)",kong_latency_p50:"Kong latency (p50)",kong_internal_latency_average:"Kong internal latency (avg)",kong_internal_latency_p99:"Kong internal latency (p99)",kong_internal_latency_p95:"Kong internal latency (p95)",kong_internal_latency_p50:"Kong internal latency (p50)",llm_cache_status:"Cache status",llm_embeddings_model:"Embeddings model",llm_embeddings_provider:"Embeddings provider",upstream_latency_average:"Upstream latency (avg)",upstream_latency_p99:"Upstream latency (p99)",upstream_latency_p95:"Upstream latency (p95)",upstream_latency_p50:"Upstream latency (p50)",response_size_p99:"Response size (p99)",response_size_p95:"Response size (p95)",response_size_p50:"Response size (p50)",response_size_average:"Response size (avg)",response_size_sum:"Response size (sum)",response_source:"Response source",request_size_p99:"Request size (p99)",request_size_p95:"Request size (p95)",request_size_p50:"Request size (p50)",request_size_average:"Request size (avg)",request_size_sum:"Request size (sum)",control_plane:"Control plane",control_plane_group:"Control plane group",consumer:"Consumer",oidc_credential:"OIDC credential",country_code:"Country",country:"Country",data_plane_node:"Data plane node",data_plane_node_version:"Data plane node version",api_package:"API package",api_product:"API product",api_product_version:"API product version",portal:"Portal",realm:"Realm",runtime_group:"Runtime group",gateway_service:"Gateway service",route:"Route",application:"Application",status_code:"Status code",status_code_grouped:"Status code (grouped)",total_tokens_per_minute:"Total tokens per minute",upstream_status_code:"Upstream status code",upstream_status_code_grouped:"Upstream status code group",time:"Time",Service:"Service",ServiceVersion:"Service version",Route:"Route",Application:"Application",RuntimeGroup:"Runtime group",GatewayService:"Gateway service",StatusCode:"Status code",CodeClass:"Status code (grouped)",Time:"Time",API_PRODUCT:"Api product",API_PRODUCT_VERSION:"Api product version",RUNTIME_GROUP:"Runtime group",GATEWAY_SERVICE:"Gateway service",ROUTE:"Route",APPLICATION:"Application",STATUS_CODE:"Status code",STATUS_CODE_GROUPED:"Status code (grouped)",TIME:"Time",ORGANIZATION:"Organization",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99)",LatencyP95:"Response latency (p95)",LatencyP50:"Response latency (p50)",LatencyAverage:"Response latency (avg)",UpstreamLatencyP99:"Upstream latency (p99)",UpstreamLatencyP95:"Upstream latency (p95)",UpstreamLatencyP50:"Upstream latency (p50)",UpstreamLatencyAverage:"Upstream latency (avg)",KongLatencyP99:"Kong latency (p99)",KongLatencyP95:"Kong latency (p95)",KongLatencyP50:"Kong latency (p50)",KongLatencyAverage:"Kong latency (avg)",ResponseSizeP99:"Response size (p99)",ResponseSizeP95:"Response size (p95)",ResponseSizeP50:"Response size (p50)",RequestSizeP99:"Request size (p99)",RequestSizeP95:"Request size (p95)",RequestSizeP50:"Request size (p50)",SuccessfulRequests:"Successful requests",SUCCESS:"Successful requests",FailedRequests:"Failed requests",FAILURE:"Failed requests","5XX":"5xx","4XX":"4xx","3XX":"3xx","2XX":"2xx","1XX":"1xx",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency",RESPONSE_LATENCY_P95:"Response latency",RESPONSE_LATENCY_P50:"Response latency",RESPONSE_SIZE_P99:"Response size (p99)",RESPONSE_SIZE_P95:"Response size (p95)",RESPONSE_SIZE_P50:"Response size (p50)",REQUEST_SIZE_P99:"Request size (p99)",REQUEST_SIZE_P95:"Request size (p95)",REQUEST_SIZE_P50:"Request size (p50)",CONTROL_PLANE:"Control plane",____OTHER____:"Others",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",share_of_cost:"Share of cost",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)","threshold-warning":"Warning threshold: {value}","threshold-error":"Error threshold: {value}","thatreshold-neutral":"Alert threshold: {value}",api:"API",vulnerability_count:"Vulnerability count",a2a_latency_average:"A2A latency (avg)",a2a_response_size_sum:"A2A response size (sum)",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_error:"MCP error",mcp_method:"MCP method",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum)",mcp_session_id:"MCP session ID",mcp_tool_name:"MCP tool name",mcp_response_body_size_sum:"MCP response size (sum)",control_plane_count:"Control plane count",service_count:"Gateway service count","record_bytes:sum":"Record size (sum)","record_count:sum":"Record count (sum)","request_count:sum":"Request count (sum)",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",principal:"Principal",virtual_cluster_id:"Virtual cluster",backend_cluster_id:"Backend cluster",listener_id:"Listener",principal_name:"Principal name",principal_type:"Principal type",request_type:"Request type",topic_name:"Topic name",partition_index:"Partition index",api_key:"API key",data_plane_group:"Data plane group",managed_cache:"Managed cache",network:"Network",provider:"Provider",provider_region:"Provider region",region:"Region",cache_eviction_rate:"Cache eviction rate",cache_expiration_rate:"Cache expiration rate",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max)",cache_status:"Cache status",cache_hit_rate:"Cache hit rate",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)"},metricAxisTitles:{cache_hit_rate:"Cache hit rate {unit}",error_rate:"Error rate in {unit}",request_count:"Request count",share_of_requests:"Share of requests",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",latency_in:"Latency in {unit}",size_in:"Size in {unit}",response_latency_average:"Response latency (avg) in {unit}",response_latency_p99:"Response latency (p99) in {unit}",response_latency_p95:"Response latency (p95) in {unit}",response_latency_p50:"Response latency (p50) in {unit}",upstream_latency_p99:"Upstream latency (p99) in {unit}",upstream_latency_p95:"Upstream latency (p95) in {unit}",upstream_latency_p50:"Upstream latency (p50) in {unit}",kong_latency_p99:"Kong latency (p99) in {unit}",kong_latency_p95:"Kong latency (p95) in {unit}",kong_latency_p50:"Kong latency (p50) in {unit}",kong_internal_latency_average:"Kong internal latency (avg) in {unit}",kong_internal_latency_p99:"Kong internal latency (p99) in {unit}",kong_internal_latency_p95:"Kong internal latency (p95) in {unit}",kong_internal_latency_p50:"Kong internal latency (p50) in {unit}",response_size_p99:"Response size (p99) in {unit}",response_size_p95:"Response size (p95) in {unit}",response_size_p50:"Response size (p50) in {unit}",request_size_p99:"Request size (p99) in {unit}",request_size_p95:"Request size (p95) in {unit}",request_size_p50:"Request size (p50) in {unit}",request_size_sum:"Request size (sum) in {unit}",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency (p99) in {unit}",RESPONSE_LATENCY_P95:"Response latency (p95) in {unit}",RESPONSE_LATENCY_P50:"Response latency (p50) in {unit}",RESPONSE_SIZE_P99:"Response size (p99) in {unit}",RESPONSE_SIZE_P95:"Response size (p95) in {unit}",RESPONSE_SIZE_P50:"Response size (p50) in {unit}",REQUEST_SIZE_P99:"Request size (p99) in {unit}",REQUEST_SIZE_P95:"Request size (p95) in {unit}",REQUEST_SIZE_P50:"Request size (p50) in {unit}",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99) in {unit}",LatencyP95:"Response latency (p95) in {unit}",LatencyP50:"Response latency (p50) in {unit}",LatencyAverage:"Response latency (avg) in {unit}",UpstreamLatencyP99:"Upstream latency (p99) in {unit}",UpstreamLatencyP95:"Upstream latency (p95) in {unit}",UpstreamLatencyP50:"Upstream latency (p50) in {unit}",UpstreamLatencyAverage:"Upstream latency (avg) in {unit}",KongLatencyP99:"Kong latency (p99) in {unit}",KongLatencyP95:"Kong latency (p95) in {unit}",KongLatencyP50:"Kong latency (p50) in {unit}",KongLatencyAverage:"Kong latency (avg) in {unit}",ResponseSizeP99:"Response size (p99) in {unit}",ResponseSizeP95:"Response size (p95) in {unit}",ResponseSizeP50:"Response size (p50) in {unit}",RequestSizeP99:"Request size (p99) in {unit}",RequestSizeP95:"Request size (p95) in {unit}",RequestSizeP50:"Request size (p50) in {unit}",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",share_of_cost:"Share of cost",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)",api:"API",a2a_latency_average:"A2A latency (avg) in {unit}",a2a_response_size_sum:"A2A response size (sum) in {unit}",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum) in {unit}",mcp_response_body_size_sum:"MCP response body size (sum) in {unit}",control_plane_count:"Control plane count",service_count:"Gateway service count",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",cache_eviction_rate:"Cache eviction rate in {unit}",cache_expiration_rate:"Cache expiration rate in {unit}",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max) in {unit}",cached_tokens:"Cached tokens",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)",total_tokens_per_minute:"Total tokens per minute"},granularityAxisTitles:{tenSecondly:"@timestamp per 10 seconds",thirtySecondly:"@timestamp per 30 seconds",minutely:"@timestamp per minute",fiveMinutely:"@timestamp per 5 minutes",tenMinutely:"@timestamp per 10 minutes",thirtyMinutely:"@timestamp per 30 minutes",hourly:"@timestamp per hour",twoHourly:"@timestamp per 2 hours",twelveHourly:"@timestamp per 12 hours",daily:"@timestamp per day",weekly:"@timestamp per week"},timestampAxisTitles:{platform:"@timestamp created at"},topNTable:{nameLabel:"Name",defaultEmptyStateTitle:"No data to display",defaultErrorStateTitle:"Something went wrong",errors:{meta:"Error: response must contain 'meta'",display:"Error: 'display' response incorrectly formatted (must have at least one key)",metricNames:"Error: 'metricNames' response incorrectly formatted (must have at least one entry)"}},singleValue:{valueError:"Invalid configuration",trend:{not_available:"Not available"}},new_timerange_label:"Time range",sparkline_no_data:"No data",zoom_action_items:{zoom:"Zoom in",view_requests:"View requests",cancel:"Cancel",explore:"Explore"},zoom_time_range:{from:"From",to:"To"}};function yM(){const n=Zf.createI18n("en-us",vp);return{i18n:n,i18nT:Zf.i18nTComponent(n)}}function Fs(n){return n+.5|0}const Mi=(n,t,e)=>Math.max(Math.min(n,e),t);function zs(n){return Mi(Fs(n*2.55),0,255)}function ki(n){return Mi(Fs(n*255),0,255)}function ii(n){return Mi(Fs(n/2.55)/100,0,1)}function Sp(n){return Mi(Fs(n*100),0,100)}const kn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},zc=[..."0123456789ABCDEF"],_M=n=>zc[n&15],bM=n=>zc[(n&240)>>4]+zc[n&15],pa=n=>(n&240)>>4===(n&15),xM=n=>pa(n.r)&&pa(n.g)&&pa(n.b)&&pa(n.a);function wM(n){var t=n.length,e;return n[0]==="#"&&(t===4||t===5?e={r:255&kn[n[1]]*17,g:255&kn[n[2]]*17,b:255&kn[n[3]]*17,a:t===5?kn[n[4]]*17:255}:(t===7||t===9)&&(e={r:kn[n[1]]<<4|kn[n[2]],g:kn[n[3]]<<4|kn[n[4]],b:kn[n[5]]<<4|kn[n[6]],a:t===9?kn[n[7]]<<4|kn[n[8]]:255})),e}const vM=(n,t)=>n<255?t(n):"";function SM(n){var t=xM(n)?_M:bM;return n?"#"+t(n.r)+t(n.g)+t(n.b)+vM(n.a,t):void 0}const TM=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Tp(n,t,e){const i=t*Math.min(e,1-e),r=(s,a=(s+n/30)%12)=>e-i*Math.max(Math.min(a-3,9-a,1),-1);return[r(0),r(8),r(4)]}function MM(n,t,e){const i=(r,s=(r+n/60)%6)=>e-e*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function kM(n,t,e){const i=Tp(n,1,.5);let r;for(t+e>1&&(r=1/(t+e),t*=r,e*=r),r=0;r<3;r++)i[r]*=1-t-e,i[r]+=t;return i}function DM(n,t,e,i,r){return n===r?(t-e)/i+(t<e?6:0):t===r?(e-n)/i+2:(n-t)/i+4}function Uc(n){const e=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(e,i,r),a=Math.min(e,i,r),l=(s+a)/2;let u,d,f;return s!==a&&(f=s-a,d=l>.5?f/(2-s-a):f/(s+a),u=DM(e,i,r,f,s),u=u*60+.5),[u|0,d||0,l]}function Hc(n,t,e,i){return(Array.isArray(t)?n(t[0],t[1],t[2]):n(t,e,i)).map(ki)}function Wc(n,t,e){return Hc(Tp,n,t,e)}function CM(n,t,e){return Hc(kM,n,t,e)}function OM(n,t,e){return Hc(MM,n,t,e)}function Mp(n){return(n%360+360)%360}function AM(n){const t=TM.exec(n);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?zs(+t[5]):ki(+t[5]));const r=Mp(+t[2]),s=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?i=CM(r,s,a):t[1]==="hsv"?i=OM(r,s,a):i=Wc(r,s,a),{r:i[0],g:i[1],b:i[2],a:e}}function RM(n,t){var e=Uc(n);e[0]=Mp(e[0]+t),e=Wc(e),n.r=e[0],n.g=e[1],n.b=e[2]}function EM(n){if(!n)return;const t=Uc(n),e=t[0],i=Sp(t[1]),r=Sp(t[2]);return n.a<255?`hsla(${e}, ${i}%, ${r}%, ${ii(n.a)})`:`hsl(${e}, ${i}%, ${r}%)`}const kp={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Dp={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function PM(){const n={},t=Object.keys(Dp),e=Object.keys(kp);let i,r,s,a,l;for(i=0;i<t.length;i++){for(a=l=t[i],r=0;r<e.length;r++)s=e[r],l=l.replace(s,kp[s]);s=parseInt(Dp[a],16),n[l]=[s>>16&255,s>>8&255,s&255]}return n}let ma;function IM(n){ma||(ma=PM(),ma.transparent=[0,0,0,0]);const t=ma[n.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const LM=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function NM(n){const t=LM.exec(n);let e=255,i,r,s;if(t){if(t[7]!==i){const a=+t[7];e=t[8]?zs(a):Mi(a*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zs(i):Mi(i,0,255)),r=255&(t[4]?zs(r):Mi(r,0,255)),s=255&(t[6]?zs(s):Mi(s,0,255)),{r:i,g:r,b:s,a:e}}}function BM(n){return n&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ii(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`)}const $c=n=>n<=.0031308?n*12.92:Math.pow(n,1/2.4)*1.055-.055,Wr=n=>n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4);function FM(n,t,e){const i=Wr(ii(n.r)),r=Wr(ii(n.g)),s=Wr(ii(n.b));return{r:ki($c(i+e*(Wr(ii(t.r))-i))),g:ki($c(r+e*(Wr(ii(t.g))-r))),b:ki($c(s+e*(Wr(ii(t.b))-s))),a:n.a+e*(t.a-n.a)}}function ga(n,t,e){if(n){let i=Uc(n);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Wc(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function Cp(n,t){return n&&Object.assign(t||{},n)}function Op(n){var t={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(t={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(t.a=ki(n[3]))):(t=Cp(n,{r:0,g:0,b:0,a:1}),t.a=ki(t.a)),t}function zM(n){return n.charAt(0)==="r"?NM(n):AM(n)}class Us{constructor(t){if(t instanceof Us)return t;const e=typeof t;let i;e==="object"?i=Op(t):e==="string"&&(i=wM(t)||IM(t)||zM(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Cp(this._rgb);return t&&(t.a=ii(t.a)),t}set rgb(t){this._rgb=Op(t)}rgbString(){return this._valid?BM(this._rgb):void 0}hexString(){return this._valid?SM(this._rgb):void 0}hslString(){return this._valid?EM(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,r=t.rgb;let s;const a=e===s?.5:e,l=2*a-1,u=i.a-r.a,d=((l*u===-1?l:(l+u)/(1+l*u))+1)/2;s=1-d,i.r=255&d*i.r+s*r.r+.5,i.g=255&d*i.g+s*r.g+.5,i.b=255&d*i.b+s*r.b+.5,i.a=a*i.a+(1-a)*r.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=FM(this._rgb,t._rgb,e)),this}clone(){return new Us(this.rgb)}alpha(t){return this._rgb.a=ki(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Fs(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ga(this._rgb,2,t),this}darken(t){return ga(this._rgb,2,-t),this}saturate(t){return ga(this._rgb,1,t),this}desaturate(t){return ga(this._rgb,1,-t),this}rotate(t){return RM(this._rgb,t),this}}function ri(){}const UM=(()=>{let n=0;return()=>n++})();function vt(n){return n==null}function qt(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function It(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function ae(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function mn(n,t){return ae(n)?n:t}function Ct(n,t){return typeof n>"u"?t:n}const HM=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,Ap=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function Qt(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function Jt(n,t,e,i){let r,s,a;if(qt(n))for(s=n.length,r=0;r<s;r++)t.call(e,n[r],r);else if(It(n))for(a=Object.keys(n),s=a.length,r=0;r<s;r++)t.call(e,n[a[r]],a[r])}function ya(n,t){let e,i,r,s;if(!n||!t||n.length!==t.length)return!1;for(e=0,i=n.length;e<i;++e)if(r=n[e],s=t[e],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function _a(n){if(qt(n))return n.map(_a);if(It(n)){const t=Object.create(null),e=Object.keys(n),i=e.length;let r=0;for(;r<i;++r)t[e[r]]=_a(n[e[r]]);return t}return n}function Rp(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function WM(n,t,e,i){if(!Rp(n))return;const r=t[n],s=e[n];It(r)&&It(s)?Hs(r,s,i):t[n]=_a(s)}function Hs(n,t,e){const i=qt(t)?t:[t],r=i.length;if(!It(n))return n;e=e||{};const s=e.merger||WM;let a;for(let l=0;l<r;++l){if(a=i[l],!It(a))continue;const u=Object.keys(a);for(let d=0,f=u.length;d<f;++d)s(u[d],n,a,e)}return n}function Ws(n,t){return Hs(n,t,{merger:$M})}function $M(n,t,e){if(!Rp(n))return;const i=t[n],r=e[n];It(i)&&It(r)?Ws(i,r):Object.prototype.hasOwnProperty.call(t,n)||(t[n]=_a(r))}const Ep={"":n=>n,x:n=>n.x,y:n=>n.y};function VM(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function YM(n){const t=VM(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function Di(n,t){return(Ep[t]||(Ep[t]=YM(t)))(n)}function Vc(n){return n.charAt(0).toUpperCase()+n.slice(1)}const rn=n=>typeof n<"u",sn=n=>typeof n=="function",Pp=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function qM(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Et=Math.PI,te=2*Et,jM=te+Et,ba=Number.POSITIVE_INFINITY,Yc=Et/180,re=Et/2,Dn=Et/4,xa=Et*2/3,Ci=Math.log10,qn=Math.sign;function $s(n,t,e){return Math.abs(n-t)<e}function Ip(n){const t=Math.round(n);n=$s(n,t,n/1e3)?t:n;const e=Math.pow(10,Math.floor(Ci(n))),i=n/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function GM(n){const t=[],e=Math.sqrt(n);let i;for(i=1;i<e;i++)n%i===0&&(t.push(i),t.push(n/i));return e===(e|0)&&t.push(e),t.sort((r,s)=>r-s).pop(),t}function KM(n){return typeof n=="symbol"||typeof n=="object"&&n!==null&&!(Symbol.toPrimitive in n||"toString"in n||"valueOf"in n)}function Oi(n){return!KM(n)&&!isNaN(parseFloat(n))&&isFinite(n)}function XM(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function Lp(n,t,e){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][e],isNaN(s)||(t.min=Math.min(t.min,s),t.max=Math.max(t.max,s))}function we(n){return n*(Et/180)}function wa(n){return n*(180/Et)}function Np(n){if(!ae(n))return;let t=1,e=0;for(;Math.round(n*t)/t!==n;)t*=10,e++;return e}function va(n,t){const e=t.x-n.x,i=t.y-n.y,r=Math.sqrt(e*e+i*i);let s=Math.atan2(i,e);return s<-.5*Et&&(s+=te),{angle:s,distance:r}}function $r(n,t){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))}function ZM(n,t){return(n-t+jM)%te-Et}function He(n){return(n%te+te)%te}function Vs(n,t,e,i){const r=He(n),s=He(t),a=He(e),l=He(s-r),u=He(a-r),d=He(r-s),f=He(r-a);return r===s||r===a||i&&s===a||l>u&&d<f}function Oe(n,t,e){return Math.max(t,Math.min(e,n))}function QM(n){return Oe(n,-32768,32767)}function si(n,t,e,i=1e-6){return n>=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function qc(n,t,e){e=e||(a=>n[a]<t);let i=n.length-1,r=0,s;for(;i-r>1;)s=r+i>>1,e(s)?r=s:i=s;return{lo:r,hi:i}}const oi=(n,t,e,i)=>qc(n,e,i?r=>{const s=n[r][t];return s<e||s===e&&n[r+1][t]===e}:r=>n[r][t]<e),JM=(n,t,e)=>qc(n,e,i=>n[i][t]>=e);function tk(n,t,e){let i=0,r=n.length;for(;i<r&&n[i]<t;)i++;for(;r>i&&n[r-1]>e;)r--;return i>0||r<n.length?n.slice(i,r):n}const Bp=["push","pop","shift","splice","unshift"];function ek(n,t){if(n._chartjs){n._chartjs.listeners.push(t);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Bp.forEach(e=>{const i="_onData"+Vc(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...s){const a=r.apply(this,s);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),a}})})}function Fp(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(Bp.forEach(s=>{delete n[s]}),delete n._chartjs)}function zp(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const Up=(function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame})();function Hp(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,Up.call(window,()=>{i=!1,n.apply(t,e)}))}}function nk(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const jc=n=>n==="start"?"left":n==="end"?"right":"center",We=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,ik=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function Wp(n,t,e){const i=t.length;let r=0,s=i;if(n._sorted){const{iScale:a,vScale:l,_parsed:u}=n,d=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null,f=a.axis,{min:m,max:g,minDefined:_,maxDefined:x}=a.getUserBounds();if(_){if(r=Math.min(oi(u,f,m).lo,e?i:oi(t,f,a.getPixelForValue(m)).lo),d){const w=u.slice(0,r+1).reverse().findIndex(v=>!vt(v[l.axis]));r-=Math.max(0,w)}r=Oe(r,0,i-1)}if(x){let w=Math.max(oi(u,a.axis,g,!0).hi+1,e?0:oi(t,f,a.getPixelForValue(g),!0).hi+1);if(d){const v=u.slice(w-1).findIndex(C=>!vt(C[l.axis]));w+=Math.max(0,v)}s=Oe(w,r,i)-r}else s=i-r}return{start:r,count:s}}function $p(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),s}const Sa=n=>n===0||n===1,Vp=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*te/e)),Yp=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*te/e)+1,Ys={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*re)+1,easeOutSine:n=>Math.sin(n*re),easeInOutSine:n=>-.5*(Math.cos(Et*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>Sa(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Sa(n)?n:Vp(n,.075,.3),easeOutElastic:n=>Sa(n)?n:Yp(n,.075,.3),easeInOutElastic(n){return Sa(n)?n:n<.5?.5*Vp(n*2,.1125,.45):.5+.5*Yp(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-Ys.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?Ys.easeInBounce(n*2)*.5:Ys.easeOutBounce(n*2-1)*.5+.5};function Gc(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ta(n){return Gc(n)?n:new Us(n)}function Kc(n){return Gc(n)?n:new Us(n).saturate(.5).darken(.1).hexString()}const rk=["x","y","borderWidth","radius","tension"],sk=["color","borderColor","backgroundColor"];function ok(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:sk},numbers:{type:"number",properties:rk}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ak(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const qp=new Map;function lk(n,t){t=t||{};const e=n+JSON.stringify(t);let i=qp.get(e);return i||(i=new Intl.NumberFormat(n,t),qp.set(e,i)),i}function qs(n,t,e){return lk(t,e).format(n)}const jp={values(n){return qt(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,s=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),s=ck(n,e)}const a=Ci(Math.abs(s)),l=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),qs(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(Ci(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?jp.numeric.call(this,n,t,e):""}};function ck(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ma={formatters:jp};function uk(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ma.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ar=Object.create(null),Xc=Object.create(null);function js(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;i<r;++i){const s=e[i];n=n[s]||(n[s]=Object.create(null))}return n}function Zc(n,t,e){return typeof t=="string"?Hs(js(n,t),e):Hs(js(n,""),t)}class dk{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Kc(r.backgroundColor),this.hoverBorderColor=(i,r)=>Kc(r.borderColor),this.hoverColor=(i,r)=>Kc(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Zc(this,t,e)}get(t){return js(this,t)}describe(t,e){return Zc(Xc,t,e)}override(t,e){return Zc(ar,t,e)}route(t,e,i,r){const s=js(this,t),a=js(this,i),l="_"+e;Object.defineProperties(s,{[l]:{value:s[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=a[r];return It(u)?Object.assign({},d,u):Ct(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var se=new dk({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ok,ak,uk]);function fk(n){return!n||vt(n.size)||vt(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function ka(n,t,e,i,r){let s=t[r];return s||(s=t[r]=n.measureText(r).width,e.push(r)),s>i&&(i=s),i}function hk(n,t,e,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let a=0;const l=e.length;let u,d,f,m,g;for(u=0;u<l;u++)if(m=e[u],m!=null&&!qt(m))a=ka(n,r,s,a,m);else if(qt(m))for(d=0,f=m.length;d<f;d++)g=m[d],g!=null&&!qt(g)&&(a=ka(n,r,s,a,g));n.restore();const _=s.length/2;if(_>e.length){for(u=0;u<_;u++)delete r[s[u]];s.splice(0,_)}return a}function lr(n,t,e){const i=n.currentDevicePixelRatio,r=e!==0?Math.max(e/2,.5):0;return Math.round((t-r)*i)/i+r}function Gp(n,t){!t&&!n||(t=t||n.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,n.width,n.height),t.restore())}function Qc(n,t,e,i){Kp(n,t,e,i,null)}function Kp(n,t,e,i,r){let s,a,l,u,d,f,m,g;const _=t.pointStyle,x=t.rotation,w=t.radius;let v=(x||0)*Yc;if(_&&typeof _=="object"&&(s=_.toString(),s==="[object HTMLImageElement]"||s==="[object HTMLCanvasElement]")){n.save(),n.translate(e,i),n.rotate(v),n.drawImage(_,-_.width/2,-_.height/2,_.width,_.height),n.restore();return}if(!(isNaN(w)||w<=0)){switch(n.beginPath(),_){default:r?n.ellipse(e,i,r/2,w,0,0,te):n.arc(e,i,w,0,te),n.closePath();break;case"triangle":f=r?r/2:w,n.moveTo(e+Math.sin(v)*f,i-Math.cos(v)*w),v+=xa,n.lineTo(e+Math.sin(v)*f,i-Math.cos(v)*w),v+=xa,n.lineTo(e+Math.sin(v)*f,i-Math.cos(v)*w),n.closePath();break;case"rectRounded":d=w*.516,u=w-d,a=Math.cos(v+Dn)*u,m=Math.cos(v+Dn)*(r?r/2-d:u),l=Math.sin(v+Dn)*u,g=Math.sin(v+Dn)*(r?r/2-d:u),n.arc(e-m,i-l,d,v-Et,v-re),n.arc(e+g,i-a,d,v-re,v),n.arc(e+m,i+l,d,v,v+re),n.arc(e-g,i+a,d,v+re,v+Et),n.closePath();break;case"rect":if(!x){u=Math.SQRT1_2*w,f=r?r/2:u,n.rect(e-f,i-u,2*f,2*u);break}v+=Dn;case"rectRot":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+g,i-a),n.lineTo(e+m,i+l),n.lineTo(e-g,i+a),n.closePath();break;case"crossRot":v+=Dn;case"cross":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a);break;case"star":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a),v+=Dn,m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a);break;case"line":a=r?r/2:Math.cos(v)*w,l=Math.sin(v)*w,n.moveTo(e-a,i-l),n.lineTo(e+a,i+l);break;case"dash":n.moveTo(e,i),n.lineTo(e+Math.cos(v)*(r?r/2:w),i+Math.sin(v)*w);break;case!1:n.closePath();break}n.fill(),t.borderWidth>0&&n.stroke()}}function ai(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.x<t.right+e&&n.y>t.top-e&&n.y<t.bottom+e}function Gs(n,t){n.save(),n.beginPath(),n.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),n.clip()}function Ks(n){n.restore()}function pk(n,t,e,i,r){if(!t)return n.lineTo(e.x,e.y);if(r==="middle"){const s=(t.x+e.x)/2;n.lineTo(s,t.y),n.lineTo(s,e.y)}else r==="after"!=!!i?n.lineTo(t.x,e.y):n.lineTo(e.x,t.y);n.lineTo(e.x,e.y)}function mk(n,t,e,i){if(!t)return n.lineTo(e.x,e.y);n.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?e.cp2x:e.cp1x,i?e.cp2y:e.cp1y,e.x,e.y)}function gk(n,t){t.translation&&n.translate(t.translation[0],t.translation[1]),vt(t.rotation)||n.rotate(t.rotation),t.color&&(n.fillStyle=t.color),t.textAlign&&(n.textAlign=t.textAlign),t.textBaseline&&(n.textBaseline=t.textBaseline)}function yk(n,t,e,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),a=t-s.actualBoundingBoxLeft,l=t+s.actualBoundingBoxRight,u=e-s.actualBoundingBoxAscent,d=e+s.actualBoundingBoxDescent,f=r.strikethrough?(u+d)/2:d;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(a,f),n.lineTo(l,f),n.stroke()}}function _k(n,t){const e=n.fillStyle;n.fillStyle=t.color,n.fillRect(t.left,t.top,t.width,t.height),n.fillStyle=e}function cr(n,t,e,i,r,s={}){const a=qt(t)?t:[t],l=s.strokeWidth>0&&s.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,gk(n,s),u=0;u<a.length;++u)d=a[u],s.backdrop&&_k(n,s.backdrop),l&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),vt(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(d,e,i,s.maxWidth)),n.fillText(d,e,i,s.maxWidth),yk(n,e,i,d,s),i+=Number(r.lineHeight);n.restore()}function Vr(n,t){const{x:e,y:i,w:r,h:s,radius:a}=t;n.arc(e+a.topLeft,i+a.topLeft,a.topLeft,1.5*Et,Et,!0),n.lineTo(e,i+s-a.bottomLeft),n.arc(e+a.bottomLeft,i+s-a.bottomLeft,a.bottomLeft,Et,re,!0),n.lineTo(e+r-a.bottomRight,i+s),n.arc(e+r-a.bottomRight,i+s-a.bottomRight,a.bottomRight,re,0,!0),n.lineTo(e+r,i+a.topRight),n.arc(e+r-a.topRight,i+a.topRight,a.topRight,0,-re,!0),n.lineTo(e+a.topLeft,i)}const bk=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,xk=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function wk(n,t){const e=(""+n).match(bk);if(!e||e[1]==="normal")return t*1.2;switch(n=+e[2],e[3]){case"px":return n;case"%":n/=100;break}return t*n}const vk=n=>+n||0;function Jc(n,t){const e={},i=It(t),r=i?Object.keys(t):t,s=It(n)?i?a=>Ct(n[a],n[t[a]]):a=>n[a]:()=>n;for(const a of r)e[a]=vk(s(a));return e}function Xp(n){return Jc(n,{top:"y",right:"x",bottom:"y",left:"x"})}function Ai(n){return Jc(n,["topLeft","topRight","bottomLeft","bottomRight"])}function ve(n){const t=Xp(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function le(n,t){n=n||{},t=t||se.font;let e=Ct(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=Ct(n.style,t.style);i&&!(""+i).match(xk)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:Ct(n.family,t.family),lineHeight:wk(Ct(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:Ct(n.weight,t.weight),string:""};return r.string=fk(r),r}function Xs(n,t,e,i){let r,s,a;for(r=0,s=n.length;r<s;++r)if(a=n[r],a!==void 0&&a!==void 0)return a}function Sk(n,t,e){const{min:i,max:r}=n,s=Ap(t,(r-i)/2),a=(l,u)=>e&&l===0?0:l+u;return{min:a(i,-Math.abs(s)),max:a(r,s)}}function Ri(n,t){return Object.assign(Object.create(n),t)}function tu(n,t=[""],e,i,r=()=>n[0]){const s=e||n;typeof i>"u"&&(i=em("_fallback",n));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>tu([l,...n],t,s,i)};return new Proxy(a,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return Qp(l,u,()=>Rk(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return nm(l).includes(u)},ownKeys(l){return nm(l)},set(l,u,d){const f=l._storage||(l._storage=r());return l[u]=f[u]=d,delete l._keys,!0}})}function Yr(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:Zp(n,i),setContext:s=>Yr(n,s,e,i),override:s=>Yr(n.override(s),t,e,i)};return new Proxy(r,{deleteProperty(s,a){return delete s[a],delete n[a],!0},get(s,a,l){return Qp(s,a,()=>Mk(s,a,l))},getOwnPropertyDescriptor(s,a){return s._descriptors.allKeys?Reflect.has(n,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,a)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(s,a){return Reflect.has(n,a)},ownKeys(){return Reflect.ownKeys(n)},set(s,a,l){return n[a]=l,delete s[a],!0}})}function Zp(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:sn(e)?e:()=>e,isIndexable:sn(i)?i:()=>i}}const Tk=(n,t)=>n?n+Vc(t):t,eu=(n,t)=>It(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Qp(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t)||t==="constructor")return n[t];const i=e();return n[t]=i,i}function Mk(n,t,e){const{_proxy:i,_context:r,_subProxy:s,_descriptors:a}=n;let l=i[t];return sn(l)&&a.isScriptable(t)&&(l=kk(t,l,n,e)),qt(l)&&l.length&&(l=Dk(t,l,n,a.isIndexable)),eu(t,l)&&(l=Yr(l,r,s&&s[t],a)),l}function kk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(s,a||i);return l.delete(n),eu(n,u)&&(u=nu(r._scopes,r,n,u)),u}function Dk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_descriptors:l}=e;if(typeof s.index<"u"&&i(n))return t[s.index%t.length];if(It(t[0])){const u=t,d=r._scopes.filter(f=>f!==u);t=[];for(const f of u){const m=nu(d,r,n,f);t.push(Yr(m,s,a&&a[n],l))}}return t}function Jp(n,t,e){return sn(n)?n(t,e):n}const Ck=(n,t)=>n===!0?t:typeof n=="string"?Di(t,n):void 0;function Ok(n,t,e,i,r){for(const s of t){const a=Ck(e,s);if(a){n.add(a);const l=Jp(a._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(a===!1&&typeof i<"u"&&e!==i)return null}return!1}function nu(n,t,e,i){const r=t._rootScopes,s=Jp(t._fallback,e,i),a=[...n,...r],l=new Set;l.add(i);let u=tm(l,a,e,s||e,i);return u===null||typeof s<"u"&&s!==e&&(u=tm(l,a,s,u,i),u===null)?!1:tu(Array.from(l),[""],r,s,()=>Ak(t,e,i))}function tm(n,t,e,i,r){for(;e;)e=Ok(n,t,e,i,r);return e}function Ak(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return qt(r)&&It(e)?e:r||{}}function Rk(n,t,e,i){let r;for(const s of t)if(r=em(Tk(s,n),e),typeof r<"u")return eu(n,r)?nu(e,i,n,r):r}function em(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function nm(n){let t=n._keys;return t||(t=n._keys=Ek(n._scopes)),t}function Ek(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function im(n,t,e,i){const{iScale:r}=n,{key:s="r"}=this._parsing,a=new Array(i);let l,u,d,f;for(l=0,u=i;l<u;++l)d=l+e,f=t[d],a[l]={r:r.parse(Di(f,s),d)};return a}const Pk=Number.EPSILON||1e-14,qr=(n,t)=>t<n.length&&!n[t].skip&&n[t],rm=n=>n==="x"?"y":"x";function Ik(n,t,e,i){const r=n.skip?t:n,s=t,a=e.skip?t:e,l=$r(s,r),u=$r(a,s);let d=l/(l+u),f=u/(l+u);d=isNaN(d)?0:d,f=isNaN(f)?0:f;const m=i*d,g=i*f;return{previous:{x:s.x-m*(a.x-r.x),y:s.y-m*(a.y-r.y)},next:{x:s.x+g*(a.x-r.x),y:s.y+g*(a.y-r.y)}}}function Lk(n,t,e){const i=n.length;let r,s,a,l,u,d=qr(n,0);for(let f=0;f<i-1;++f)if(u=d,d=qr(n,f+1),!(!u||!d)){if($s(t[f],0,Pk)){e[f]=e[f+1]=0;continue}r=e[f]/t[f],s=e[f+1]/t[f],l=Math.pow(r,2)+Math.pow(s,2),!(l<=9)&&(a=3/Math.sqrt(l),e[f]=r*a*t[f],e[f+1]=s*a*t[f])}}function Nk(n,t,e="x"){const i=rm(e),r=n.length;let s,a,l,u=qr(n,0);for(let d=0;d<r;++d){if(a=l,l=u,u=qr(n,d+1),!l)continue;const f=l[e],m=l[i];a&&(s=(f-a[e])/3,l[`cp1${e}`]=f-s,l[`cp1${i}`]=m-s*t[d]),u&&(s=(u[e]-f)/3,l[`cp2${e}`]=f+s,l[`cp2${i}`]=m+s*t[d])}}function Bk(n,t="x"){const e=rm(t),i=n.length,r=Array(i).fill(0),s=Array(i);let a,l,u,d=qr(n,0);for(a=0;a<i;++a)if(l=u,u=d,d=qr(n,a+1),!!u){if(d){const f=d[t]-u[t];r[a]=f!==0?(d[e]-u[e])/f:0}s[a]=l?d?qn(r[a-1])!==qn(r[a])?0:(r[a-1]+r[a])/2:r[a-1]:r[a]}Lk(n,r,s),Nk(n,s,t)}function Da(n,t,e){return Math.max(Math.min(n,e),t)}function Fk(n,t){let e,i,r,s,a,l=ai(n[0],t);for(e=0,i=n.length;e<i;++e)a=s,s=l,l=e<i-1&&ai(n[e+1],t),s&&(r=n[e],a&&(r.cp1x=Da(r.cp1x,t.left,t.right),r.cp1y=Da(r.cp1y,t.top,t.bottom)),l&&(r.cp2x=Da(r.cp2x,t.left,t.right),r.cp2y=Da(r.cp2y,t.top,t.bottom)))}function zk(n,t,e,i,r){let s,a,l,u;if(t.spanGaps&&(n=n.filter(d=>!d.skip)),t.cubicInterpolationMode==="monotone")Bk(n,r);else{let d=i?n[n.length-1]:n[0];for(s=0,a=n.length;s<a;++s)l=n[s],u=Ik(d,l,n[Math.min(s+1,a-(i?0:1))%a],t.tension),l.cp1x=u.previous.x,l.cp1y=u.previous.y,l.cp2x=u.next.x,l.cp2y=u.next.y,d=l}t.capBezierPoints&&Fk(n,e)}function iu(){return typeof window<"u"&&typeof document<"u"}function ru(n){let t=n.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Ca(n,t,e){let i;return typeof n=="string"?(i=parseInt(n,10),n.indexOf("%")!==-1&&(i=i/100*t.parentNode[e])):i=n,i}const Oa=n=>n.ownerDocument.defaultView.getComputedStyle(n,null);function Uk(n,t){return Oa(n).getPropertyValue(t)}const Hk=["top","right","bottom","left"];function ur(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const s=Hk[r];i[s]=parseFloat(n[t+"-"+s+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Wk=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function $k(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:s}=i;let a=!1,l,u;if(Wk(r,s,n.target))l=r,u=s;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,a=!0}return{x:l,y:u,box:a}}function Ei(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=Oa(e),s=r.boxSizing==="border-box",a=ur(r,"padding"),l=ur(r,"border","width"),{x:u,y:d,box:f}=$k(n,e),m=a.left+(f&&l.left),g=a.top+(f&&l.top);let{width:_,height:x}=t;return s&&(_-=a.width+l.width,x-=a.height+l.height),{x:Math.round((u-m)/_*e.width/i),y:Math.round((d-g)/x*e.height/i)}}function Vk(n,t,e){let i,r;if(t===void 0||e===void 0){const s=n&&ru(n);if(!s)t=n.clientWidth,e=n.clientHeight;else{const a=s.getBoundingClientRect(),l=Oa(s),u=ur(l,"border","width"),d=ur(l,"padding");t=a.width-d.width-u.width,e=a.height-d.height-u.height,i=Ca(l.maxWidth,s,"clientWidth"),r=Ca(l.maxHeight,s,"clientHeight")}}return{width:t,height:e,maxWidth:i||ba,maxHeight:r||ba}}const Pi=n=>Math.round(n*10)/10;function Yk(n,t,e,i){const r=Oa(n),s=ur(r,"margin"),a=Ca(r.maxWidth,n,"clientWidth")||ba,l=Ca(r.maxHeight,n,"clientHeight")||ba,u=Vk(n,t,e);let{width:d,height:f}=u;if(r.boxSizing==="content-box"){const g=ur(r,"border","width"),_=ur(r,"padding");d-=_.width+g.width,f-=_.height+g.height}return d=Math.max(0,d-s.width),f=Math.max(0,i?d/i:f-s.height),d=Pi(Math.min(d,a,u.maxWidth)),f=Pi(Math.min(f,l,u.maxHeight)),d&&!f&&(f=Pi(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&f>u.height&&(f=u.height,d=Pi(Math.floor(f*i))),{width:d,height:f}}function sm(n,t,e){const i=t||1,r=Pi(n.height*i),s=Pi(n.width*i);n.height=Pi(n.height),n.width=Pi(n.width);const a=n.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${n.height}px`,a.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||a.height!==r||a.width!==s?(n.currentDevicePixelRatio=i,a.height=r,a.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const qk=(function(){let n=!1;try{const t={get passive(){return n=!0,!1}};iu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n})();function om(n,t){const e=Uk(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function dr(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function jk(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function Gk(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},s={x:t.cp1x,y:t.cp1y},a=dr(n,r,e),l=dr(r,s,e),u=dr(s,t,e),d=dr(a,l,e),f=dr(l,u,e);return dr(d,f,e)}const Kk=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Xk=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function jr(n,t,e){return n?Kk(t,e):Xk()}function am(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function lm(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function cm(n){return n==="angle"?{between:Vs,compare:ZM,normalize:He}:{between:si,compare:(t,e)=>t-e,normalize:t=>t}}function um({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function Zk(n,t,e){const{property:i,start:r,end:s}=e,{between:a,normalize:l}=cm(i),u=t.length;let{start:d,end:f,loop:m}=n,g,_;if(m){for(d+=u,f+=u,g=0,_=u;g<_&&a(l(t[d%u][i]),r,s);++g)d--,f--;d%=u,f%=u}return f<d&&(f+=u),{start:d,end:f,loop:m,style:n.style}}function dm(n,t,e){if(!e)return[n];const{property:i,start:r,end:s}=e,a=t.length,{compare:l,between:u,normalize:d}=cm(i),{start:f,end:m,loop:g,style:_}=Zk(n,t,e),x=[];let w=!1,v=null,C,A,z;const I=()=>u(r,z,C)&&l(r,z)!==0,L=()=>l(s,C)===0||u(s,z,C),B=()=>w||I(),F=()=>!w||L();for(let M=f,T=f;M<=m;++M)A=t[M%a],!A.skip&&(C=d(A[i]),C!==z&&(w=u(C,r,s),v===null&&B()&&(v=l(C,r)===0?M:T),v!==null&&F()&&(x.push(um({start:v,end:M,loop:g,count:a,style:_})),v=null),T=M,z=C));return v!==null&&x.push(um({start:v,end:m,loop:g,count:a,style:_})),x}function fm(n,t){const e=[],i=n.segments;for(let r=0;r<i.length;r++){const s=dm(i[r],n.points,t);s.length&&e.push(...s)}return e}function Qk(n,t,e,i){let r=0,s=t-1;if(e&&!i)for(;r<t&&!n[r].skip;)r++;for(;r<t&&n[r].skip;)r++;for(r%=t,e&&(s+=r);s>r&&n[s%t].skip;)s--;return s%=t,{start:r,end:s}}function Jk(n,t,e,i){const r=n.length,s=[];let a=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,s.push({start:t%r,end:(u-1)%r,loop:i}),t=a=d.stop?u:null):(a=u,l.skip&&(t=u)),l=d}return a!==null&&s.push({start:t%r,end:a%r,loop:i}),s}function tD(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const s=!!n._loop,{start:a,end:l}=Qk(e,r,s,i);if(i===!0)return hm(n,[{start:a,end:l,loop:s}],e,t);const u=l<a?l+r:l,d=!!n._fullLoop&&a===0&&l===r-1;return hm(n,Jk(e,a,u,d),e,t)}function hm(n,t,e,i){return!i||!i.setContext||!e?t:eD(n,t,e,i)}function eD(n,t,e,i){const r=n._chart.getContext(),s=pm(n.options),{_datasetIndex:a,options:{spanGaps:l}}=n,u=e.length,d=[];let f=s,m=t[0].start,g=m;function _(x,w,v,C){const A=l?-1:1;if(x!==w){for(x+=u;e[x%u].skip;)x-=A;for(;e[w%u].skip;)w+=A;x%u!==w%u&&(d.push({start:x%u,end:w%u,loop:v,style:C}),f=C,m=w%u)}}for(const x of t){m=l?m:x.start;let w=e[m%u],v;for(g=m+1;g<=x.end;g++){const C=e[g%u];v=pm(i.setContext(Ri(r,{type:"segment",p0:w,p1:C,p0DataIndex:(g-1)%u,p1DataIndex:g%u,datasetIndex:a}))),nD(v,f)&&_(m,g-1,x.loop,f),w=C,f=v}m<g-1&&_(m,g-1,x.loop,f)}return d}function pm(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function nD(n,t){if(!t)return!1;const e=[],i=function(r,s){return Gc(s)?(e.includes(s)||e.push(s),e.indexOf(s)):s};return JSON.stringify(n,i)!==JSON.stringify(t,i)}function Aa(n,t,e){return n.options.clip?n[e]:t[e]}function iD(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:Aa(e,t,"left"),right:Aa(e,t,"right"),top:Aa(i,t,"top"),bottom:Aa(i,t,"bottom")}:t}function mm(n,t){const e=t._clip;if(e.disabled)return!1;const i=iD(t,n.chartArea);return{left:e.left===!1?0:i.left-(e.left===!0?0:e.left),right:e.right===!1?n.width:i.right+(e.right===!0?0:e.right),top:e.top===!1?0:i.top-(e.top===!0?0:e.top),bottom:e.bottom===!1?n.height:i.bottom+(e.bottom===!0?0:e.bottom)}}class rD{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,r){const s=e.listeners[r],a=e.duration;s.forEach(l=>l({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(i-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Up.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let a=s.length-1,l=!1,u;for(;a>=0;--a)u=s[a],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(s[a]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=s.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var li=new rD;const gm="transparent",sD={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=Ta(n||gm),r=i.valid&&Ta(t||gm);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class oD{constructor(t,e,i,r){const s=e[i];r=Xs([t.to,r,s,t.from]);const a=Xs([t.from,s,r]);this._active=!0,this._fn=t.fn||sD[t.type||typeof a],this._easing=Ys[t.easing]||Ys.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,a=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Xs([t.to,e,r,t.from]),this._from=Xs([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,s=this._from,a=this._loop,l=this._to;let u;if(this._active=s!==l&&(a||e<i),!this._active){this._target[r]=l,this._notify(!0);return}if(e<0){this._target[r]=s;return}u=e/i%2,u=a&&u>1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(s,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][e]()}}class su{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!It(t))return;const e=Object.keys(se.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(r=>{const s=t[r];if(!It(s))return;const a={};for(const l of e)a[l]=s[l];(qt(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,a)})})}_animateOptions(t,e){const i=e.options,r=lD(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&aD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,e){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),a=Object.keys(e),l=Date.now();let u;for(u=a.length-1;u>=0;--u){const d=a[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const f=e[d];let m=s[d];const g=i.get(d);if(m)if(g&&m.active()){m.update(g,f,l);continue}else m.cancel();if(!g||!g.duration){t[d]=f;continue}s[d]=m=new oD(g,t,d,f),r.push(m)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return li.add(this._chart,i),!0}}function aD(n,t){const e=[],i=Object.keys(t);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&e.push(s.wait())}return Promise.all(e)}function lD(n,t){if(!t)return;let e=n.options;if(!e){n.options=t;return}return e.$shared&&(n.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e}function ym(n,t){const e=n&&n.options||{},i=e.reverse,r=e.min===void 0?t:0,s=e.max===void 0?t:0;return{start:i?s:r,end:i?r:s}}function cD(n,t,e){if(e===!1)return!1;const i=ym(n,e),r=ym(t,e);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}function uD(n){let t,e,i,r;return It(n)?(t=n.top,e=n.right,i=n.bottom,r=n.left):t=e=i=r=n,{top:t,right:e,bottom:i,left:r,disabled:n===!1}}function _m(n,t){const e=[],i=n._getSortedDatasetMetas(t);let r,s;for(r=0,s=i.length;r<s;++r)e.push(i[r].index);return e}function bm(n,t,e,i={}){const r=n.keys,s=i.mode==="single";let a,l,u,d;if(t===null)return;let f=!1;for(a=0,l=r.length;a<l;++a){if(u=+r[a],u===e){if(f=!0,i.all)continue;break}d=n.values[u],ae(d)&&(s||t===0||qn(t)===qn(d))&&(t+=d)}return!f&&!i.all?0:t}function dD(n,t){const{iScale:e,vScale:i}=t,r=e.axis==="x"?"x":"y",s=i.axis==="x"?"x":"y",a=Object.keys(n),l=new Array(a.length);let u,d,f;for(u=0,d=a.length;u<d;++u)f=a[u],l[u]={[r]:f,[s]:n[f]};return l}function ou(n,t){const e=n&&n.options.stacked;return e||e===void 0&&t.stack!==void 0}function fD(n,t,e){return`${n.id}.${t.id}.${e.stack||e.type}`}function hD(n){const{min:t,max:e,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:r?e:Number.POSITIVE_INFINITY}}function pD(n,t,e){const i=n[t]||(n[t]={});return i[e]||(i[e]={})}function xm(n,t,e,i){for(const r of t.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(e&&s>0||!e&&s<0)return r.index}return null}function wm(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:s,vScale:a,index:l}=i,u=s.axis,d=a.axis,f=fD(s,a,i),m=t.length;let g;for(let _=0;_<m;++_){const x=t[_],{[u]:w,[d]:v}=x,C=x._stacks||(x._stacks={});g=C[d]=pD(r,f,w),g[l]=v,g._top=xm(g,a,!0,i.type),g._bottom=xm(g,a,!1,i.type);const A=g._visualValues||(g._visualValues={});A[l]=v}}function au(n,t){const e=n.scales;return Object.keys(e).filter(i=>e[i].axis===t).shift()}function mD(n,t){return Ri(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function gD(n,t,e){return Ri(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Zs(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][e]===void 0)return;delete s[i][e],s[i]._visualValues!==void 0&&s[i]._visualValues[e]!==void 0&&delete s[i]._visualValues[e]}}}const lu=n=>n==="reset"||n==="none",vm=(n,t)=>t?n:Object.assign({},n),yD=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:_m(e,!0),values:null};class Ii{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ou(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Zs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(m,g,_,x)=>m==="x"?g:m==="r"?x:_,s=e.xAxisID=Ct(i.xAxisID,au(t,"x")),a=e.yAxisID=Ct(i.yAxisID,au(t,"y")),l=e.rAxisID=Ct(i.rAxisID,au(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,s,a,l),f=e.vAxisID=r(u,a,s,l);e.xScale=this.getScaleForId(s),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(f)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Fp(this._data,this),t._stacked&&Zs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(It(e)){const r=this._cachedMeta;this._data=dD(e,r)}else if(i!==e){if(i){Fp(i,this);const r=this._cachedMeta;Zs(r),r._parsed=[]}e&&Object.isExtensible(e)&&ek(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=e._stacked;e._stacked=ou(e.vScale,e),e.stack!==i.stack&&(r=!0,Zs(e),e.stack=i.stack),this._resyncElements(t),(r||s!==e._stacked)&&(wm(this,e._parsed),e._stacked=ou(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:a}=i,l=s.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],f,m,g;if(this._parsing===!1)i._parsed=r,i._sorted=!0,g=r;else{qt(r[t])?g=this.parseArrayData(i,r,t,e):It(r[t])?g=this.parseObjectData(i,r,t,e):g=this.parsePrimitiveData(i,r,t,e);const _=()=>m[l]===null||d&&m[l]<d[l];for(f=0;f<e;++f)i._parsed[f+t]=m=g[f],u&&(_()&&(u=!1),d=m);i._sorted=u}a&&wm(this,g)}parsePrimitiveData(t,e,i,r){const{iScale:s,vScale:a}=t,l=s.axis,u=a.axis,d=s.getLabels(),f=s===a,m=new Array(r);let g,_,x;for(g=0,_=r;g<_;++g)x=g+i,m[g]={[l]:f||s.parse(d[x],x),[u]:a.parse(e[x],x)};return m}parseArrayData(t,e,i,r){const{xScale:s,yScale:a}=t,l=new Array(r);let u,d,f,m;for(u=0,d=r;u<d;++u)f=u+i,m=e[f],l[u]={x:s.parse(m[0],f),y:a.parse(m[1],f)};return l}parseObjectData(t,e,i,r){const{xScale:s,yScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=new Array(r);let f,m,g,_;for(f=0,m=r;f<m;++f)g=f+i,_=e[g],d[f]={x:s.parse(Di(_,l),g),y:a.parse(Di(_,u),g)};return d}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const r=this.chart,s=this._cachedMeta,a=e[t.axis],l={keys:_m(r,!0),values:e._stacks[t.axis]._visualValues};return bm(l,a,s.index,{mode:i})}updateRangeFromParsed(t,e,i,r){const s=i[e.axis];let a=s===null?NaN:s;const l=r&&i._stacks[e.axis];r&&l&&(r.values=l,a=bm(r,s,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,e){const i=this._cachedMeta,r=i._parsed,s=i._sorted&&t===i.iScale,a=r.length,l=this._getOtherScale(t),u=yD(e,i,this.chart),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:f,max:m}=hD(l);let g,_;function x(){_=r[g];const w=_[l.axis];return!ae(_[t.axis])||f>w||m<w}for(g=0;g<a&&!(!x()&&(this.updateRangeFromParsed(d,t,_,u),s));++g);if(s){for(g=a-1;g>=0;--g)if(!x()){this.updateRangeFromParsed(d,t,_,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,s,a;for(r=0,s=e.length;r<s;++r)a=e[r][t.axis],ae(a)&&i.push(a);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,r=e.vScale,s=this.getParsed(t);return{label:i?""+i.getLabelForValue(s[i.axis]):"",value:r?""+r.getLabelForValue(s[r.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=uD(Ct(this.options.clip,cD(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,r=i.data||[],s=e.chartArea,a=[],l=this._drawStart||0,u=this._drawCount||r.length-l,d=this.options.drawActiveElementsOnTop;let f;for(i.dataset&&i.dataset.draw(t,s,l,u),f=l;f<l+u;++f){const m=r[f];m.hidden||(m.active&&d?a.push(m):m.draw(t,s))}for(f=0;f<a.length;++f)a[f].draw(t,s)}getStyle(t,e){const i=e?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const r=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];s=a.$context||(a.$context=gD(this.getContext(),t,a)),s.parsed=this.getParsed(t),s.raw=r.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=mD(this.chart.getContext(),this.index)),s.dataset=r,s.index=s.datasetIndex=this.index;return s.active=!!e,s.mode=i,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const r=e==="active",s=this._cachedDataOpts,a=t+"-"+e,l=s[a],u=this.enableOptionSharing&&rn(i);if(l)return vm(l,u);const d=this.chart.config,f=d.datasetElementScopeKeys(this._type,t),m=r?[`${t}Hover`,"hover",t,""]:[t,""],g=d.getOptionScopes(this.getDataset(),f),_=Object.keys(se.elements[t]),x=()=>this.getContext(i,r,e),w=d.resolveNamedOptions(g,_,x,m);return w.$shared&&(w.$shared=u,s[a]=Object.freeze(vm(w,u))),w}_resolveAnimations(t,e,i){const r=this.chart,s=this._cachedDataOpts,a=`animation-${e}`,l=s[a];if(l)return l;let u;if(r.options.animation!==!1){const f=this.chart.config,m=f.datasetAnimationScopeKeys(this._type,e),g=f.getOptionScopes(this.getDataset(),m);u=f.createResolver(g,this.getContext(t,i,e))}const d=new su(r,u&&u.animations);return u&&u._cacheable&&(s[a]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||lu(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,s=this.getSharedOptions(i),a=this.includeOptions(e,s)||s!==r;return this.updateSharedOptions(s,e,i),{sharedOptions:s,includeOptions:a}}updateElement(t,e,i,r){lu(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!lu(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const s=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,s=e.length,a=Math.min(s,r);a&&this.parse(0,a),s>r?this._insertElements(r,s-r,t):s<r&&this._removeElements(s,r-s)}_insertElements(t,e,i=!0){const r=this._cachedMeta,s=r.data,a=t+e;let l;const u=d=>{for(d.length+=e,l=d.length-1;l>=a;l--)d[l]=d[l-e]};for(u(s),l=t;l<a;++l)s[l]=new this.dataElementType;this._parsing&&u(r._parsed),this.parse(t,e),i&&this.updateElements(s,t,e,"reset")}updateElements(t,e,i,r){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const r=i._parsed.splice(t,e);i._stacked&&Zs(i,r)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,r]=t;this[e](i,r)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function _D(n,t){if(!n._cache.$bar){const e=n.getMatchingVisibleMetas(t);let i=[];for(let r=0,s=e.length;r<s;r++)i=i.concat(e[r].controller.getAllParsedValues(n));n._cache.$bar=zp(i.sort((r,s)=>r-s))}return n._cache.$bar}function bD(n){const t=n.iScale,e=_D(t,n.type);let i=t._length,r,s,a,l;const u=()=>{a===32767||a===-32768||(rn(l)&&(i=Math.min(i,Math.abs(a-l)||i)),l=a)};for(r=0,s=e.length;r<s;++r)a=t.getPixelForValue(e[r]),u();for(l=void 0,r=0,s=t.ticks.length;r<s;++r)a=t.getPixelForTick(r),u();return i}function xD(n,t,e,i){const r=e.barThickness;let s,a;return vt(r)?(s=t.min*e.categoryPercentage,a=e.barPercentage):(s=r*i,a=1),{chunk:s/i,ratio:a,start:t.pixels[n]-s/2}}function wD(n,t,e,i){const r=t.pixels,s=r[n];let a=n>0?r[n-1]:null,l=n<r.length-1?r[n+1]:null;const u=e.categoryPercentage;a===null&&(a=s-(l===null?t.end-t.start:l-s)),l===null&&(l=s+s-a);const d=s-(s-Math.min(a,l))/2*u;return{chunk:Math.abs(l-a)/2*u/i,ratio:e.barPercentage,start:d}}function vD(n,t,e,i){const r=e.parse(n[0],i),s=e.parse(n[1],i),a=Math.min(r,s),l=Math.max(r,s);let u=a,d=l;Math.abs(a)>Math.abs(l)&&(u=l,d=a),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:s,min:a,max:l}}function Sm(n,t,e,i){return qt(n)?vD(n,t,e,i):t[e.axis]=e.parse(n,i),t}function Tm(n,t,e,i){const r=n.iScale,s=n.vScale,a=r.getLabels(),l=r===s,u=[];let d,f,m,g;for(d=e,f=e+i;d<f;++d)g=t[d],m={},m[r.axis]=l||r.parse(a[d],d),u.push(Sm(g,m,s,d));return u}function cu(n){return n&&n.barStart!==void 0&&n.barEnd!==void 0}function SD(n,t,e){return n!==0?qn(n):(t.isHorizontal()?1:-1)*(t.min>=e?1:-1)}function TD(n){let t,e,i,r,s;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.base<n.y,e="bottom",i="top"),t?(r="end",s="start"):(r="start",s="end"),{start:e,end:i,reverse:t,top:r,bottom:s}}function MD(n,t,e,i){let r=t.borderSkipped;const s={};if(!r){n.borderSkipped=s;return}if(r===!0){n.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:a,end:l,reverse:u,top:d,bottom:f}=TD(n);r==="middle"&&e&&(n.enableBorderRadius=!0,(e._top||0)===i?r=d:(e._bottom||0)===i?r=f:(s[Mm(f,a,l,u)]=!0,r=d)),s[Mm(r,a,l,u)]=!0,n.borderSkipped=s}function Mm(n,t,e,i){return i?(n=kD(n,t,e),n=km(n,e,t)):n=km(n,t,e),n}function kD(n,t,e){return n===t?e:n===e?t:n}function km(n,t,e){return n==="start"?t:n==="end"?e:n}function DD(n,{inflateAmount:t},e){n.inflateAmount=t==="auto"?e===1?.33:0:t}class Dm extends Ii{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,r){return Tm(t,e,i,r)}parseArrayData(t,e,i,r){return Tm(t,e,i,r)}parseObjectData(t,e,i,r){const{iScale:s,vScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=s.axis==="x"?l:u,f=a.axis==="x"?l:u,m=[];let g,_,x,w;for(g=i,_=i+r;g<_;++g)w=e[g],x={},x[s.axis]=s.parse(Di(w,d),g),m.push(Sm(Di(w,f),x,a,g));return m}updateRangeFromParsed(t,e,i,r){super.updateRangeFromParsed(t,e,i,r);const s=i._custom;s&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:r}=e,s=this.getParsed(t),a=s._custom,l=cu(a)?"["+a.start+", "+a.end+"]":""+r.getLabelForValue(s[r.axis]);return{label:""+i.getLabelForValue(s[i.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,r){const s=r==="reset",{index:a,_cachedMeta:{vScale:l}}=this,u=l.getBasePixel(),d=l.isHorizontal(),f=this._getRuler(),{sharedOptions:m,includeOptions:g}=this._getSharedOptions(e,r);for(let _=e;_<e+i;_++){const x=this.getParsed(_),w=s||vt(x[l.axis])?{base:u,head:u}:this._calculateBarValuePixels(_),v=this._calculateBarIndexPixels(_,f),C=(x._stacks||{})[l.axis],A={horizontal:d,base:w.base,enableBorderRadius:!C||cu(x._custom)||a===C._top||a===C._bottom,x:d?w.head:v.center,y:d?v.center:w.head,height:d?v.size:Math.abs(w.size),width:d?Math.abs(w.size):v.size};g&&(A.options=m||this.resolveDataElementOptions(_,t[_].active?"active":r));const z=A.options||t[_].options;MD(A,z,C,a),DD(A,z,f.ratio),this.updateElement(t[_],_,A,r)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,r=i.getMatchingVisibleMetas(this._type).filter(f=>f.controller.options.grouped),s=i.options.stacked,a=[],l=this._cachedMeta.controller.getParsed(e),u=l&&l[i.axis],d=f=>{const m=f._parsed.find(_=>_[i.axis]===u),g=m&&m[f.vScale.axis];if(vt(g)||isNaN(g))return!0};for(const f of r)if(!(e!==void 0&&d(f))&&((s===!1||a.indexOf(f.stack)===-1||s===void 0&&f.stack===void 0)&&a.push(f.stack),f.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[Ct(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const r=this._getStacks(t,i),s=e!==void 0?r.indexOf(e):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let s,a;for(s=0,a=e.data.length;s<a;++s)r.push(i.getPixelForValue(this.getParsed(s)[i.axis],s));const l=t.barThickness;return{min:l||bD(e),pixels:r,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:r},options:{base:s,minBarLength:a}}=this,l=s||0,u=this.getParsed(t),d=u._custom,f=cu(d);let m=u[e.axis],g=0,_=i?this.applyStack(e,u,i):m,x,w;_!==m&&(g=_-m,_=m),f&&(m=d.barStart,_=d.barEnd-d.barStart,m!==0&&qn(m)!==qn(d.barEnd)&&(g=0),g+=m);const v=!vt(s)&&!f?s:g;let C=e.getPixelForValue(v);if(this.chart.getDataVisibility(t)?x=e.getPixelForValue(g+_):x=C,w=x-C,Math.abs(w)<a){w=SD(w,e,l)*a,m===l&&(C-=w/2);const A=e.getPixelForDecimal(0),z=e.getPixelForDecimal(1),I=Math.min(A,z),L=Math.max(A,z);C=Math.max(Math.min(C,L),I),x=C+w,i&&!f&&(u._stacks[e.axis]._visualValues[r]=e.getValueForPixel(x)-e.getValueForPixel(C))}if(C===e.getPixelForValue(l)){const A=qn(w)*e.getLineWidthForValue(l)/2;C+=A,w-=A}return{size:w,base:C,head:x,center:x+w/2}}_calculateBarIndexPixels(t,e){const i=e.scale,r=this.options,s=r.skipNull,a=Ct(r.maxBarThickness,1/0);let l,u;const d=this._getAxisCount();if(e.grouped){const f=s?this._getStackCount(t):e.stackCount,m=r.barThickness==="flex"?wD(t,e,r,f*d):xD(t,e,r,f*d),g=this.chart.options.indexAxis==="x"?this.getDataset().xAxisID:this.getDataset().yAxisID,_=this._getAxis().indexOf(Ct(g,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0)+_;l=m.start+m.chunk*x+m.chunk/2,u=Math.min(a,m.chunk*m.ratio)}else l=i.getPixelForValue(this.getParsed(t)[i.axis],t),u=Math.min(a,e.min*e.ratio);return{base:l-u/2,head:l+u/2,center:l,size:u}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,r=i.length;let s=0;for(;s<r;++s)this.getParsed(s)[e.axis]!==null&&!i[s].hidden&&i[s].draw(this._ctx)}}class CD extends Ii{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,r){const s=super.parsePrimitiveData(t,e,i,r);for(let a=0;a<s.length;a++)s[a]._custom=this.resolveDataElementOptions(a+i).radius;return s}parseArrayData(t,e,i,r){const s=super.parseArrayData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Ct(l[2],this.resolveDataElementOptions(a+i).radius)}return s}parseObjectData(t,e,i,r){const s=super.parseObjectData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Ct(l&&l.r&&+l.r,this.resolveDataElementOptions(a+i).radius)}return s}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y),d=a._custom;return{label:i[t]||"",value:"("+l+", "+u+(d?", "+d:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(e,r),f=a.axis,m=l.axis;for(let g=e;g<e+i;g++){const _=t[g],x=!s&&this.getParsed(g),w={},v=w[f]=s?a.getPixelForDecimal(.5):a.getPixelForValue(x[f]),C=w[m]=s?l.getBasePixel():l.getPixelForValue(x[m]);w.skip=isNaN(v)||isNaN(C),d&&(w.options=u||this.resolveDataElementOptions(g,_.active?"active":r),s&&(w.options.radius=0)),this.updateElement(_,g,w,r)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let r=super.resolveDataElementOptions(t,e);r.$shared&&(r=Object.assign({},r,{$shared:!1}));const s=r.radius;return e!=="active"&&(r.radius=0),r.radius+=Ct(i&&i._custom,s),r}}function OD(n,t,e){let i=1,r=1,s=0,a=0;if(t<te){const l=n,u=l+t,d=Math.cos(l),f=Math.sin(l),m=Math.cos(u),g=Math.sin(u),_=(z,I,L)=>Vs(z,l,u,!0)?1:Math.max(I,I*e,L,L*e),x=(z,I,L)=>Vs(z,l,u,!0)?-1:Math.min(I,I*e,L,L*e),w=_(0,d,m),v=_(re,f,g),C=x(Et,d,m),A=x(Et+re,f,g);i=(w-C)/2,r=(v-A)/2,s=-(w+C)/2,a=-(v+A)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:a}}class Qs extends Ii{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((u,d)=>{const m=t.getDatasetMeta(0).controller.getStyle(d);return{text:u,fillStyle:m.backgroundColor,fontColor:s,hidden:!t.getDataVisibility(d),lineDash:m.borderDash,lineDashOffset:m.borderDashOffset,lineJoin:m.borderJoinStyle,lineWidth:m.borderWidth,strokeStyle:m.borderColor,textAlign:r,pointStyle:i,borderRadius:a&&(l||m.borderRadius),index:d}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let s=u=>+i[u];if(It(i[t])){const{key:u="value"}=this._parsing;s=d=>+Di(i[d],u)}let a,l;for(a=t,l=t+e;a<l;++a)r._parsed[a]=s(a)}}_getRotation(){return we(this.options.rotation-90)}_getCircumference(){return we(this.options.circumference)}_getRotationExtents(){let t=te,e=-te;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const r=this.chart.getDatasetMeta(i).controller,s=r._getRotation(),a=r._getCircumference();t=Math.min(t,s),e=Math.max(e,s+a)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,r=this._cachedMeta,s=r.data,a=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,l=Math.max((Math.min(i.width,i.height)-a)/2,0),u=Math.min(HM(this.options.cutout,l),1),d=this._getRingWeight(this.index),{circumference:f,rotation:m}=this._getRotationExtents(),{ratioX:g,ratioY:_,offsetX:x,offsetY:w}=OD(m,f,u),v=(i.width-a)/g,C=(i.height-a)/_,A=Math.max(Math.min(v,C)/2,0),z=Ap(this.options.radius,A),I=Math.max(z*u,0),L=(z-I)/this._getVisibleDatasetWeightTotal();this.offsetX=x*z,this.offsetY=w*z,r.total=this.calculateTotal(),this.outerRadius=z-L*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-L*d,0),this.updateElements(s,0,s.length,t)}_circumference(t,e){const i=this.options,r=this._cachedMeta,s=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||r._parsed[t]===null||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*s/te)}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,l=a.chartArea,d=a.options.animation,f=(l.left+l.right)/2,m=(l.top+l.bottom)/2,g=s&&d.animateScale,_=g?0:this.innerRadius,x=g?0:this.outerRadius,{sharedOptions:w,includeOptions:v}=this._getSharedOptions(e,r);let C=this._getRotation(),A;for(A=0;A<e;++A)C+=this._circumference(A,s);for(A=e;A<e+i;++A){const z=this._circumference(A,s),I=t[A],L={x:f+this.offsetX,y:m+this.offsetY,startAngle:C,endAngle:C+z,circumference:z,outerRadius:x,innerRadius:_};v&&(L.options=w||this.resolveDataElementOptions(A,I.active?"active":r)),C+=z,this.updateElement(I,A,L,r)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i=0,r;for(r=0;r<e.length;r++){const s=t._parsed[r];s!==null&&!isNaN(s)&&this.chart.getDataVisibility(r)&&!e[r].hidden&&(i+=Math.abs(s))}return i}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?te*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=qs(e._parsed[t],i.options.locale);return{label:r[t]||"",value:s}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,s,a,l,u;if(!t){for(r=0,s=i.data.datasets.length;r<s;++r)if(i.isDatasetVisible(r)){a=i.getDatasetMeta(r),t=a.data,l=a.controller;break}}if(!t)return 0;for(r=0,s=t.length;r<s;++r)u=l.resolveDataElementOptions(r),u.borderAlign!=="inner"&&(e=Math.max(e,u.borderWidth||0,u.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,r=t.length;i<r;++i){const s=this.resolveDataElementOptions(i);e=Math.max(e,s.offset||0,s.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(Ct(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Cm extends Ii{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:s}=e,a=this.chart._animationsDisabled;let{start:l,count:u}=Wp(e,r,a);this._drawStart=l,this._drawCount=u,$p(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!s._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!a,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:f,includeOptions:m}=this._getSharedOptions(e,r),g=a.axis,_=l.axis,{spanGaps:x,segment:w}=this.options,v=Oi(x)?x:Number.POSITIVE_INFINITY,C=this.chart._animationsDisabled||s||r==="none",A=e+i,z=t.length;let I=e>0&&this.getParsed(e-1);for(let L=0;L<z;++L){const B=t[L],F=C?B:{};if(L<e||L>=A){F.skip=!0;continue}const M=this.getParsed(L),T=vt(M[_]),O=F[g]=a.getPixelForValue(M[g],L),E=F[_]=s||T?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,M,u):M[_],L);F.skip=isNaN(O)||isNaN(E)||T,F.stop=L>0&&Math.abs(M[g]-I[g])>v,w&&(F.parsed=M,F.raw=d.data[L]),m&&(F.options=f||this.resolveDataElementOptions(L,B.active?"active":r)),C||this.updateElement(B,L,F,r),I=M}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const s=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,s,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class Om extends Ii{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((s,a)=>{const u=t.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=qs(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:s}}parseObjectData(t,e,i,r){return im.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const s=this.getParsed(r).r;!isNaN(s)&&this.chart.getDataVisibility(r)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),s=Math.max(r/2,0),a=Math.max(i.cutoutPercentage?s/100*i.cutoutPercentage:1,0),l=(s-a)/t.getVisibleDatasetCount();this.outerRadius=s-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,u=a.options.animation,d=this._cachedMeta.rScale,f=d.xCenter,m=d.yCenter,g=d.getIndexAngle(0)-.5*Et;let _=g,x;const w=360/this.countVisibleElements();for(x=0;x<e;++x)_+=this._computeAngle(x,r,w);for(x=e;x<e+i;x++){const v=t[x];let C=_,A=_+this._computeAngle(x,r,w),z=a.getDataVisibility(x)?d.getDistanceFromCenterForValue(this.getParsed(x).r):0;_=A,s&&(u.animateScale&&(z=0),u.animateRotate&&(C=A=g));const I={x:f,y:m,innerRadius:0,outerRadius:z,startAngle:C,endAngle:A,options:this.resolveDataElementOptions(x,v.active?"active":r)};this.updateElement(v,x,I,r)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach((i,r)=>{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?we(this.resolveDataElementOptions(t,e).angle||i):0}}class AD extends Qs{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class RD extends Ii{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,r){return im.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta,i=e.dataset,r=e.data||[],s=e.iScale.getLabels();if(i.points=r,t!=="resize"){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);const l={_loop:!0,_fullLoop:s.length===r.length,options:a};this.updateElement(i,void 0,l,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,i,r){const s=this._cachedMeta.rScale,a=r==="reset";for(let l=e;l<e+i;l++){const u=t[l],d=this.resolveDataElementOptions(l,u.active?"active":r),f=s.getPointPositionForValue(l,this.getParsed(l).r),m=a?s.xCenter:f.x,g=a?s.yCenter:f.y,_={x:m,y:g,angle:f.angle,skip:isNaN(m)||isNaN(g),options:d};this.updateElement(u,l,_,r)}}}class Am extends Ii{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y);return{label:i[t]||"",value:"("+l+", "+u+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,r=this.chart._animationsDisabled;let{start:s,count:a}=Wp(e,i,r);if(this._drawStart=s,this._drawCount=a,$p(e)&&(s=0,a=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:l,_dataset:u}=e;l._chart=this.chart,l._datasetIndex=this.index,l._decimated=!!u._decimated,l.points=i;const d=this.resolveDatasetElementOptions(t);d.segment=this.options.segment,this.updateElement(l,void 0,{animated:!r,options:d},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,s,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,f=this.resolveDataElementOptions(e,r),m=this.getSharedOptions(f),g=this.includeOptions(r,m),_=a.axis,x=l.axis,{spanGaps:w,segment:v}=this.options,C=Oi(w)?w:Number.POSITIVE_INFINITY,A=this.chart._animationsDisabled||s||r==="none";let z=e>0&&this.getParsed(e-1);for(let I=e;I<e+i;++I){const L=t[I],B=this.getParsed(I),F=A?L:{},M=vt(B[x]),T=F[_]=a.getPixelForValue(B[_],I),O=F[x]=s||M?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,B,u):B[x],I);F.skip=isNaN(T)||isNaN(O)||M,F.stop=I>0&&Math.abs(B[_]-z[_])>C,v&&(F.parsed=B,F.raw=d.data[I]),g&&(F.options=m||this.resolveDataElementOptions(I,L.active?"active":r)),A||this.updateElement(L,I,F,r),z=B}this.updateSharedOptions(m,r,f)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let l=0;for(let u=e.length-1;u>=0;--u)l=Math.max(l,e[u].size(this.resolveDataElementOptions(u))/2);return l>0&&l}const i=t.dataset,r=i.options&&i.options.borderWidth||0;if(!e.length)return r;const s=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(r,s,a)/2}}var ED=Object.freeze({__proto__:null,BarController:Dm,BubbleController:CD,DoughnutController:Qs,LineController:Cm,PieController:AD,PolarAreaController:Om,RadarController:RD,ScatterController:Am});function fr(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class uu{static override(t){Object.assign(uu.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return fr()}parse(){return fr()}format(){return fr()}add(){return fr()}diff(){return fr()}startOf(){return fr()}endOf(){return fr()}}var Rm={_date:uu};function PD(n,t,e,i){const{controller:r,data:s,_sorted:a}=n,l=r._cachedMeta.iScale,u=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null;if(l&&t===l.axis&&t!=="r"&&a&&s.length){const d=l._reversePixels?JM:oi;if(i){if(r._sharedOptions){const f=s[0],m=typeof f.getRange=="function"&&f.getRange(t);if(m){const g=d(s,t,e-m),_=d(s,t,e+m);return{lo:g.lo,hi:_.hi}}}}else{const f=d(s,t,e);if(u){const{vScale:m}=r._cachedMeta,{_parsed:g}=n,_=g.slice(0,f.lo+1).reverse().findIndex(w=>!vt(w[m.axis]));f.lo-=Math.max(0,_);const x=g.slice(f.hi).findIndex(w=>!vt(w[m.axis]));f.hi+=Math.max(0,x)}return f}}return{lo:0,hi:s.length-1}}function Js(n,t,e,i,r){const s=n.getSortedVisibleDatasetMetas(),a=e[t];for(let l=0,u=s.length;l<u;++l){const{index:d,data:f}=s[l],{lo:m,hi:g}=PD(s[l],t,a,r);for(let _=m;_<=g;++_){const x=f[_];x.skip||i(x,d,_)}}}function ID(n){const t=n.indexOf("x")!==-1,e=n.indexOf("y")!==-1;return function(i,r){const s=t?Math.abs(i.x-r.x):0,a=e?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(a,2))}}function du(n,t,e,i,r){const s=[];return!r&&!n.isPointInArea(t)||Js(n,e,t,function(l,u,d){!r&&!ai(l,n.chartArea,0)||l.inRange(t.x,t.y,i)&&s.push({element:l,datasetIndex:u,index:d})},!0),s}function LD(n,t,e,i){let r=[];function s(a,l,u){const{startAngle:d,endAngle:f}=a.getProps(["startAngle","endAngle"],i),{angle:m}=va(a,{x:t.x,y:t.y});Vs(m,d,f)&&r.push({element:a,datasetIndex:l,index:u})}return Js(n,e,t,s),r}function ND(n,t,e,i,r,s){let a=[];const l=ID(e);let u=Number.POSITIVE_INFINITY;function d(f,m,g){const _=f.inRange(t.x,t.y,r);if(i&&!_)return;const x=f.getCenterPoint(r);if(!(!!s||n.isPointInArea(x))&&!_)return;const v=l(t,x);v<u?(a=[{element:f,datasetIndex:m,index:g}],u=v):v===u&&a.push({element:f,datasetIndex:m,index:g})}return Js(n,e,t,d),a}function fu(n,t,e,i,r,s){return!s&&!n.isPointInArea(t)?[]:e==="r"&&!i?LD(n,t,e,r):ND(n,t,e,i,r,s)}function Em(n,t,e,i,r){const s=[],a=e==="x"?"inXRange":"inYRange";let l=!1;return Js(n,e,t,(u,d,f)=>{u[a]&&u[a](t[e],r)&&(s.push({element:u,datasetIndex:d,index:f}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:s}var hu={evaluateInteractionItems:Js,modes:{index(n,t,e,i){const r=Ei(t,n),s=e.axis||"x",a=e.includeInvisible||!1,l=e.intersect?du(n,r,s,i,a):fu(n,r,s,!1,i,a),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const f=l[0].index,m=d.data[f];m&&!m.skip&&u.push({element:m,datasetIndex:d.index,index:f})}),u):[]},dataset(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;let l=e.intersect?du(n,r,s,i,a):fu(n,r,s,!1,i,a);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let f=0;f<d.length;++f)l.push({element:d[f],datasetIndex:u,index:f})}return l},point(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return du(n,r,s,i,a)},nearest(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return fu(n,r,s,e.intersect,i,a)},x(n,t,e,i){const r=Ei(t,n);return Em(n,r,"x",e.intersect,i)},y(n,t,e,i){const r=Ei(t,n);return Em(n,r,"y",e.intersect,i)}}};const Pm=["left","top","right","bottom"];function to(n,t){return n.filter(e=>e.pos===t)}function Im(n,t){return n.filter(e=>Pm.indexOf(e.pos)===-1&&e.box.axis===t)}function eo(n,t){return n.sort((e,i)=>{const r=t?i:e,s=t?e:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function BD(n){const t=[];let e,i,r,s,a,l;for(e=0,i=(n||[]).length;e<i;++e)r=n[e],{position:s,options:{stack:a,stackWeight:l=1}}=r,t.push({index:e,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:a&&s+a,stackWeight:l});return t}function FD(n){const t={};for(const e of n){const{stack:i,pos:r,stackWeight:s}=e;if(!i||!Pm.includes(r))continue;const a=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=s}return t}function zD(n,t){const e=FD(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=t;let s,a,l;for(s=0,a=n.length;s<a;++s){l=n[s];const{fullSize:u}=l.box,d=e[l.stack],f=d&&l.stackWeight/d.weight;l.horizontal?(l.width=f?f*i:u&&t.availableWidth,l.height=r):(l.width=i,l.height=f?f*r:u&&t.availableHeight)}return e}function UD(n){const t=BD(n),e=eo(t.filter(d=>d.box.fullSize),!0),i=eo(to(t,"left"),!0),r=eo(to(t,"right")),s=eo(to(t,"top"),!0),a=eo(to(t,"bottom")),l=Im(t,"x"),u=Im(t,"y");return{fullSize:e,leftAndTop:i.concat(s),rightAndBottom:r.concat(u).concat(a).concat(l),chartArea:to(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:s.concat(a).concat(l)}}function Lm(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function Nm(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function HD(n,t,e,i){const{pos:r,box:s}=e,a=n.maxPadding;if(!It(r)){e.size&&(n[r]-=e.size);const m=i[e.stack]||{size:0,count:1};m.size=Math.max(m.size,e.horizontal?s.height:s.width),e.size=m.size/m.count,n[r]+=e.size}s.getPadding&&Nm(a,s.getPadding());const l=Math.max(0,t.outerWidth-Lm(a,n,"left","right")),u=Math.max(0,t.outerHeight-Lm(a,n,"top","bottom")),d=l!==n.w,f=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:f}:{same:f,other:d}}function WD(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function $D(n,t){const e=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(a=>{s[a]=Math.max(t[a],e[a])}),s}return i(n?["left","right"]:["top","bottom"])}function no(n,t,e,i){const r=[];let s,a,l,u,d,f;for(s=0,a=n.length,d=0;s<a;++s){l=n[s],u=l.box,u.update(l.width||t.w,l.height||t.h,$D(l.horizontal,t));const{same:m,other:g}=HD(t,e,l,i);d|=m&&r.length,f=f||g,u.fullSize||r.push(l)}return d&&no(r,t,e,i)||f}function Ra(n,t,e,i,r){n.top=e,n.left=t,n.right=t+i,n.bottom=e+r,n.width=i,n.height=r}function Bm(n,t,e,i){const r=e.padding;let{x:s,y:a}=t;for(const l of n){const u=l.box,d=i[l.stack]||{placed:0,weight:1},f=l.stackWeight/d.weight||1;if(l.horizontal){const m=t.w*f,g=d.size||u.height;rn(d.start)&&(a=d.start),u.fullSize?Ra(u,r.left,a,e.outerWidth-r.right-r.left,g):Ra(u,t.left+d.placed,a,m,g),d.start=a,d.placed+=m,a=u.bottom}else{const m=t.h*f,g=d.size||u.width;rn(d.start)&&(s=d.start),u.fullSize?Ra(u,s,r.top,g,e.outerHeight-r.bottom-r.top):Ra(u,s,t.top+d.placed,g,m),d.start=s,d.placed+=m,s=u.right}}t.x=s,t.y=a}var $e={addBox(n,t){n.boxes||(n.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},n.boxes.push(t)},removeBox(n,t){const e=n.boxes?n.boxes.indexOf(t):-1;e!==-1&&n.boxes.splice(e,1)},configure(n,t,e){t.fullSize=e.fullSize,t.position=e.position,t.weight=e.weight},update(n,t,e,i){if(!n)return;const r=ve(n.options.layout.padding),s=Math.max(t-r.width,0),a=Math.max(e-r.height,0),l=UD(n.boxes),u=l.vertical,d=l.horizontal;Jt(n.boxes,w=>{typeof w.beforeLayout=="function"&&w.beforeLayout()});const f=u.reduce((w,v)=>v.box.options&&v.box.options.display===!1?w:w+1,0)||1,m=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/f,hBoxMaxHeight:a/2}),g=Object.assign({},r);Nm(g,ve(i));const _=Object.assign({maxPadding:g,w:s,h:a,x:r.left,y:r.top},r),x=zD(u.concat(d),m);no(l.fullSize,_,m,x),no(u,_,m,x),no(d,_,m,x)&&no(u,_,m,x),WD(_),Bm(l.leftAndTop,_,m,x),_.x+=_.w,_.y+=_.h,Bm(l.rightAndBottom,_,m,x),n.chartArea={left:_.left,top:_.top,right:_.left+_.w,bottom:_.top+_.h,height:_.h,width:_.w},Jt(l.chartArea,w=>{const v=w.box;Object.assign(v,n.chartArea),v.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})})}};class Fm{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class VD extends Fm{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Ea="$chartjs",YD={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},zm=n=>n===null||n==="";function qD(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Ea]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",zm(r)){const s=om(n,"width");s!==void 0&&(n.width=s)}if(zm(i))if(n.style.height==="")n.height=n.width/(t||2);else{const s=om(n,"height");s!==void 0&&(n.height=s)}return n}const Um=qk?{passive:!0}:!1;function jD(n,t,e){n&&n.addEventListener(t,e,Um)}function GD(n,t,e){n&&n.canvas&&n.canvas.removeEventListener(t,e,Um)}function KD(n,t){const e=YD[n.type]||n.type,{x:i,y:r}=Ei(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Pa(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function XD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.addedNodes,i),a=a&&!Pa(l.removedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function ZD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.removedNodes,i),a=a&&!Pa(l.addedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const io=new Map;let Hm=0;function Wm(){const n=window.devicePixelRatio;n!==Hm&&(Hm=n,io.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function QD(n,t){io.size||window.addEventListener("resize",Wm),io.set(n,t)}function JD(n){io.delete(n),io.size||window.removeEventListener("resize",Wm)}function tC(n,t,e){const i=n.canvas,r=i&&ru(i);if(!r)return;const s=Hp((l,u)=>{const d=r.clientWidth;e(l,u),d<r.clientWidth&&e()},window),a=new ResizeObserver(l=>{const u=l[0],d=u.contentRect.width,f=u.contentRect.height;d===0&&f===0||s(d,f)});return a.observe(r),QD(n,s),a}function pu(n,t,e){e&&e.disconnect(),t==="resize"&&JD(n)}function eC(n,t,e){const i=n.canvas,r=Hp(s=>{n.ctx!==null&&e(KD(s,n))},n);return jD(i,t,r),r}class nC extends Fm{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(qD(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Ea])return!1;const i=e[Ea].initial;["height","width"].forEach(s=>{const a=i[s];vt(a)?e.removeAttribute(s):e.setAttribute(s,a)});const r=i.style||{};return Object.keys(r).forEach(s=>{e.style[s]=r[s]}),e.width=e.width,delete e[Ea],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),a={attach:XD,detach:ZD,resize:tC}[e]||eC;r[e]=a(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:pu,detach:pu,resize:pu}[e]||GD)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return Yk(t,e,i,r)}isAttached(t){const e=t&&ru(t);return!!(e&&e.isConnected)}}function iC(n){return!iu()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?VD:nC}class Ve{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Oi(this.x)&&Oi(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}function rC(n,t){const e=n.options.ticks,i=sC(n),r=Math.min(e.maxTicksLimit||i,i),s=e.major.enabled?aC(t):[],a=s.length,l=s[0],u=s[a-1],d=[];if(a>r)return lC(t,d,s,a/r),d;const f=oC(s,t,r);if(a>0){let m,g;const _=a>1?Math.round((u-l)/(a-1)):null;for(Ia(t,d,f,vt(_)?0:l-_,l),m=0,g=a-1;m<g;m++)Ia(t,d,f,s[m],s[m+1]);return Ia(t,d,f,u,vt(_)?t.length:u+_),d}return Ia(t,d,f),d}function sC(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function oC(n,t,e){const i=cC(n),r=t.length/e;if(!i)return Math.max(r,1);const s=GM(i);for(let a=0,l=s.length-1;a<l;a++){const u=s[a];if(u>r)return u}return Math.max(r,1)}function aC(n){const t=[];let e,i;for(e=0,i=n.length;e<i;e++)n[e].major&&t.push(e);return t}function lC(n,t,e,i){let r=0,s=e[0],a;for(i=Math.ceil(i),a=0;a<n.length;a++)a===s&&(t.push(n[a]),r++,s=e[r*i])}function Ia(n,t,e,i,r){const s=Ct(i,0),a=Math.min(Ct(r,n.length),n.length);let l=0,u,d,f;for(e=Math.ceil(e),r&&(u=r-i,e=u/Math.floor(u/e)),f=s;f<0;)l++,f=Math.round(s+l*e);for(d=Math.max(s,0);d<a;d++)d===f&&(t.push(n[d]),l++,f=Math.round(s+l*e))}function cC(n){const t=n.length;let e,i;if(t<2)return!1;for(i=n[0],e=1;e<t;++e)if(n[e]-n[e-1]!==i)return!1;return i}const uC=n=>n==="left"?"right":n==="right"?"left":n,$m=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,Vm=(n,t)=>Math.min(t||n,n);function Ym(n,t){const e=[],i=n.length/t,r=n.length;let s=0;for(;s<r;s+=i)e.push(n[Math.floor(s)]);return e}function dC(n,t,e){const i=n.ticks.length,r=Math.min(t,i-1),s=n._startPixel,a=n._endPixel,l=1e-6;let u=n.getPixelForTick(r),d;if(!(e&&(i===1?d=Math.max(u-s,a-u):t===0?d=(n.getPixelForTick(1)-u)/2:d=(u-n.getPixelForTick(r-1))/2,u+=r<t?d:-d,u<s-l||u>a+l)))return u}function fC(n,t){Jt(n,e=>{const i=e.gc,r=i.length/2;let s;if(r>t){for(s=0;s<r;++s)delete e.data[i[s]];i.splice(0,r)}})}function ro(n){return n.drawTicks?n.tickLength:0}function qm(n,t){if(!n.display)return 0;const e=le(n.font,t),i=ve(n.padding);return(qt(n.text)?n.text.length:1)*e.lineHeight+i.height}function hC(n,t){return Ri(n,{scale:t,type:"scale"})}function pC(n,t,e){return Ri(n,{tick:e,index:t,type:"tick"})}function mC(n,t,e){let i=jc(n);return(e&&t!=="right"||!e&&t==="right")&&(i=uC(i)),i}function gC(n,t,e,i){const{top:r,left:s,bottom:a,right:l,chart:u}=n,{chartArea:d,scales:f}=u;let m=0,g,_,x;const w=a-r,v=l-s;if(n.isHorizontal()){if(_=We(i,s,l),It(e)){const C=Object.keys(e)[0],A=e[C];x=f[C].getPixelForValue(A)+w-t}else e==="center"?x=(d.bottom+d.top)/2+w-t:x=$m(n,e,t);g=l-s}else{if(It(e)){const C=Object.keys(e)[0],A=e[C];_=f[C].getPixelForValue(A)-v+t}else e==="center"?_=(d.left+d.right)/2-v+t:_=$m(n,e,t);x=We(i,a,r),m=e==="left"?-re:re}return{titleX:_,titleY:x,maxWidth:g,rotation:m}}class hr extends Ve{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:r}=this;return t=mn(t,Number.POSITIVE_INFINITY),e=mn(e,Number.NEGATIVE_INFINITY),i=mn(i,Number.POSITIVE_INFINITY),r=mn(r,Number.NEGATIVE_INFINITY),{min:mn(t,i),max:mn(e,r),minDefined:ae(t),maxDefined:ae(e)}}getMinMax(t){let{min:e,max:i,minDefined:r,maxDefined:s}=this.getUserBounds(),a;if(r&&s)return{min:e,max:i};const l=this.getMatchingVisibleMetas();for(let u=0,d=l.length;u<d;++u)a=l[u].controller.getMinMax(this,t),r||(e=Math.min(e,a.min)),s||(i=Math.max(i,a.max));return e=s&&e>i?i:e,i=r&&e>i?e:i,{min:mn(e,mn(i,e)),max:mn(i,mn(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Qt(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:s,ticks:a}=this.options,l=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sk(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l<this.ticks.length;this._convertTicksToLabels(u?Ym(this.ticks,l):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source==="auto")&&(this.ticks=rC(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),u&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,e,i;this.isHorizontal()?(e=this.left,i=this.right):(e=this.top,i=this.bottom,t=!t),this._startPixel=e,this._endPixel=i,this._reversePixels=t,this._length=i-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Qt(this.options.afterUpdate,[this])}beforeSetDimensions(){Qt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Qt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Qt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Qt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,r,s;for(i=0,r=t.length;i<r;i++)s=t[i],s.label=Qt(e.callback,[s.value,i,t],this)}afterTickToLabelConversion(){Qt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Qt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=Vm(this.ticks.length,t.ticks.maxTicksLimit),r=e.minRotation||0,s=e.maxRotation;let a=r,l,u,d;if(!this._isVisible()||!e.display||r>=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const f=this._getLabelSizes(),m=f.widest.width,g=f.highest.height,_=Oe(this.chart.width-m,0,this.maxWidth);l=t.offset?this.maxWidth/i:_/(i-1),m+6>l&&(l=_/(i-(t.offset?.5:1)),u=this.maxHeight-ro(t.grid)-e.padding-qm(t.title,this.chart.options.font),d=Math.sqrt(m*m+g*g),a=wa(Math.min(Math.asin(Oe((f.highest.height+6)/l,-1,1)),Math.asin(Oe(u/d,-1,1))-Math.asin(Oe(g/d,-1,1)))),a=Math.max(r,Math.min(s,a))),this.labelRotation=a}afterCalculateLabelRotation(){Qt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Qt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:s}}=this,a=this._isVisible(),l=this.isHorizontal();if(a){const u=qm(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=ro(s)+u):(t.height=this.maxHeight,t.width=ro(s)+u),i.display&&this.ticks.length){const{first:d,last:f,widest:m,highest:g}=this._getLabelSizes(),_=i.padding*2,x=we(this.labelRotation),w=Math.cos(x),v=Math.sin(x);if(l){const C=i.mirror?0:v*m.width+w*g.height;t.height=Math.min(this.maxHeight,t.height+C+_)}else{const C=i.mirror?0:w*m.width+v*g.height;t.width=Math.min(this.maxWidth,t.width+C+_)}this._calculatePadding(d,f,v,w)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:s,padding:a},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const f=this.getPixelForTick(0)-this.left,m=this.right-this.getPixelForTick(this.ticks.length-1);let g=0,_=0;u?d?(g=r*t.width,_=i*e.height):(g=i*t.height,_=r*e.width):s==="start"?_=e.width:s==="end"?g=t.width:s!=="inner"&&(g=t.width/2,_=e.width/2),this.paddingLeft=Math.max((g-f+a)*this.width/(this.width-f),0),this.paddingRight=Math.max((_-m+a)*this.width/(this.width-m),0)}else{let f=e.height/2,m=t.height/2;s==="start"?(f=0,m=t.height):s==="end"&&(f=e.height,m=0),this.paddingTop=f+a,this.paddingBottom=m+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Qt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e<i;e++)vt(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ym(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:r,_longestTextCache:s}=this,a=[],l=[],u=Math.floor(e/Vm(e,i));let d=0,f=0,m,g,_,x,w,v,C,A,z,I,L;for(m=0;m<e;m+=u){if(x=t[m].label,w=this._resolveTickFontOptions(m),r.font=v=w.string,C=s[v]=s[v]||{data:{},gc:[]},A=w.lineHeight,z=I=0,!vt(x)&&!qt(x))z=ka(r,C.data,C.gc,z,x),I=A;else if(qt(x))for(g=0,_=x.length;g<_;++g)L=x[g],!vt(L)&&!qt(L)&&(z=ka(r,C.data,C.gc,z,L),I+=A);a.push(z),l.push(I),d=Math.max(z,d),f=Math.max(I,f)}fC(s,e);const B=a.indexOf(d),F=l.indexOf(f),M=T=>({width:a[T]||0,height:l[T]||0});return{first:M(0),last:M(e-1),widest:M(B),highest:M(F),widths:a,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return QM(this._alignToPixels?lr(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=pC(this.getContext(),t,i))}return this.$context||(this.$context=hC(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,e=we(this.labelRotation),i=Math.abs(Math.cos(e)),r=Math.abs(Math.sin(e)),s=this._getLabelSizes(),a=t.autoSkipPadding||0,l=s?s.widest.width+a:0,u=s?s.highest.height+a:0;return this.isHorizontal()?u*i>l*r?l/i:u/r:u*r<l*i?u/i:l/r}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:s,position:a,border:l}=r,u=s.offset,d=this.isHorizontal(),m=this.ticks.length+(u?1:0),g=ro(s),_=[],x=l.setContext(this.getContext()),w=x.display?x.width:0,v=w/2,C=function(pt){return lr(i,pt,w)};let A,z,I,L,B,F,M,T,O,E,$,Q;if(a==="top")A=C(this.bottom),F=this.bottom-g,T=A-v,E=C(t.top)+v,Q=t.bottom;else if(a==="bottom")A=C(this.top),E=t.top,Q=C(t.bottom)-v,F=A+v,T=this.top+g;else if(a==="left")A=C(this.right),B=this.right-g,M=A-v,O=C(t.left)+v,$=t.right;else if(a==="right")A=C(this.left),O=t.left,$=C(t.right)-v,B=A+v,M=this.left+g;else if(e==="x"){if(a==="center")A=C((t.top+t.bottom)/2+.5);else if(It(a)){const pt=Object.keys(a)[0],dt=a[pt];A=C(this.chart.scales[pt].getPixelForValue(dt))}E=t.top,Q=t.bottom,F=A+v,T=F+g}else if(e==="y"){if(a==="center")A=C((t.left+t.right)/2);else if(It(a)){const pt=Object.keys(a)[0],dt=a[pt];A=C(this.chart.scales[pt].getPixelForValue(dt))}B=A-v,M=B-g,O=t.left,$=t.right}const lt=Ct(r.ticks.maxTicksLimit,m),ct=Math.max(1,Math.ceil(m/lt));for(z=0;z<m;z+=ct){const pt=this.getContext(z),dt=s.setContext(pt),gt=l.setContext(pt),rt=dt.lineWidth,ft=dt.color,j=gt.dash||[],N=gt.dashOffset,W=dt.tickWidth,it=dt.tickColor,ot=dt.tickBorderDash||[],K=dt.tickBorderDashOffset;I=dC(this,z,u),I!==void 0&&(L=lr(i,I,rt),d?B=M=O=$=L:F=T=E=Q=L,_.push({tx1:B,ty1:F,tx2:M,ty2:T,x1:O,y1:E,x2:$,y2:Q,width:rt,color:ft,borderDash:j,borderDashOffset:N,tickWidth:W,tickColor:it,tickBorderDash:ot,tickBorderDashOffset:K}))}return this._ticksLength=m,this._borderValue=A,_}_computeLabelItems(t){const e=this.axis,i=this.options,{position:r,ticks:s}=i,a=this.isHorizontal(),l=this.ticks,{align:u,crossAlign:d,padding:f,mirror:m}=s,g=ro(i.grid),_=g+f,x=m?-f:_,w=-we(this.labelRotation),v=[];let C,A,z,I,L,B,F,M,T,O,E,$,Q="middle";if(r==="top")B=this.bottom-x,F=this._getXAxisLabelAlignment();else if(r==="bottom")B=this.top+x,F=this._getXAxisLabelAlignment();else if(r==="left"){const ct=this._getYAxisLabelAlignment(g);F=ct.textAlign,L=ct.x}else if(r==="right"){const ct=this._getYAxisLabelAlignment(g);F=ct.textAlign,L=ct.x}else if(e==="x"){if(r==="center")B=(t.top+t.bottom)/2+_;else if(It(r)){const ct=Object.keys(r)[0],pt=r[ct];B=this.chart.scales[ct].getPixelForValue(pt)+_}F=this._getXAxisLabelAlignment()}else if(e==="y"){if(r==="center")L=(t.left+t.right)/2-_;else if(It(r)){const ct=Object.keys(r)[0],pt=r[ct];L=this.chart.scales[ct].getPixelForValue(pt)}F=this._getYAxisLabelAlignment(g).textAlign}e==="y"&&(u==="start"?Q="top":u==="end"&&(Q="bottom"));const lt=this._getLabelSizes();for(C=0,A=l.length;C<A;++C){z=l[C],I=z.label;const ct=s.setContext(this.getContext(C));M=this.getPixelForTick(C)+s.labelOffset,T=this._resolveTickFontOptions(C),O=T.lineHeight,E=qt(I)?I.length:1;const pt=E/2,dt=ct.color,gt=ct.textStrokeColor,rt=ct.textStrokeWidth;let ft=F;a?(L=M,F==="inner"&&(C===A-1?ft=this.options.reverse?"left":"right":C===0?ft=this.options.reverse?"right":"left":ft="center"),r==="top"?d==="near"||w!==0?$=-E*O+O/2:d==="center"?$=-lt.highest.height/2-pt*O+O:$=-lt.highest.height+O/2:d==="near"||w!==0?$=O/2:d==="center"?$=lt.highest.height/2-pt*O:$=lt.highest.height-E*O,m&&($*=-1),w!==0&&!ct.showLabelBackdrop&&(L+=O/2*Math.sin(w))):(B=M,$=(1-E)*O/2);let j;if(ct.showLabelBackdrop){const N=ve(ct.backdropPadding),W=lt.heights[C],it=lt.widths[C];let ot=$-N.top,K=0-N.left;switch(Q){case"middle":ot-=W/2;break;case"bottom":ot-=W;break}switch(F){case"center":K-=it/2;break;case"right":K-=it;break;case"inner":C===A-1?K-=it:C>0&&(K-=it/2);break}j={left:K,top:ot,width:it+N.width,height:W+N.height,color:ct.backdropColor}}v.push({label:I,font:T,textOffset:$,options:{rotation:w,color:dt,strokeColor:gt,strokeWidth:rt,textAlign:ft,textBaseline:Q,translation:[L,B],backdrop:j}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-we(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=this._getLabelSizes(),l=t+s,u=a.widest.width;let d,f;return e==="left"?r?(f=this.right+s,i==="near"?d="left":i==="center"?(d="center",f+=u/2):(d="right",f+=u)):(f=this.right-l,i==="near"?d="right":i==="center"?(d="center",f-=u/2):(d="left",f=this.left)):e==="right"?r?(f=this.left+s,i==="near"?d="right":i==="center"?(d="center",f-=u/2):(d="left",f-=u)):(f=this.left+l,i==="near"?d="left":i==="center"?(d="center",f+=u/2):(d="right",f=this.right)):d="right",{textAlign:d,x:f}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:s,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,s,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(s=>s.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,a;const l=(u,d,f)=>{!f.width||!f.color||(i.save(),i.lineWidth=f.width,i.strokeStyle=f.color,i.setLineDash(f.borderDash||[]),i.lineDashOffset=f.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(s=0,a=r.length;s<a;++s){const u=r[s];e.drawOnChartArea&&l({x:u.x1,y:u.y1},{x:u.x2,y:u.y2},u),e.drawTicks&&l({x:u.tx1,y:u.ty1},{x:u.tx2,y:u.ty2},{color:u.tickColor,width:u.tickWidth,borderDash:u.tickBorderDash,borderDashOffset:u.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:r}}=this,s=i.setContext(this.getContext()),a=i.display?s.width:0;if(!a)return;const l=r.setContext(this.getContext(0)).lineWidth,u=this._borderValue;let d,f,m,g;this.isHorizontal()?(d=lr(t,this.left,a)-a/2,f=lr(t,this.right,l)+l/2,m=g=u):(m=lr(t,this.top,a)-a/2,g=lr(t,this.bottom,l)+l/2,d=f=u),e.save(),e.lineWidth=s.width,e.strokeStyle=s.color,e.beginPath(),e.moveTo(d,m),e.lineTo(f,g),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&Gs(i,r);const s=this.getLabelItems(t);for(const a of s){const l=a.options,u=a.font,d=a.label,f=a.textOffset;cr(i,d,0,f,u,l)}r&&Ks(i)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:r}}=this;if(!i.display)return;const s=le(i.font),a=ve(i.padding),l=i.align;let u=s.lineHeight/2;e==="bottom"||e==="center"||It(e)?(u+=a.bottom,qt(i.text)&&(u+=s.lineHeight*(i.text.length-1))):u+=a.top;const{titleX:d,titleY:f,maxWidth:m,rotation:g}=gC(this,u,e,l);cr(t,i.text,0,0,s,{color:i.color,maxWidth:m,rotation:g,textAlign:mC(l,e,r),textBaseline:"middle",translation:[d,f]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=Ct(t.grid&&t.grid.z,-1),r=Ct(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==hr.prototype.draw?[{z:e,draw:s=>{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,a;for(s=0,a=e.length;s<a;++s){const l=e[s];l[i]===this.id&&(!t||l.type===t)&&r.push(l)}return r}_resolveTickFontOptions(t){const e=this.options.ticks.setContext(this.getContext(t));return le(e.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class La{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;bC(e)&&(i=this.register(e));const r=this.items,s=t.id,a=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+t);return s in r||(r[s]=t,yC(t,a,i),this.override&&se.override(t.id,t.overrides)),a}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,r=this.scope;i in e&&delete e[i],r&&i in se[r]&&(delete se[r][i],this.override&&delete ar[i])}}function yC(n,t,e){const i=Hs(Object.create(null),[e?se.get(e):{},se.get(t),n.defaults]);se.set(t,i),n.defaultRoutes&&_C(t,n.defaultRoutes),n.descriptors&&se.describe(t,n.descriptors)}function _C(n,t){Object.keys(t).forEach(e=>{const i=e.split("."),r=i.pop(),s=[n].concat(i).join("."),a=t[e].split("."),l=a.pop(),u=a.join(".");se.route(s,r,u,l)})}function bC(n){return"id"in n&&"defaults"in n}class xC{constructor(){this.controllers=new La(Ii,"datasets",!0),this.elements=new La(Ve,"elements"),this.plugins=new La(Object,"plugins"),this.scales=new La(hr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):Jt(r,a=>{const l=i||this._getRegistryForType(a);this._exec(t,l,a)})})}_exec(t,e,i){const r=Vc(t);Qt(i["before"+r],[],i),e[t](i),Qt(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const r=e.get(t);if(r===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return r}}var jn=new xC;class wC{constructor(){this._init=void 0}notify(t,e,i,r){if(e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),this._init===void 0)return;const s=r?this._descriptors(t).filter(r):this._descriptors(t),a=this._notify(s,t,e,i);return e==="afterDestroy"&&(this._notify(s,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),a}_notify(t,e,i,r){r=r||{};for(const s of t){const a=s.plugin,l=a[i],u=[e,r,s.options];if(Qt(l,u,a)===!1&&r.cancelable)return!1}return!0}invalidate(){vt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,r=Ct(i.options&&i.options.plugins,{}),s=vC(i);return r===!1&&!e?[]:TC(t,s,r,e)}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,r=(s,a)=>s.filter(l=>!a.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function vC(n){const t={},e=[],i=Object.keys(jn.plugins.items);for(let s=0;s<i.length;s++)e.push(jn.getPlugin(i[s]));const r=n.plugins||[];for(let s=0;s<r.length;s++){const a=r[s];e.indexOf(a)===-1&&(e.push(a),t[a.id]=!0)}return{plugins:e,localIds:t}}function SC(n,t){return!t&&n===!1?null:n===!0?{}:n}function TC(n,{plugins:t,localIds:e},i,r){const s=[],a=n.getContext();for(const l of t){const u=l.id,d=SC(i[u],r);d!==null&&s.push({plugin:l,options:MC(n.config,{plugin:l,local:e[u]},d,a)})}return s}function MC(n,{plugin:t,local:e},i,r){const s=n.pluginScopeKeys(t),a=n.getOptionScopes(i,s);return e&&t.defaults&&a.push(t.defaults),n.createResolver(a,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function mu(n,t){const e=se.datasets[n]||{};return((t.datasets||{})[n]||{}).indexAxis||t.indexAxis||e.indexAxis||"x"}function kC(n,t){let e=n;return n==="_index_"?e=t:n==="_value_"&&(e=t==="x"?"y":"x"),e}function DC(n,t){return n===t?"_index_":"_value_"}function jm(n){if(n==="x"||n==="y"||n==="r")return n}function CC(n){if(n==="top"||n==="bottom")return"x";if(n==="left"||n==="right")return"y"}function gu(n,...t){if(jm(n))return n;for(const e of t){const i=e.axis||CC(e.position)||n.length>1&&jm(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function Gm(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function OC(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return Gm(n,"x",e[0])||Gm(n,"y",e[0])}return{}}function AC(n,t){const e=ar[n.type]||{scales:{}},i=t.scales||{},r=mu(n.type,t),s=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!It(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const u=gu(a,l,OC(a,n),se.scales[l.type]),d=DC(u,r),f=e.scales||{};s[a]=Ws(Object.create(null),[{axis:u},l,f[u],f[d]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,u=a.indexAxis||mu(l,t),f=(ar[l]||{}).scales||{};Object.keys(f).forEach(m=>{const g=kC(m,u),_=a[g+"AxisID"]||g;s[_]=s[_]||Object.create(null),Ws(s[_],[{axis:g},i[_],f[m]])})}),Object.keys(s).forEach(a=>{const l=s[a];Ws(l,[se.scales[l.type],se.scale])}),s}function Km(n){const t=n.options||(n.options={});t.plugins=Ct(t.plugins,{}),t.scales=AC(n,t)}function Xm(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function RC(n){return n=n||{},n.data=Xm(n.data),Km(n),n}const Zm=new Map,Qm=new Set;function Na(n,t){let e=Zm.get(n);return e||(e=t(),Zm.set(n,e),Qm.add(e)),e}const so=(n,t,e)=>{const i=Di(t,e);i!==void 0&&n.add(i)};class EC{constructor(t){this._config=RC(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Xm(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Km(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Na(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Na(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Na(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return Na(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:s}=this,a=this._cachedScopes(t,i),l=a.get(e);if(l)return l;const u=new Set;e.forEach(f=>{t&&(u.add(t),f.forEach(m=>so(u,t,m))),f.forEach(m=>so(u,r,m)),f.forEach(m=>so(u,ar[s]||{},m)),f.forEach(m=>so(u,se,m)),f.forEach(m=>so(u,Xc,m))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),Qm.has(e)&&a.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,ar[e]||{},se.datasets[e]||{},{type:e},se,Xc]}resolveNamedOptions(t,e,i,r=[""]){const s={$shared:!0},{resolver:a,subPrefixes:l}=Jm(this._resolverCache,t,r);let u=a;if(IC(a,e)){s.$shared=!1,i=sn(i)?i():i;const d=this.createResolver(t,i,l);u=Yr(a,i,d)}for(const d of e)s[d]=u[d];return s}createResolver(t,e,i=[""],r){const{resolver:s}=Jm(this._resolverCache,t,i);return It(e)?Yr(s,e,void 0,r):s}}function Jm(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let s=i.get(r);return s||(s={resolver:tu(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const PC=n=>It(n)&&Object.getOwnPropertyNames(n).some(t=>sn(n[t]));function IC(n,t){const{isScriptable:e,isIndexable:i}=Zp(n);for(const r of t){const s=e(r),a=i(r),l=(a||s)&&n[r];if(s&&(sn(l)||PC(l))||a&&qt(l))return!0}return!1}var LC="4.5.1";const NC=["top","bottom","left","right","chartArea"];function tg(n,t){return n==="top"||n==="bottom"||NC.indexOf(n)===-1&&t==="x"}function eg(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function ng(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),Qt(e&&e.onComplete,[n],t)}function BC(n){const t=n.chart,e=t.options.animation;Qt(e&&e.onProgress,[n],t)}function ig(n){return iu()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const Ba={},rg=n=>{const t=ig(n);return Object.values(Ba).filter(e=>e.canvas===t).pop()};function FC(n,t,e){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=t){const a=n[r];delete n[r],(e>0||s>t)&&(n[s+e]=a)}}}function zC(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}let on=class{static defaults=se;static instances=Ba;static overrides=ar;static registry=jn;static version=LC;static getChart=rg;static register(...t){jn.add(...t),sg()}static unregister(...t){jn.remove(...t),sg()}constructor(t,e){const i=this.config=new EC(e),r=ig(t),s=rg(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||iC(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,a.aspectRatio),u=l&&l.canvas,d=u&&u.height,f=u&&u.width;if(this.id=UM(),this.ctx=l,this.canvas=u,this.width=f,this.height=d,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new wC,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=nk(m=>this.update(m),a.resizeDelay||0),this._dataChanges=[],Ba[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}li.listen(this,"complete",ng),li.listen(this,"progress",BC),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:s}=this;return vt(t)?e&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return jn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():sm(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Gp(this.canvas,this.ctx),this}stop(){return li.stop(this),this}resize(t,e){li.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,t,e,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,sm(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),Qt(i.onResize,[this,a],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Jt(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((a,l)=>(a[l]=!1,a),{});let s=[];e&&(s=s.concat(Object.keys(e).map(a=>{const l=e[a],u=gu(a,l),d=u==="r",f=u==="x";return{options:l,dposition:d?"chartArea":f?"bottom":"left",dtype:d?"radialLinear":f?"category":"linear"}}))),Jt(s,a=>{const l=a.options,u=l.id,d=gu(u,l),f=Ct(l.type,a.dtype);(l.position===void 0||tg(l.position,d)!==tg(a.dposition))&&(l.position=a.dposition),r[u]=!0;let m=null;if(u in i&&i[u].type===f)m=i[u];else{const g=jn.getScale(f);m=new g({id:u,type:f,ctx:this.ctx,chart:this}),i[m.id]=m}m.init(l,t)}),Jt(r,(a,l)=>{a||delete i[l]}),Jt(i,a=>{$e.configure(this,a,a.options),$e.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>e){for(let r=e;r<i;++r)this._destroyDatasetMeta(r);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(eg("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i<r;i++){const s=e[i];let a=this.getDatasetMeta(i);const l=s.type||this.config.type;if(a.type&&a.type!==l&&(this._destroyDatasetMeta(i),a=this.getDatasetMeta(i)),a.type=l,a.indexAxis=s.indexAxis||mu(l,this.options),a.order=s.order||0,a.index=i,a.label=""+s.label,a.visible=this.isDatasetVisible(i),a.controller)a.controller.updateIndex(i),a.controller.linkScales();else{const u=jn.getController(l),{datasetElementType:d,dataElementType:f}=se.datasets[l];Object.assign(u,{dataElementType:jn.getElement(f),datasetElementType:d&&jn.getElement(d)}),a.controller=new u(this,i),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){Jt(this.data.datasets,(t,e)=>{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let d=0,f=this.data.datasets.length;d<f;d++){const{controller:m}=this.getDatasetMeta(d),g=!r&&s.indexOf(m)===-1;m.buildOrUpdateElements(g),a=Math.max(+m.getMaxOverflow(),a)}a=this._minPadding=i.layout.autoPadding?a:0,this._updateLayout(a),r||Jt(s,d=>{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(eg("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){Jt(this.scales,t=>{$e.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pp(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of e){const a=i==="_removeElements"?-s:s;FC(t,r,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=s=>new Set(t.filter(a=>a[0]===s).map((a,l)=>l+","+a.splice(1).join(","))),r=i(0);for(let s=1;s<e;s++)if(!Pp(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;$e.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],Jt(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e<i;++e)this.getDatasetMeta(e).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,sn(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),r={meta:i,index:t,mode:e,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",r)!==!1&&(i.controller._update(e),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(li.has(this)?this.attached&&!li.running(this)&&li.start(this):(this.draw(),ng({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,r)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let r,s;for(r=0,s=e.length;r<s;++r){const a=e[r];(!t||a.visible)&&i.push(a)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},r=mm(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(r&&Gs(e,r),t.controller.draw(),r&&Ks(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return ai(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const s=hu.modes[e];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Ri(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),a=s.controller._resolveAnimations(void 0,r);rn(e)?(s.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),a.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),li.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Gp(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Ba[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(s,a)=>{e.addEventListener(this,s,a),t[s]=a},r=(s,a,l)=>{s.offsetX=a,s.offsetY=l,this._eventHandler(s)};Jt(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},s=(u,d)=>{this.canvas&&this.resize(u,d)};let a;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",a)};a=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():a()}unbindEvents(){Jt(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},Jt(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let s,a,l,u;for(e==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l<u;++l){a=t[l];const d=a&&this.getDatasetMeta(a.datasetIndex).controller;d&&d[r+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map(({datasetIndex:s,index:a})=>{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[a],index:a}});!ya(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,s=(u,d)=>u.filter(f=>!d.some(m=>f.datasetIndex===m.datasetIndex&&f.index===m.index)),a=s(e,t),l=i?t:s(t,e);a.length&&this.updateHoverStyle(a,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:s}=this,a=e,l=this._getActiveElements(t,r,i,a),u=qM(t),d=zC(t,this._lastEvent,i,u);i&&(this._lastEvent=null,Qt(s.onHover,[t,l,this],this),u&&Qt(s.onClick,[t,l,this],this));const f=!ya(l,r);return(f||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,f}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}};function sg(){return Jt(on.instances,n=>n._plugins.invalidate())}function UC(n,t,e){const{startAngle:i,x:r,y:s,outerRadius:a,innerRadius:l,options:u}=t,{borderWidth:d,borderJoinStyle:f}=u,m=Math.min(d/a,He(i-e));if(n.beginPath(),n.arc(r,s,a-d/2,i+m/2,e-m/2),l>0){const g=Math.min(d/l,He(i-e));n.arc(r,s,l+d/2,e-g/2,i+g/2,!0)}else{const g=Math.min(d/2,a*He(i-e));if(f==="round")n.arc(r,s,g,e-Et/2,i+Et/2,!0);else if(f==="bevel"){const _=2*g*g,x=-_*Math.cos(e+Et/2)+r,w=-_*Math.sin(e+Et/2)+s,v=_*Math.cos(i+Et/2)+r,C=_*Math.sin(i+Et/2)+s;n.lineTo(x,w),n.lineTo(v,C)}}n.closePath(),n.moveTo(0,0),n.rect(0,0,n.canvas.width,n.canvas.height),n.clip("evenodd")}function HC(n,t,e){const{startAngle:i,pixelMargin:r,x:s,y:a,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(s,a,l,i-d,e+d),u>r?(d=r/u,n.arc(s,a,u,e+d,i-d,!0)):n.arc(s,a,r,e+re,i-re),n.closePath(),n.clip()}function WC(n){return Jc(n,["outerStart","outerEnd","innerStart","innerEnd"])}function $C(n,t,e,i){const r=WC(n.options.borderRadius),s=(e-t)/2,a=Math.min(s,i*t/2),l=u=>{const d=(e-Math.min(s,u))*i/2;return Oe(u,0,Math.min(s,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:Oe(r.innerStart,0,a),innerEnd:Oe(r.innerEnd,0,a)}}function Gr(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function Fa(n,t,e,i,r,s){const{x:a,y:l,startAngle:u,pixelMargin:d,innerRadius:f}=t,m=Math.max(t.outerRadius+i+e-d,0),g=f>0?f+i+e+d:0;let _=0;const x=r-u;if(i){const ct=f>0?f-i:0,pt=m>0?m-i:0,dt=(ct+pt)/2,gt=dt!==0?x*dt/(dt+i):x;_=(x-gt)/2}const w=Math.max(.001,x*m-e/Et)/m,v=(x-w)/2,C=u+v+_,A=r-v-_,{outerStart:z,outerEnd:I,innerStart:L,innerEnd:B}=$C(t,g,m,A-C),F=m-z,M=m-I,T=C+z/F,O=A-I/M,E=g+L,$=g+B,Q=C+L/E,lt=A-B/$;if(n.beginPath(),s){const ct=(T+O)/2;if(n.arc(a,l,m,T,ct),n.arc(a,l,m,ct,O),I>0){const rt=Gr(M,O,a,l);n.arc(rt.x,rt.y,I,O,A+re)}const pt=Gr($,A,a,l);if(n.lineTo(pt.x,pt.y),B>0){const rt=Gr($,lt,a,l);n.arc(rt.x,rt.y,B,A+re,lt+Math.PI)}const dt=(A-B/g+(C+L/g))/2;if(n.arc(a,l,g,A-B/g,dt,!0),n.arc(a,l,g,dt,C+L/g,!0),L>0){const rt=Gr(E,Q,a,l);n.arc(rt.x,rt.y,L,Q+Math.PI,C-re)}const gt=Gr(F,C,a,l);if(n.lineTo(gt.x,gt.y),z>0){const rt=Gr(F,T,a,l);n.arc(rt.x,rt.y,z,C-re,T)}}else{n.moveTo(a,l);const ct=Math.cos(T)*m+a,pt=Math.sin(T)*m+l;n.lineTo(ct,pt);const dt=Math.cos(O)*m+a,gt=Math.sin(O)*m+l;n.lineTo(dt,gt)}n.closePath()}function VC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l}=t;let u=t.endAngle;if(s){Fa(n,t,e,i,u,r);for(let d=0;d<s;++d)n.fill();isNaN(l)||(u=a+(l%te||te))}return Fa(n,t,e,i,u,r),n.fill(),u}function YC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l,options:u}=t,{borderWidth:d,borderJoinStyle:f,borderDash:m,borderDashOffset:g,borderRadius:_}=u,x=u.borderAlign==="inner";if(!d)return;n.setLineDash(m||[]),n.lineDashOffset=g,x?(n.lineWidth=d*2,n.lineJoin=f||"round"):(n.lineWidth=d,n.lineJoin=f||"bevel");let w=t.endAngle;if(s){Fa(n,t,e,i,w,r);for(let v=0;v<s;++v)n.stroke();isNaN(l)||(w=a+(l%te||te))}x&&HC(n,t,w),u.selfJoin&&w-a>=Et&&_===0&&f!=="miter"&&UC(n,t,w),s||(Fa(n,t,e,i,w,r),n.stroke())}class qC extends Ve{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.getProps(["x","y"],i),{angle:s,distance:a}=va(r,{x:t,y:e}),{startAngle:l,endAngle:u,innerRadius:d,outerRadius:f,circumference:m}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),g=(this.options.spacing+this.options.borderWidth)/2,_=Ct(m,u-l),x=Vs(s,l,u)&&l!==u,w=_>=te||x,v=si(a,d+g,f+g);return w&&v}getCenterPoint(t){const{x:e,y:i,startAngle:r,endAngle:s,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:u,spacing:d}=this.options,f=(r+s)/2,m=(a+l+d+u)/2;return{x:e+Math.cos(f)*m,y:i+Math.sin(f)*m}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,r=(e.offset||0)/4,s=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>te?Math.floor(i/te):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const l=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(l)*r,Math.sin(l)*r);const u=1-Math.sin(Math.min(Et,i||0)),d=r*u;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,VC(t,this,d,s,a),YC(t,this,d,s,a),t.restore()}}function og(n,t,e=t){n.lineCap=Ct(e.borderCapStyle,t.borderCapStyle),n.setLineDash(Ct(e.borderDash,t.borderDash)),n.lineDashOffset=Ct(e.borderDashOffset,t.borderDashOffset),n.lineJoin=Ct(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=Ct(e.borderWidth,t.borderWidth),n.strokeStyle=Ct(e.borderColor,t.borderColor)}function jC(n,t,e){n.lineTo(e.x,e.y)}function GC(n){return n.stepped?pk:n.tension||n.cubicInterpolationMode==="monotone"?mk:jC}function ag(n,t,e={}){const i=n.length,{start:r=0,end:s=i-1}=e,{start:a,end:l}=t,u=Math.max(r,a),d=Math.min(s,l),f=r<a&&s<a||r>l&&s>l;return{count:i,start:u,loop:t.loop,ilen:d<u&&!f?i+d-u:d-u}}function KC(n,t,e,i){const{points:r,options:s}=t,{count:a,start:l,loop:u,ilen:d}=ag(r,e,i),f=GC(s);let{move:m=!0,reverse:g}=i||{},_,x,w;for(_=0;_<=d;++_)x=r[(l+(g?d-_:_))%a],!x.skip&&(m?(n.moveTo(x.x,x.y),m=!1):f(n,w,x,g,s.stepped),w=x);return u&&(x=r[(l+(g?d:0))%a],f(n,w,x,g,s.stepped)),!!u}function XC(n,t,e,i){const r=t.points,{count:s,start:a,ilen:l}=ag(r,e,i),{move:u=!0,reverse:d}=i||{};let f=0,m=0,g,_,x,w,v,C;const A=I=>(a+(d?l-I:I))%s,z=()=>{w!==v&&(n.lineTo(f,v),n.lineTo(f,w),n.lineTo(f,C))};for(u&&(_=r[A(0)],n.moveTo(_.x,_.y)),g=0;g<=l;++g){if(_=r[A(g)],_.skip)continue;const I=_.x,L=_.y,B=I|0;B===x?(L<w?w=L:L>v&&(v=L),f=(m*f+I)/++m):(z(),n.lineTo(I,L),x=B,m=0,w=v=L),C=L}z()}function yu(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?XC:KC}function ZC(n){return n.stepped?jk:n.tension||n.cubicInterpolationMode==="monotone"?Gk:dr}function QC(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),og(n,t.options),n.stroke(r)}function JC(n,t,e,i){const{segments:r,options:s}=t,a=yu(t);for(const l of r)og(n,s,l.style),n.beginPath(),a(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const tO=typeof Path2D=="function";function eO(n,t,e,i){tO&&!t.options.segment?QC(n,t,e,i):JC(n,t,e,i)}class za extends Ve{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;zk(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=tD(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],s=this.points,a=fm(this,{property:e,start:r,end:r});if(!a.length)return;const l=[],u=ZC(i);let d,f;for(d=0,f=a.length;d<f;++d){const{start:m,end:g}=a[d],_=s[m],x=s[g];if(_===x){l.push(_);continue}const w=Math.abs((r-_[e])/(x[e]-_[e])),v=u(_,x,w,i.stepped);v[e]=t[e],l.push(v)}return l.length===1?l[0]:l}pathSegment(t,e,i){return yu(this)(t,this,e,i)}path(t,e,i){const r=this.segments,s=yu(this);let a=this._loop;e=e||0,i=i||this.points.length-e;for(const l of r)a&=s(t,this,l,{start:e,end:e+i-1});return!!a}draw(t,e,i,r){const s=this.options||{};(this.points||[]).length&&s.borderWidth&&(t.save(),eO(t,this,i,r),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function lg(n,t,e,i){const r=n.options,{[e]:s}=n.getProps([e],i);return Math.abs(t-s)<r.radius+r.hitRadius}class nO extends Ve{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.options,{x:s,y:a}=this.getProps(["x","y"],i);return Math.pow(t-s,2)+Math.pow(e-a,2)<Math.pow(r.hitRadius+r.radius,2)}inXRange(t,e){return lg(this,t,"x",e)}inYRange(t,e){return lg(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){t=t||this.options||{};let e=t.radius||0;e=Math.max(e,e&&t.hoverRadius||0);const i=e&&t.borderWidth||0;return(e+i)*2}draw(t,e){const i=this.options;this.skip||i.radius<.1||!ai(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Qc(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function cg(n,t){const{x:e,y:i,base:r,width:s,height:a}=n.getProps(["x","y","base","width","height"],t);let l,u,d,f,m;return n.horizontal?(m=a/2,l=Math.min(e,r),u=Math.max(e,r),d=i-m,f=i+m):(m=s/2,l=e-m,u=e+m,d=Math.min(i,r),f=Math.max(i,r)),{left:l,top:d,right:u,bottom:f}}function Li(n,t,e,i){return n?0:Oe(t,e,i)}function iO(n,t,e){const i=n.options.borderWidth,r=n.borderSkipped,s=Xp(i);return{t:Li(r.top,s.top,0,e),r:Li(r.right,s.right,0,t),b:Li(r.bottom,s.bottom,0,e),l:Li(r.left,s.left,0,t)}}function rO(n,t,e){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=Ai(r),a=Math.min(t,e),l=n.borderSkipped,u=i||It(r);return{topLeft:Li(!u||l.top||l.left,s.topLeft,0,a),topRight:Li(!u||l.top||l.right,s.topRight,0,a),bottomLeft:Li(!u||l.bottom||l.left,s.bottomLeft,0,a),bottomRight:Li(!u||l.bottom||l.right,s.bottomRight,0,a)}}function sO(n){const t=cg(n),e=t.right-t.left,i=t.bottom-t.top,r=iO(n,e/2,i/2),s=rO(n,e/2,i/2);return{outer:{x:t.left,y:t.top,w:e,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:e-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function _u(n,t,e,i){const r=t===null,s=e===null,l=n&&!(r&&s)&&cg(n,i);return l&&(r||si(t,l.left,l.right))&&(s||si(e,l.top,l.bottom))}function oO(n){return n.topLeft||n.topRight||n.bottomLeft||n.bottomRight}function aO(n,t){n.rect(t.x,t.y,t.w,t.h)}function bu(n,t,e={}){const i=n.x!==e.x?-t:0,r=n.y!==e.y?-t:0,s=(n.x+n.w!==e.x+e.w?t:0)-i,a=(n.y+n.h!==e.y+e.h?t:0)-r;return{x:n.x+i,y:n.y+r,w:n.w+s,h:n.h+a,radius:n.radius}}class lO extends Ve{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:a}=sO(this),l=oO(a.radius)?Vr:aO;t.save(),(a.w!==s.w||a.h!==s.h)&&(t.beginPath(),l(t,bu(a,e,s)),t.clip(),l(t,bu(s,-e,a)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,bu(s,e)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,e,i){return _u(this,t,e,i)}inXRange(t,e){return _u(this,t,null,e)}inYRange(t,e){return _u(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(e+r)/2:e,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}var cO=Object.freeze({__proto__:null,ArcElement:qC,BarElement:lO,LineElement:za,PointElement:nO});const xu=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],ug=xu.map(n=>n.replace("rgb(","rgba(").replace(")",", 0.5)"));function dg(n){return xu[n%xu.length]}function fg(n){return ug[n%ug.length]}function uO(n,t){return n.borderColor=dg(t),n.backgroundColor=fg(t),++t}function dO(n,t){return n.backgroundColor=n.data.map(()=>dg(t++)),t}function fO(n,t){return n.backgroundColor=n.data.map(()=>fg(t++)),t}function hO(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof Qs?t=dO(e,t):r instanceof Om?t=fO(e,t):r&&(t=uO(e,t))}}function hg(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function pO(n){return n&&(n.borderColor||n.backgroundColor)}function mO(){return se.borderColor!=="rgba(0,0,0,0.1)"||se.backgroundColor!=="rgba(0,0,0,0.1)"}var gO={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:s}=r,a=hg(i)||pO(r)||s&&hg(s)||mO();if(!e.forceOverride&&a)return;const l=hO(n);i.forEach(l)}};function yO(n,t,e,i,r){const s=r.samples||i;if(s>=e)return n.slice(t,t+e);const a=[],l=(e-2)/(s-2);let u=0;const d=t+e-1;let f=t,m,g,_,x,w;for(a[u++]=n[f],m=0;m<s-2;m++){let v=0,C=0,A;const z=Math.floor((m+1)*l)+1+t,I=Math.min(Math.floor((m+2)*l)+1,e)+t,L=I-z;for(A=z;A<I;A++)v+=n[A].x,C+=n[A].y;v/=L,C/=L;const B=Math.floor(m*l)+1+t,F=Math.min(Math.floor((m+1)*l)+1,e)+t,{x:M,y:T}=n[f];for(_=x=-1,A=B;A<F;A++)x=.5*Math.abs((M-v)*(n[A].y-T)-(M-n[A].x)*(C-T)),x>_&&(_=x,g=n[A],w=A);a[u++]=g,f=w}return a[u++]=n[d],a}function _O(n,t,e,i){let r=0,s=0,a,l,u,d,f,m,g,_,x,w;const v=[],C=t+e-1,A=n[t].x,I=n[C].x-A;for(a=t;a<t+e;++a){l=n[a],u=(l.x-A)/I*i,d=l.y;const L=u|0;if(L===f)d<x?(x=d,m=a):d>w&&(w=d,g=a),r=(s*r+l.x)/++s;else{const B=a-1;if(!vt(m)&&!vt(g)){const F=Math.min(m,g),M=Math.max(m,g);F!==_&&F!==B&&v.push({...n[F],x:r}),M!==_&&M!==B&&v.push({...n[M],x:r})}a>0&&B!==_&&v.push(n[B]),v.push(l),f=L,s=0,x=w=d,m=g=_=a}}return v}function pg(n){if(n._decimated){const t=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function mg(n){n.data.datasets.forEach(t=>{pg(t)})}function bO(n,t){const e=t.length;let i=0,r;const{iScale:s}=n,{min:a,max:l,minDefined:u,maxDefined:d}=s.getUserBounds();return u&&(i=Oe(oi(t,s.axis,a).lo,0,e-1)),d?r=Oe(oi(t,s.axis,l).hi+1,i,e)-i:r=e-i,{start:i,count:r}}var xO={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,t,e)=>{if(!e.enabled){mg(n);return}const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:a,indexAxis:l}=r,u=n.getDatasetMeta(s),d=a||r.data;if(Xs([l,n.options.indexAxis])==="y"||!u.controller.supportsDecimation)return;const f=n.scales[u.xAxisID];if(f.type!=="linear"&&f.type!=="time"||n.options.parsing)return;let{start:m,count:g}=bO(u,d);const _=e.threshold||4*i;if(g<=_){pg(r);return}vt(a)&&(r._data=d,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(w){this._data=w}}));let x;switch(e.algorithm){case"lttb":x=yO(d,m,g,i,e);break;case"min-max":x=_O(d,m,g,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}r._decimated=x})},destroy(n){mg(n)}};function wO(n,t,e){const i=n.segments,r=n.points,s=t.points,a=[];for(const l of i){let{start:u,end:d}=l;d=Ua(u,d,r);const f=wu(e,r[u],r[d],l.loop);if(!t.segments){a.push({source:l,target:f,start:r[u],end:r[d]});continue}const m=fm(t,f);for(const g of m){const _=wu(e,s[g.start],s[g.end],g.loop),x=dm(l,r,_);for(const w of x)a.push({source:w,target:g,start:{[e]:gg(f,_,"start",Math.max)},end:{[e]:gg(f,_,"end",Math.min)}})}}return a}function wu(n,t,e,i){if(i)return;let r=t[n],s=e[n];return n==="angle"&&(r=He(r),s=He(s)),{property:n,start:r,end:s}}function vO(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,s=[];return t.segments.forEach(({start:a,end:l})=>{l=Ua(a,l,r);const u=r[a],d=r[l];i!==null?(s.push({x:u.x,y:i}),s.push({x:d.x,y:i})):e!==null&&(s.push({x:e,y:u.y}),s.push({x:e,y:d.y}))}),s}function Ua(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function gg(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function yg(n,t){let e=[],i=!1;return qt(n)?(i=!0,e=n):e=vO(n,t),e.length?new za({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function _g(n){return n&&n.fill!==!1}function SO(n,t,e){let r=n[t].fill;const s=[t];let a;if(!e)return r;for(;r!==!1&&s.indexOf(r)===-1;){if(!ae(r))return r;if(a=n[r],!a)return!1;if(a.visible)return r;s.push(r),r=a.fill}return!1}function TO(n,t,e){const i=CO(n);if(It(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return ae(r)&&Math.floor(r)===r?MO(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function MO(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function kO(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:It(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function DO(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:It(n)?i=n.value:i=t.getBaseValue(),i}function CO(n){const t=n.options,e=t.fill;let i=Ct(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function OO(n){const{scale:t,index:e,line:i}=n,r=[],s=i.segments,a=i.points,l=AO(t,e);l.push(yg({x:null,y:t.bottom},i));for(let u=0;u<s.length;u++){const d=s[u];for(let f=d.start;f<=d.end;f++)RO(r,a[f],l)}return new za({points:r,options:{}})}function AO(n,t){const e=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===t)break;s.hidden||e.unshift(s.dataset)}return e}function RO(n,t,e){const i=[];for(let r=0;r<e.length;r++){const s=e[r],{first:a,last:l,point:u}=EO(s,t,"x");if(!(!u||a&&l)){if(a)i.unshift(u);else if(n.push(u),!l)break}}n.push(...i)}function EO(n,t,e){const i=n.interpolate(t,e);if(!i)return{};const r=i[e],s=n.segments,a=n.points;let l=!1,u=!1;for(let d=0;d<s.length;d++){const f=s[d],m=a[f.start][e],g=a[f.end][e];if(si(r,m,g)){l=r===m,u=r===g;break}}return{first:l,last:u,point:i}}class bg{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:r,y:s,radius:a}=this;return e=e||{start:0,end:te},t.arc(r,s,a,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:r}=this,s=t.angle;return{x:e+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function PO(n){const{chart:t,fill:e,line:i}=n;if(ae(e))return IO(t,e);if(e==="stack")return OO(n);if(e==="shape")return!0;const r=LO(n);return r instanceof bg?r:yg(r,i)}function IO(n,t){const e=n.getDatasetMeta(t);return e&&n.isDatasetVisible(t)?e.dataset:null}function LO(n){return(n.scale||{}).getPointPositionForValue?BO(n):NO(n)}function NO(n){const{scale:t={},fill:e}=n,i=kO(e,t);if(ae(i)){const r=t.isHorizontal();return{x:r?i:null,y:r?null:i}}return null}function BO(n){const{scale:t,fill:e}=n,i=t.options,r=t.getLabels().length,s=i.reverse?t.max:t.min,a=DO(e,t,s),l=[];if(i.grid.circular){const u=t.getPointPositionForValue(0,s);return new bg({x:u.x,y:u.y,radius:t.getDistanceFromCenterForValue(a)})}for(let u=0;u<r;++u)l.push(t.getPointPositionForValue(u,a));return l}function vu(n,t,e){const i=PO(t),{chart:r,index:s,line:a,scale:l,axis:u}=t,d=a.options,f=d.fill,m=d.backgroundColor,{above:g=m,below:_=m}=f||{},x=r.getDatasetMeta(s),w=mm(r,x);i&&a.points.length&&(Gs(n,e),FO(n,{line:a,target:i,above:g,below:_,area:e,scale:l,axis:u,clip:w}),Ks(n))}function FO(n,t){const{line:e,target:i,above:r,below:s,area:a,scale:l,clip:u}=t,d=e._loop?"angle":t.axis;n.save();let f=s;s!==r&&(d==="x"?(xg(n,i,a.top),Su(n,{line:e,target:i,color:r,scale:l,property:d,clip:u}),n.restore(),n.save(),xg(n,i,a.bottom)):d==="y"&&(wg(n,i,a.left),Su(n,{line:e,target:i,color:s,scale:l,property:d,clip:u}),n.restore(),n.save(),wg(n,i,a.right),f=r)),Su(n,{line:e,target:i,color:f,scale:l,property:d,clip:u}),n.restore()}function xg(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,f=r[u],m=r[Ua(u,d,r)];s?(n.moveTo(f.x,f.y),s=!1):(n.lineTo(f.x,e),n.lineTo(f.x,f.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(m.x,e)}n.lineTo(t.first().x,e),n.closePath(),n.clip()}function wg(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,f=r[u],m=r[Ua(u,d,r)];s?(n.moveTo(f.x,f.y),s=!1):(n.lineTo(e,f.y),n.lineTo(f.x,f.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(e,m.y)}n.lineTo(e,t.first().y),n.closePath(),n.clip()}function Su(n,t){const{line:e,target:i,property:r,color:s,scale:a,clip:l}=t,u=wO(e,i,r);for(const{source:d,target:f,start:m,end:g}of u){const{style:{backgroundColor:_=s}={}}=d,x=i!==!0;n.save(),n.fillStyle=_,zO(n,a,l,x&&wu(r,m,g)),n.beginPath();const w=!!e.pathSegment(n,d);let v;if(x){w?n.closePath():vg(n,i,g,r);const C=!!i.pathSegment(n,f,{move:w,reverse:!0});v=w&&C,v||vg(n,i,m,r)}n.closePath(),n.fill(v?"evenodd":"nonzero"),n.restore()}}function zO(n,t,e,i){const r=t.chart.chartArea,{property:s,start:a,end:l}=i||{};if(s==="x"||s==="y"){let u,d,f,m;s==="x"?(u=a,d=r.top,f=l,m=r.bottom):(u=r.left,d=a,f=r.right,m=l),n.beginPath(),e&&(u=Math.max(u,e.left),f=Math.min(f,e.right),d=Math.max(d,e.top),m=Math.min(m,e.bottom)),n.rect(u,d,f-u,m-d),n.clip()}}function vg(n,t,e,i){const r=t.interpolate(e,i);r&&n.lineTo(r.x,r.y)}var UO={id:"filler",afterDatasetsUpdate(n,t,e){const i=(n.data.datasets||[]).length,r=[];let s,a,l,u;for(a=0;a<i;++a)s=n.getDatasetMeta(a),l=s.dataset,u=null,l&&l.options&&l instanceof za&&(u={visible:n.isDatasetVisible(a),index:a,fill:TO(l,a,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:l}),s.$filler=u,r.push(u);for(a=0;a<i;++a)u=r[a],!(!u||u.fill===!1)&&(u.fill=SO(r,a,e.propagate))},beforeDraw(n,t,e){const i=e.drawTime==="beforeDraw",r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let a=r.length-1;a>=0;--a){const l=r[a].$filler;l&&(l.line.updateControlPoints(s,l.axis),i&&l.fill&&vu(n.ctx,l,s))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;_g(s)&&vu(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!_g(i)||e.drawTime!=="beforeDatasetDraw"||vu(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Sg=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},HO=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class Tg extends Ve{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Qt(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=le(i.font),s=r.size,a=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=Sg(i,s);let d,f;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,f=this._fitRows(a,s,l,u)+10):(f=this.maxHeight,d=this._fitCols(a,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(f,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:s,maxWidth:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],f=r+l;let m=t;s.textAlign="left",s.textBaseline="middle";let g=-1,_=-f;return this.legendItems.forEach((x,w)=>{const v=i+e/2+s.measureText(x.text).width;(w===0||d[d.length-1]+v+2*l>a)&&(m+=f,d[d.length-(w>0?0:1)]=0,_+=f,g++),u[w]={left:0,top:_,row:g,width:v,height:r},d[d.length-1]+=v+l}),m}_fitCols(t,e,i,r){const{ctx:s,maxHeight:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],f=a-t;let m=l,g=0,_=0,x=0,w=0;return this.legendItems.forEach((v,C)=>{const{itemWidth:A,itemHeight:z}=WO(i,e,s,v,r);C>0&&_+z+2*l>f&&(m+=g+l,d.push({width:g,height:_}),x+=g+l,w++,g=_=0),u[C]={left:x,top:_,col:w,width:A,height:z},g=Math.max(g,A),_+=z+l}),m+=g,d.push({width:g,height:_}),m}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:s}}=this,a=jr(s,this.left,this.width);if(this.isHorizontal()){let l=0,u=We(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=We(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=a.leftForLtr(a.x(u),d.width),u+=d.width+r}else{let l=0,u=We(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=We(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=a.leftForLtr(a.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Gs(t,this),this._draw(),Ks(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:s,labels:a}=t,l=se.color,u=jr(t.rtl,this.left,this.width),d=le(a.font),{padding:f}=a,m=d.size,g=m/2;let _;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:x,boxHeight:w,itemHeight:v}=Sg(a,m),C=function(B,F,M){if(isNaN(x)||x<=0||isNaN(w)||w<0)return;r.save();const T=Ct(M.lineWidth,1);if(r.fillStyle=Ct(M.fillStyle,l),r.lineCap=Ct(M.lineCap,"butt"),r.lineDashOffset=Ct(M.lineDashOffset,0),r.lineJoin=Ct(M.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=Ct(M.strokeStyle,l),r.setLineDash(Ct(M.lineDash,[])),a.usePointStyle){const O={radius:w*Math.SQRT2/2,pointStyle:M.pointStyle,rotation:M.rotation,borderWidth:T},E=u.xPlus(B,x/2),$=F+g;Kp(r,O,E,$,a.pointStyleWidth&&x)}else{const O=F+Math.max((m-w)/2,0),E=u.leftForLtr(B,x),$=Ai(M.borderRadius);r.beginPath(),Object.values($).some(Q=>Q!==0)?Vr(r,{x:E,y:O,w:x,h:w,radius:$}):r.rect(E,O,x,w),r.fill(),T!==0&&r.stroke()}r.restore()},A=function(B,F,M){cr(r,M.text,B,F+v/2,d,{strikethrough:M.hidden,textAlign:u.textAlign(M.textAlign)})},z=this.isHorizontal(),I=this._computeTitleHeight();z?_={x:We(s,this.left+f,this.right-i[0]),y:this.top+f+I,line:0}:_={x:this.left+f,y:We(s,this.top+I+f,this.bottom-e[0].height),line:0},am(this.ctx,t.textDirection);const L=v+f;this.legendItems.forEach((B,F)=>{r.strokeStyle=B.fontColor,r.fillStyle=B.fontColor;const M=r.measureText(B.text).width,T=u.textAlign(B.textAlign||(B.textAlign=a.textAlign)),O=x+g+M;let E=_.x,$=_.y;u.setWidth(this.width),z?F>0&&E+O+f>this.right&&($=_.y+=L,_.line++,E=_.x=We(s,this.left+f,this.right-i[_.line])):F>0&&$+L>this.bottom&&(E=_.x=E+e[_.line].width+f,_.line++,$=_.y=We(s,this.top+I+f,this.bottom-e[_.line].height));const Q=u.x(E);if(C(Q,$,B),E=ik(T,E+x+g,z?E+O:this.right,t.rtl),A(u.x(E),$,B),z)_.x+=O+f;else if(typeof B.text!="string"){const lt=d.lineHeight;_.y+=Mg(B,lt)+f}else _.y+=L}),lm(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=le(e.font),r=ve(e.padding);if(!e.display)return;const s=jr(t.rtl,this.left,this.width),a=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let f,m=this.left,g=this.width;if(this.isHorizontal())g=Math.max(...this.lineWidths),f=this.top+d,m=We(t.align,m,this.right-g);else{const x=this.columnSizes.reduce((w,v)=>Math.max(w,v.height),0);f=d+We(t.align,this.top,this.bottom-x-t.labels.padding-this._computeTitleHeight())}const _=We(l,m,m+g);a.textAlign=s.textAlign(jc(l)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=i.string,cr(a,e.text,_,f,i)}_computeTitleHeight(){const t=this.options.title,e=le(t.font),i=ve(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,s;if(si(t,this.left,this.right)&&si(e,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],si(t,r.left,r.left+r.width)&&si(e,r.top,r.top+r.height))return this.legendItems[i]}return null}handleEvent(t){const e=this.options;if(!YO(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const r=this._hoveredItem,s=HO(r,i);r&&!s&&Qt(e.onLeave,[t,r,this],this),this._hoveredItem=i,i&&!s&&Qt(e.onHover,[t,i,this],this)}else i&&Qt(e.onClick,[t,i,this],this)}}function WO(n,t,e,i,r){const s=$O(i,n,t,e),a=VO(r,i,t.lineHeight);return{itemWidth:s,itemHeight:a}}function $O(n,t,e,i){let r=n.text;return r&&typeof r!="string"&&(r=r.reduce((s,a)=>s.length>a.length?s:a)),t+e.size/2+i.measureText(r).width}function VO(n,t,e){let i=n;return typeof t.text!="string"&&(i=Mg(t,e)),i}function Mg(n,t){const e=n.text?n.text.length:0;return t*e}function YO(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var qO={id:"legend",_element:Tg,start(n,t,e){const i=n.legend=new Tg({ctx:n.ctx,options:e,chart:n});$e.configure(n,i,e),$e.addBox(n,i)},stop(n){$e.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;$e.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),f=ve(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:s,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(f.width+f.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:a&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Tu extends Ve{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const r=qt(i.text)?i.text.length:1;this._padding=ve(i.padding);const s=r*le(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:r,right:s,options:a}=this,l=a.align;let u=0,d,f,m;return this.isHorizontal()?(f=We(l,i,s),m=e+t,d=s-i):(a.position==="left"?(f=i+t,m=We(l,r,e),u=Et*-.5):(f=s-t,m=We(l,e,r),u=Et*.5),d=r-e),{titleX:f,titleY:m,maxWidth:d,rotation:u}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=le(e.font),s=i.lineHeight/2+this._padding.top,{titleX:a,titleY:l,maxWidth:u,rotation:d}=this._drawArgs(s);cr(t,e.text,0,0,i,{color:e.color,maxWidth:u,rotation:d,textAlign:jc(e.align),textBaseline:"middle",translation:[a,l]})}}function jO(n,t){const e=new Tu({ctx:n.ctx,options:t,chart:n});$e.configure(n,e,t),$e.addBox(n,e),n.titleBlock=e}var GO={id:"title",_element:Tu,start(n,t,e){jO(n,e)},stop(n){const t=n.titleBlock;$e.removeBox(n,t),delete n.titleBlock},beforeUpdate(n,t,e){const i=n.titleBlock;$e.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ha=new WeakMap;var KO={id:"subtitle",start(n,t,e){const i=new Tu({ctx:n.ctx,options:e,chart:n});$e.configure(n,i,e),$e.addBox(n,i),Ha.set(n,i)},stop(n){$e.removeBox(n,Ha.get(n)),Ha.delete(n)},beforeUpdate(n,t,e){const i=Ha.get(n);$e.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const oo={average(n){if(!n.length)return!1;let t,e,i=new Set,r=0,s=0;for(t=0,e=n.length;t<e;++t){const l=n[t].element;if(l&&l.hasValue()){const u=l.tooltipPosition();i.add(u.x),r+=u.y,++s}}return s===0||i.size===0?!1:{x:[...i].reduce((l,u)=>l+u)/i.size,y:r/s}},nearest(n,t){if(!n.length)return!1;let e=t.x,i=t.y,r=Number.POSITIVE_INFINITY,s,a,l;for(s=0,a=n.length;s<a;++s){const u=n[s].element;if(u&&u.hasValue()){const d=u.getCenterPoint(),f=$r(t,d);f<r&&(r=f,l=u)}}if(l){const u=l.tooltipPosition();e=u.x,i=u.y}return{x:e,y:i}}};function Gn(n,t){return t&&(qt(t)?Array.prototype.push.apply(n,t):n.push(t)),n}function ci(n){return(typeof n=="string"||n instanceof String)&&n.indexOf(`
1
+ (function(Yt,p){typeof exports=="object"&&typeof module<"u"?p(exports,require("vue"),require("@kong/icons"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider"],p):(Yt=typeof globalThis<"u"?globalThis:Yt||self,p(Yt["kong-ui-publicvitals-chart"]={},Yt.Vue,Yt.KongIcons,Yt["kong-ui-public-i18n"],Yt["kong-ui-public-analytics-metric-provider"]))})(this,(function(Yt,p,de,Zf,tr){"use strict";var mt=(n=>(n.FIFTEEN_MIN="15m",n.ONE_HOUR="1h",n.SIX_HOUR="6h",n.TWELVE_HOUR="12h",n.ONE_DAY="24h",n.SEVEN_DAY="7d",n.THIRTY_DAY="30d",n.NINETY_DAY="90d",n.ONE_HUNDRED_EIGHTY_DAY="180d",n.ONE_YEAR="365d",n.CURRENT_WEEK="current_week",n.CURRENT_MONTH="current_month",n.CURRENT_QUARTER="current_quarter",n.CURRENT_YEAR="current_year",n.PREVIOUS_WEEK="previous_week",n.PREVIOUS_MONTH="previous_month",n.PREVIOUS_QUARTER="previous_quarter",n.PREVIOUS_YEAR="previous_year",n))(mt||{});const jb=["in","not_in","selector"],Gb=["empty","not_empty"],Kb=["secondly","tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly","twoHourly","twelveHourly","daily","weekly","trend"],er=n=>n.filter(t=>t!=="time"),Qf=["api","api_package","api_product","api_product_version","control_plane","control_plane_group","data_plane_node","gateway_service","portal","route","status_code","status_code_grouped","time"],Jf=er(Qf),Xb=["active_services","error_rate","request_count","request_per_minute","response_latency_average"],th=[...Qf,"ai_gateway","ai_gateway_consumer","ai_gateway_consumer_group","ai_gateway_data_plane_node","application","bot_info_action","bot_info_detection_reason","bot_info_ban_type","cache_status","consumer","consumer_group","country_code","oidc_credential","upstream_status_code","upstream_status_code_grouped","response_source","data_plane_node_version","realm","portal_api","principal"],eh=er(th),Zb=[...Xb,"share_of_requests","cache_hit_rate","response_latency_p99","response_latency_p95","response_latency_p50","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","kong_internal_latency_p99","kong_internal_latency_p95","kong_internal_latency_p50","kong_internal_latency_average","response_size_p99","response_size_p95","response_size_p50","response_size_average","response_size_sum","request_size_p99","request_size_p95","request_size_p50","request_size_average","request_size_sum"],Qb=["control_plane","control_plane_group","ai_gateway","gateway_service","consumer","ai_gateway_consumer","ai_gateway_consumer_group","application","oidc_credential","route","ai_provider","ai_response_model","ai_request_model","llm_cache_status","llm_embeddings_provider","llm_embeddings_model","time","realm","status_code","status_code_grouped","ai_plugin","principal","cache_status","ai_gateway_mcp_server","ai_gateway_model","ai_gateway_agent","ai_gateway_data_plane_node"],nh=er(Qb),Jb=["a2a_context_id","a2a_error","a2a_method","a2a_task_id","api","api_package","api_product","api_product_version","application","auth_type","bot_info_action","bot_info_detection_reason","bot_info_ja4_fingerprint","bot_info_ban_type","bot_info_header_names","cache_status","client_ip","consumer","ai_gateway_consumer","consumer_group","ai_gateway_consumer_group","control_plane","control_plane_group","ai_gateway","country_code","data_plane_node","data_plane_node_version","ai_gateway_data_plane_node","gateway_service","header_host","header_user_agent","http_method","mcp_error","mcp_method","mcp_session_id","mcp_tool_name","oidc_credential","portal","principal","realm","request_id","request_uri","response_header_content_type","response_source","route","service_port","service_protocol","sse","status_code_grouped","time","trace_id","upstream_uri","upstream_status_code_grouped","websocket"],tx=er(Jb),ex=["auth_type","cache_status","client_ip","data_plane_node_version","header_host","header_user_agent","http_method","oidc_credential","request_id","request_uri","response_header_content_type","response_source","service_port","service_protocol","trace_id","upstream_uri"],nx=ex,ix=["ai_count","latencies_response_ms","latencies_upstream_ms","latencies_kong_gateway_ms","latencies_kong_internal_ms","request_body_size","response_body_size","response_header_content_length","status_code","upstream_status_code"],rx=er(ix),sx=["platform","platform_usage"],ox=n=>sx.includes(n),ax=[...th.filter(n=>n!=="consumer_group"),"a2a_context_id","a2a_error","a2a_method","a2a_task_id","a2a_task_state","ai_gateway_agent","ai_gateway_mcp_server","mcp_error","mcp_method","mcp_session_id","mcp_tool_name"],ih=er(ax);[...Zb];const lx=["control_plane","data_plane_group","managed_cache","network","provider","provider_region","time"],rh=er(lx);new Set(Jf),new Set(eh),new Set(nh),new Set(ih),new Set(rh);const sh=[{code:"AF",name:"Afghanistan"},{code:"AX",name:"Aland Islands"},{code:"AL",name:"Albania"},{code:"DZ",name:"Algeria"},{code:"AS",name:"American Samoa"},{code:"AD",name:"Andorra"},{code:"AO",name:"Angola"},{code:"AI",name:"Anguilla"},{code:"AQ",name:"Antarctica"},{code:"AG",name:"Antigua and Barbuda"},{code:"AR",name:"Argentina"},{code:"AM",name:"Armenia"},{code:"AW",name:"Aruba"},{code:"AU",name:"Australia"},{code:"AT",name:"Austria"},{code:"AZ",name:"Azerbaijan"},{code:"BS",name:"Bahamas"},{code:"BH",name:"Bahrain"},{code:"BD",name:"Bangladesh"},{code:"BB",name:"Barbados"},{code:"BY",name:"Belarus"},{code:"BE",name:"Belgium"},{code:"BZ",name:"Belize"},{code:"BJ",name:"Benin"},{code:"BM",name:"Bermuda"},{code:"BT",name:"Bhutan"},{code:"BO",name:"Bolivia"},{code:"BA",name:"Bosnia and Herzegovina"},{code:"BW",name:"Botswana"},{code:"BV",name:"Bouvet Island"},{code:"BR",name:"Brazil"},{code:"IO",name:"British Indian Ocean Territory"},{code:"BN",name:"Brunei Darussalam"},{code:"BG",name:"Bulgaria"},{code:"BF",name:"Burkina Faso"},{code:"BI",name:"Burundi"},{code:"KH",name:"Cambodia"},{code:"CM",name:"Cameroon"},{code:"CA",name:"Canada"},{code:"CV",name:"Cape Verde"},{code:"KY",name:"Cayman Islands"},{code:"CF",name:"Central African Republic"},{code:"TD",name:"Chad"},{code:"CL",name:"Chile"},{code:"CN",name:"China"},{code:"CX",name:"Christmas Island"},{code:"CC",name:"Cocos (Keeling) Islands"},{code:"CO",name:"Colombia"},{code:"KM",name:"Comoros"},{code:"CG",name:"Congo"},{code:"CD",name:"Democratic Republic of the Congo"},{code:"CK",name:"Cook Islands"},{code:"CR",name:"Costa Rica"},{code:"CI",name:"Cote d'Ivoire"},{code:"HR",name:"Croatia"},{code:"CU",name:"Cuba"},{code:"CY",name:"Cyprus"},{code:"CZ",name:"Czech Republic"},{code:"DK",name:"Denmark"},{code:"DJ",name:"Djibouti"},{code:"DM",name:"Dominica"},{code:"DO",name:"Dominican Republic"},{code:"EC",name:"Ecuador"},{code:"EG",name:"Egypt"},{code:"SV",name:"El Salvador"},{code:"GQ",name:"Equatorial Guinea"},{code:"ER",name:"Eritrea"},{code:"EE",name:"Estonia"},{code:"ET",name:"Ethiopia"},{code:"FK",name:"Falkland Islands (Malvinas)"},{code:"FO",name:"Faroe Islands"},{code:"FJ",name:"Fiji"},{code:"FI",name:"Finland"},{code:"FR",name:"France"},{code:"GF",name:"French Guiana"},{code:"PF",name:"French Polynesia"},{code:"TF",name:"French Southern Territories"},{code:"GA",name:"Gabon"},{code:"GM",name:"Gambia"},{code:"GE",name:"Georgia"},{code:"DE",name:"Germany"},{code:"GH",name:"Ghana"},{code:"GI",name:"Gibraltar"},{code:"GR",name:"Greece"},{code:"GL",name:"Greenland"},{code:"GD",name:"Grenada"},{code:"GP",name:"Guadeloupe"},{code:"GU",name:"Guam"},{code:"GT",name:"Guatemala"},{code:"GG",name:"Guernsey"},{code:"GN",name:"Guinea"},{code:"GW",name:"Guinea-Bissau"},{code:"GY",name:"Guyana"},{code:"HT",name:"Haiti"},{code:"HM",name:"Heard Island and McDonald Islands"},{code:"VA",name:"The Vatican"},{code:"HN",name:"Honduras"},{code:"HK",name:"Hong Kong"},{code:"HU",name:"Hungary"},{code:"IS",name:"Iceland"},{code:"IN",name:"India"},{code:"ID",name:"Indonesia"},{code:"IR",name:"Iran"},{code:"IQ",name:"Iraq"},{code:"IE",name:"Ireland"},{code:"IM",name:"Isle of Man"},{code:"IL",name:"Israel"},{code:"IT",name:"Italy"},{code:"JM",name:"Jamaica"},{code:"JP",name:"Japan"},{code:"JE",name:"Jersey"},{code:"JO",name:"Jordan"},{code:"KZ",name:"Kazakhstan"},{code:"KE",name:"Kenya"},{code:"KI",name:"Kiribati"},{code:"KP",name:"North Korea"},{code:"KR",name:"South Korea"},{code:"KW",name:"Kuwait"},{code:"KG",name:"Kyrgyzstan"},{code:"LA",name:"Laos"},{code:"LV",name:"Latvia"},{code:"LB",name:"Lebanon"},{code:"LS",name:"Lesotho"},{code:"LR",name:"Liberia"},{code:"LY",name:"Libya"},{code:"LI",name:"Liechtenstein"},{code:"LT",name:"Lithuania"},{code:"LU",name:"Luxembourg"},{code:"MO",name:"Macao"},{code:"MK",name:"Macedonia"},{code:"MG",name:"Madagascar"},{code:"MW",name:"Malawi"},{code:"MY",name:"Malaysia"},{code:"MV",name:"Maldives"},{code:"ML",name:"Mali"},{code:"MT",name:"Malta"},{code:"MH",name:"Marshall Islands"},{code:"MQ",name:"Martinique"},{code:"MR",name:"Mauritania"},{code:"MU",name:"Mauritius"},{code:"YT",name:"Mayotte"},{code:"MX",name:"Mexico"},{code:"FM",name:"Micronesia, "},{code:"MD",name:"Moldova,"},{code:"MC",name:"Monaco"},{code:"MN",name:"Mongolia"},{code:"ME",name:"Montenegro"},{code:"MS",name:"Montserrat"},{code:"MA",name:"Morocco"},{code:"MZ",name:"Mozambique"},{code:"MM",name:"Myanmar"},{code:"NA",name:"Namibia"},{code:"NR",name:"Nauru"},{code:"NP",name:"Nepal"},{code:"NL",name:"Netherlands"},{code:"NC",name:"New Caledonia"},{code:"NZ",name:"New Zealand"},{code:"NI",name:"Nicaragua"},{code:"NE",name:"Niger"},{code:"NG",name:"Nigeria"},{code:"NU",name:"Niue"},{code:"NF",name:"Norfolk Island"},{code:"MP",name:"Northern Mariana Islands"},{code:"NO",name:"Norway"},{code:"OM",name:"Oman"},{code:"PK",name:"Pakistan"},{code:"PW",name:"Palau"},{code:"PA",name:"Panama"},{code:"PG",name:"Papua New Guinea"},{code:"PY",name:"Paraguay"},{code:"PE",name:"Peru"},{code:"PH",name:"Philippines"},{code:"PN",name:"Pitcairn"},{code:"PL",name:"Poland"},{code:"PT",name:"Portugal"},{code:"PR",name:"Puerto Rico"},{code:"QA",name:"Qatar"},{code:"RE",name:"Reunion"},{code:"RO",name:"Romania"},{code:"RU",name:"Russia"},{code:"RW",name:"Rwanda"},{code:"BL",name:"Saint Barthelemy"},{code:"SH",name:"Saint Helena"},{code:"KN",name:"Saint Kitts and Nevis"},{code:"LC",name:"Saint Lucia"},{code:"MF",name:"Saint Martin"},{code:"PM",name:"Saint Pierre and Miquelon"},{code:"VC",name:"Saint Vincent and the Grenadines"},{code:"WS",name:"Samoa"},{code:"SM",name:"San Marino"},{code:"ST",name:"Sao Tome and Principe"},{code:"SA",name:"Saudi Arabia"},{code:"SN",name:"Senegal"},{code:"RS",name:"Serbia"},{code:"SC",name:"Seychelles"},{code:"SL",name:"Sierra Leone"},{code:"SG",name:"Singapore"},{code:"SX",name:"Sint Maarten"},{code:"SK",name:"Slovakia"},{code:"SI",name:"Slovenia"},{code:"SB",name:"Solomon Islands"},{code:"SO",name:"Somalia"},{code:"ZA",name:"South Africa"},{code:"GS",name:"South Georgia and the South Sandwich Islands"},{code:"SS",name:"South Sudan"},{code:"ES",name:"Spain"},{code:"LK",name:"Sri Lanka"},{code:"SD",name:"Sudan"},{code:"SR",name:"Suriname"},{code:"SJ",name:"Svalbard and Jan Mayen"},{code:"SZ",name:"Swaziland"},{code:"SE",name:"Sweden"},{code:"CH",name:"Switzerland"},{code:"SY",name:"Syria"},{code:"TW",name:"Taiwan"},{code:"TJ",name:"Tajikistan"},{code:"TZ",name:"Tanzania"},{code:"TH",name:"Thailand"},{code:"TL",name:"Timor-Leste"},{code:"TG",name:"Togo"},{code:"TK",name:"Tokelau"},{code:"TO",name:"Tonga"},{code:"TT",name:"Trinidad and Tobago"},{code:"TN",name:"Tunisia"},{code:"TR",name:"Turkey"},{code:"TM",name:"Turkmenistan"},{code:"TC",name:"Turks and Caicos Islands"},{code:"TV",name:"Tuvalu"},{code:"UG",name:"Uganda"},{code:"UA",name:"Ukraine"},{code:"AE",name:"United Arab Emirates"},{code:"GB",name:"United Kingdom"},{code:"US",name:"United States"},{code:"UM",name:"United States Minor Outlying Islands"},{code:"UY",name:"Uruguay"},{code:"UZ",name:"Uzbekistan"},{code:"VU",name:"Vanuatu"},{code:"VE",name:"Venezuela"},{code:"VN",name:"Vietnam"},{code:"VG",name:"British Virgin Islands"},{code:"VI",name:"U.S. Virgin Islands"},{code:"WF",name:"Wallis and Futuna"},{code:"EH",name:"Western Sahara"},{code:"YE",name:"Yemen"},{code:"ZM",name:"Zambia"},{code:"ZW",name:"Zimbabwe"}];sh.map(n=>n.code);const oh=n=>({type:"array",description:"A list of filters to apply to the query",items:{oneOf:[{type:"object",description:"In filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:jb},value:{type:"array",items:{type:["string","number","null"]}}},required:["field","operator","value"],additionalProperties:!1},{type:"object",description:"Empty filter",properties:{field:{type:"string",...n?{enum:n}:{}},operator:{type:"string",enum:Gb}},required:["field","operator"],additionalProperties:!1}]}}),cx=["control_plane","gateway_service","realm","route","plugin","plugin_name","plugin_scope","data_plane_node_version","env","team","region","hostname"];oh(Array.from(new Set([...tx,...nx,...rx]))),oh([...new Set([...eh,...Jf,...nh,...ih,...cx,...rh])]);const ux={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},dx=(n,t,e)=>{let i;const r=ux[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function yc(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const fx={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},hx={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},px={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},mx={date:yc({formats:fx,defaultWidth:"full"}),time:yc({formats:hx,defaultWidth:"full"}),dateTime:yc({formats:px,defaultWidth:"full"})},gx={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},yx=(n,t,e,i)=>gx[n];function Ds(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const _x={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},bx={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},xx={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},wx={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},vx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Sx={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Tx=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},Mx={ordinalNumber:Tx,era:Ds({values:_x,defaultWidth:"wide"}),quarter:Ds({values:bx,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ds({values:xx,defaultWidth:"wide"}),day:Ds({values:wx,defaultWidth:"wide"}),dayPeriod:Ds({values:vx,defaultWidth:"wide",formattingValues:Sx,defaultFormattingWidth:"wide"})};function Cs(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?Dx(l,m=>m.test(a)):kx(l,m=>m.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const f=t.slice(a.length);return{value:d,rest:f}}}function kx(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function Dx(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function Cx(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const Ox=/^(\d+)(th|st|nd|rd)?/i,Ax=/\d+/i,Rx={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ex={any:[/^b/i,/^(a|c)/i]},Px={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ix={any:[/1/i,/2/i,/3/i,/4/i]},Lx={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Nx={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Bx={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Fx={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},zx={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Ux={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Hx={ordinalNumber:Cx({matchPattern:Ox,parsePattern:Ax,valueCallback:n=>parseInt(n,10)}),era:Cs({matchPatterns:Rx,defaultMatchWidth:"wide",parsePatterns:Ex,defaultParseWidth:"any"}),quarter:Cs({matchPatterns:Px,defaultMatchWidth:"wide",parsePatterns:Ix,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Cs({matchPatterns:Lx,defaultMatchWidth:"wide",parsePatterns:Nx,defaultParseWidth:"any"}),day:Cs({matchPatterns:Bx,defaultMatchWidth:"wide",parsePatterns:Fx,defaultParseWidth:"any"}),dayPeriod:Cs({matchPatterns:zx,defaultMatchWidth:"any",parsePatterns:Ux,defaultParseWidth:"any"})},Wx={code:"en-US",formatDistance:dx,formatLong:mx,formatRelative:yx,localize:Mx,match:Hx,options:{weekStartsOn:0,firstWeekContainsDate:1}};let $x={};function Os(){return $x}const ah=6048e5,Vx=864e5,Yx=60,qx=3600,lh=Symbol.for("constructDateFrom");function Tn(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&lh in n?n[lh](t):n instanceof Date?new n.constructor(t):new Date(t)}function Ue(n,t){return Tn(t||n,n)}function ch(n){const t=Ue(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function jx(n,...t){const e=Tn.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Ir(n,t){const e=Ue(n,t?.in);return e.setHours(0,0,0,0),e}function Gx(n,t,e){const[i,r]=jx(e?.in,n,t),s=Ir(i),a=Ir(r),l=+s-ch(s),u=+a-ch(a);return Math.round((l-u)/Vx)}function Kx(n,t){const e=Ue(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function Xx(n,t){const e=Ue(n,t?.in);return Gx(e,Kx(e))+1}function ei(n,t){const e=Os(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Ue(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Jo(n,t){return ei(n,{...t,weekStartsOn:1})}function uh(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=Tn(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Jo(r),a=Tn(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Jo(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function Zx(n,t){const e=uh(n,t),i=Tn(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Jo(i)}function Qx(n,t){const e=Ue(n,t?.in),i=+Jo(e)-+Zx(e);return Math.round(i/ah)+1}function dh(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=Os(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=Tn(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=ei(a,t),u=Tn(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=ei(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function Jx(n,t){const e=Os(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=dh(n,t),s=Tn(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),ei(s,t)}function tw(n,t){const e=Ue(n,t?.in),i=+ei(e,t)-+Jx(e,t);return Math.round(i/ah)+1}function Xt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const Si={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Xt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Xt(e+1,2)},d(n,t){return Xt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Xt(n.getHours()%12||12,t.length)},H(n,t){return Xt(n.getHours(),t.length)},m(n,t){return Xt(n.getMinutes(),t.length)},s(n,t){return Xt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Xt(r,t.length)}},Lr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},fh={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return Si.y(n,t)},Y:function(n,t,e,i){const r=dh(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Xt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Xt(s,t.length)},R:function(n,t){const e=uh(n);return Xt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Xt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Xt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Xt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return Si.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Xt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=tw(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Xt(r,t.length)},I:function(n,t,e){const i=Qx(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Xt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):Si.d(n,t)},D:function(n,t,e){const i=Xx(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Xt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Xt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Xt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Xt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const i=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(i,{width:"narrow",context:"formatting"});default:return e.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Lr.noon:i===0?r=Lr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Lr.evening:i>=12?r=Lr.afternoon:i>=4?r=Lr.morning:r=Lr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return Si.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):Si.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Xt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):Si.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):Si.s(n,t)},S:function(n,t){return Si.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return ph(i);case"XXXX":case"XX":return nr(i);default:return nr(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return ph(i);case"xxxx":case"xx":return nr(i);default:return nr(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+hh(i,":");default:return"GMT"+nr(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+hh(i,":");default:return"GMT"+nr(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Xt(i,t.length)},T:function(n,t,e){return Xt(+n,t.length)}};function hh(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Xt(s,2)}function ph(n,t){return n%60===0?(n>0?"-":"+")+Xt(Math.abs(n)/60,2):nr(n,t)}function nr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Xt(Math.trunc(i/60),2),s=Xt(i%60,2);return e+r+t+s}const mh=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},gh=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},ew=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return mh(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",mh(i,t)).replace("{{time}}",gh(r,t))},nw={p:gh,P:ew},iw=/^D+$/,rw=/^Y+$/,sw=["D","DD","YY","YYYY"];function ow(n){return iw.test(n)}function aw(n){return rw.test(n)}function lw(n,t,e){const i=cw(n,t,e);if(console.warn(i),sw.includes(n))throw new RangeError(i)}function cw(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}function uw(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function dw(n){return!(!uw(n)&&typeof n!="number"||isNaN(+Ue(n)))}const fw=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,hw=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,pw=/^'([^]*?)'?$/,mw=/''/g,gw=/[a-zA-Z]/;function yw(n,t,e){const i=Os(),r=e?.locale??i.locale??Wx,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=Ue(n,e?.in);if(!dw(l))throw new RangeError("Invalid time value");let u=t.match(hw).map(f=>{const m=f[0];if(m==="p"||m==="P"){const g=nw[m];return g(f,r.formatLong)}return f}).join("").match(fw).map(f=>{if(f==="''")return{isToken:!1,value:"'"};const m=f[0];if(m==="'")return{isToken:!1,value:_w(f)};if(fh[m])return{isToken:!0,value:f};if(m.match(gw))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:f}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(f=>{if(!f.isToken)return f.value;const m=f.value;(!e?.useAdditionalWeekYearTokens&&aw(m)||!e?.useAdditionalDayOfYearTokens&&ow(m))&&lw(m,t,String(n));const g=fh[m[0]];return g(l,m,r.localize,d)}).join("")}function _w(n){const t=n.match(pw);return t?t[1].replace(mw,"'"):n}function ta(n,t,e){const i=Ue(n,e?.in);return isNaN(t)?Tn(n,NaN):(i.setDate(i.getDate()+t),i)}function yh(n,t,e){const i=Ue(n,e?.in);if(isNaN(t))return Tn(n,NaN);if(!t)return i;const r=i.getDate(),s=Tn(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function bw(n,t,e){return yh(n,t*3,e)}function Nr(n,t){const e=Ue(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function Br(n,t){const e=Ue(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function xw(n,t){const e=Ue(n,t?.in),i=e.getFullYear(),r=e.getMonth(),s=Tn(e,0);return s.setFullYear(i,r+1,0),s.setHours(0,0,0,0),s.getDate()}function ww(){return Object.assign({},Os())}function _h(n){return Math.trunc(n*qx)}function vw(n){const t=n/Yx;return Math.trunc(t)}function bh(n,t,e){return yh(n,-1,e)}function xh(n,t,e){return bw(n,-1,e)}function wh(n,t,e){const i=ww(),r=Mw(n,e.timeZone,e.locale??i.locale);return"formatToParts"in r?Sw(r,t):Tw(r,t)}function Sw(n,t){const e=n.formatToParts(t);for(let i=e.length-1;i>=0;--i)if(e[i].type==="timeZoneName")return e[i].value}function Tw(n,t){const e=n.format(t).replace(/\u200E/g,""),i=/ [\w-+ ]+$/.exec(e);return i?i[0].substr(1):""}function Mw(n,t,e){return new Intl.DateTimeFormat(e?[e.code,"en-US"]:void 0,{timeZone:t,timeZoneName:n})}function kw(n,t){const e=Rw(t);return"formatToParts"in e?Cw(e,n):Ow(e,n)}const Dw={year:0,month:1,day:2,hour:3,minute:4,second:5};function Cw(n,t){try{const e=n.formatToParts(t),i=[];for(let r=0;r<e.length;r++){const s=Dw[e[r].type];s!==void 0&&(i[s]=parseInt(e[r].value,10))}return i}catch(e){if(e instanceof RangeError)return[NaN];throw e}}function Ow(n,t){const e=n.format(t),i=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(e);return[parseInt(i[3],10),parseInt(i[1],10),parseInt(i[2],10),parseInt(i[4],10),parseInt(i[5],10),parseInt(i[6],10)]}const _c={},vh=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),Aw=vh==="06/25/2014, 00:00:00"||vh==="‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00";function Rw(n){return _c[n]||(_c[n]=Aw?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),_c[n]}function bc(n,t,e,i,r,s,a){const l=new Date(0);return l.setUTCFullYear(n,t,e),l.setUTCHours(i,r,s,a),l}const Sh=36e5,Ew=6e4,xc={timezoneZ:/^(Z)$/,timezoneHH:/^([+-]\d{2})$/,timezoneHHMM:/^([+-])(\d{2}):?(\d{2})$/};function As(n,t,e){if(!n)return 0;let i=xc.timezoneZ.exec(n);if(i)return 0;let r,s;if(i=xc.timezoneHH.exec(n),i)return r=parseInt(i[1],10),Th(r)?-(r*Sh):NaN;if(i=xc.timezoneHHMM.exec(n),i){r=parseInt(i[2],10);const a=parseInt(i[3],10);return Th(r,a)?(s=Math.abs(r)*Sh+a*Ew,i[1]==="+"?-s:s):NaN}if(Lw(n)){t=new Date(t||Date.now());const a=e?t:Pw(t),l=wc(a,n);return-(e?l:Iw(t,l,n))}return NaN}function Pw(n){return bc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds())}function wc(n,t){const e=kw(n,t),i=bc(e[0],e[1]-1,e[2],e[3]%24,e[4],e[5],0).getTime();let r=n.getTime();const s=r%1e3;return r-=s>=0?s:1e3+s,i-r}function Iw(n,t,e){let i=n.getTime()-t;const r=wc(new Date(i),e);if(t===r)return t;i-=r-t;const s=wc(new Date(i),e);return r===s?r:Math.max(r,s)}function Th(n,t){return-23<=n&&n<=23&&(t==null||0<=t&&t<=59)}const Mh={};function Lw(n){if(Mh[n])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:n}),Mh[n]=!0,!0}catch{return!1}}const Nw=60*1e3,Bw={X:function(n,t,e){const i=vc(e.timeZone,n);if(i===0)return"Z";switch(t){case"X":return kh(i);case"XXXX":case"XX":return Fr(i);default:return Fr(i,":")}},x:function(n,t,e){const i=vc(e.timeZone,n);switch(t){case"x":return kh(i);case"xxxx":case"xx":return Fr(i);default:return Fr(i,":")}},O:function(n,t,e){const i=vc(e.timeZone,n);switch(t){case"O":case"OO":case"OOO":return"GMT"+Fw(i,":");default:return"GMT"+Fr(i,":")}},z:function(n,t,e){switch(t){case"z":case"zz":case"zzz":return wh("short",n,e);default:return wh("long",n,e)}}};function vc(n,t){const e=n?As(n,t,!0)/Nw:t?.getTimezoneOffset()??0;if(Number.isNaN(e))throw new RangeError("Invalid time zone specified: "+n);return e}function ea(n,t){const e=n<0?"-":"";let i=Math.abs(n).toString();for(;i.length<t;)i="0"+i;return e+i}function Fr(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=ea(Math.floor(i/60),2),s=ea(Math.floor(i%60),2);return e+r+t+s}function kh(n,t){return n%60===0?(n>0?"-":"+")+ea(Math.abs(n)/60,2):Fr(n,t)}function Fw(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+ea(s,2)}function Dh(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+n-+t}const Ch=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,Sc=36e5,Oh=6e4,zw=2,Ze={dateTimePattern:/^([0-9W+-]+)(T| )(.*)/,datePattern:/^([0-9W+-]+)(.*)/,YY:/^(\d{2})$/,YYY:[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],YYYY:/^(\d{4})/,YYYYY:[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],MM:/^-(\d{2})$/,DDD:/^-?(\d{3})$/,MMDD:/^-?(\d{2})-?(\d{2})$/,Www:/^-?W(\d{2})$/,WwwD:/^-?W(\d{2})-?(\d{1})$/,HH:/^(\d{2}([.,]\d*)?)$/,HHMM:/^(\d{2}):?(\d{2}([.,]\d*)?)$/,HHMMSS:/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/,timeZone:Ch};function na(n,t={}){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");if(n===null)return new Date(NaN);const e=t.additionalDigits==null?zw:Number(t.additionalDigits);if(e!==2&&e!==1&&e!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]")return new Date(n.getTime());if(typeof n=="number"||Object.prototype.toString.call(n)==="[object Number]")return new Date(n);if(Object.prototype.toString.call(n)!=="[object String]")return new Date(NaN);const i=Uw(n),{year:r,restDateString:s}=Hw(i.date,e),a=Ww(s,r);if(a===null||isNaN(a.getTime()))return new Date(NaN);if(a){const l=a.getTime();let u=0,d;if(i.time&&(u=$w(i.time),u===null||isNaN(u)))return new Date(NaN);if(i.timeZone||t.timeZone){if(d=As(i.timeZone||t.timeZone,new Date(l+u)),isNaN(d))return new Date(NaN)}else d=Dh(new Date(l+u)),d=Dh(new Date(l+u+d));return new Date(l+u+d)}else return new Date(NaN)}function Uw(n){const t={};let e=Ze.dateTimePattern.exec(n),i;if(e?(t.date=e[1],i=e[3]):(e=Ze.datePattern.exec(n),e?(t.date=e[1],i=e[2]):(t.date=null,i=n)),i){const r=Ze.timeZone.exec(i);r?(t.time=i.replace(r[1],""),t.timeZone=r[1].trim()):t.time=i}return t}function Hw(n,t){if(n){const e=Ze.YYY[t],i=Ze.YYYYY[t];let r=Ze.YYYY.exec(n)||i.exec(n);if(r){const s=r[1];return{year:parseInt(s,10),restDateString:n.slice(s.length)}}if(r=Ze.YY.exec(n)||e.exec(n),r){const s=r[1];return{year:parseInt(s,10)*100,restDateString:n.slice(s.length)}}}return{year:null}}function Ww(n,t){if(t===null)return null;let e,i,r;if(!n||!n.length)return e=new Date(0),e.setUTCFullYear(t),e;let s=Ze.MM.exec(n);if(s)return e=new Date(0),i=parseInt(s[1],10)-1,Eh(t,i)?(e.setUTCFullYear(t,i),e):new Date(NaN);if(s=Ze.DDD.exec(n),s){e=new Date(0);const a=parseInt(s[1],10);return qw(t,a)?(e.setUTCFullYear(t,0,a),e):new Date(NaN)}if(s=Ze.MMDD.exec(n),s){e=new Date(0),i=parseInt(s[1],10)-1;const a=parseInt(s[2],10);return Eh(t,i,a)?(e.setUTCFullYear(t,i,a),e):new Date(NaN)}if(s=Ze.Www.exec(n),s)return r=parseInt(s[1],10)-1,Ph(r)?Ah(t,r):new Date(NaN);if(s=Ze.WwwD.exec(n),s){r=parseInt(s[1],10)-1;const a=parseInt(s[2],10)-1;return Ph(r,a)?Ah(t,r,a):new Date(NaN)}return null}function $w(n){let t,e,i=Ze.HH.exec(n);if(i)return t=parseFloat(i[1].replace(",",".")),Tc(t)?t%24*Sc:NaN;if(i=Ze.HHMM.exec(n),i)return t=parseInt(i[1],10),e=parseFloat(i[2].replace(",",".")),Tc(t,e)?t%24*Sc+e*Oh:NaN;if(i=Ze.HHMMSS.exec(n),i){t=parseInt(i[1],10),e=parseInt(i[2],10);const r=parseFloat(i[3].replace(",","."));return Tc(t,e,r)?t%24*Sc+e*Oh+r*1e3:NaN}return null}function Ah(n,t,e){t=t||0,e=e||0;const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=t*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const Vw=[31,28,31,30,31,30,31,31,30,31,30,31],Yw=[31,29,31,30,31,30,31,31,30,31,30,31];function Rh(n){return n%400===0||n%4===0&&n%100!==0}function Eh(n,t,e){if(t<0||t>11)return!1;if(e!=null){if(e<1)return!1;const i=Rh(n);if(i&&e>Yw[t]||!i&&e>Vw[t])return!1}return!0}function qw(n,t){if(t<1)return!1;const e=Rh(n);return!(e&&t>366||!e&&t>365)}function Ph(n,t){return!(n<0||n>52||t!=null&&(t<0||t>6))}function Tc(n,t,e){return!(n<0||n>=25||t!=null&&(t<0||t>=60)||e!=null&&(e<0||e>=60))}const jw=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function Gw(n,t,e={}){t=String(t);const i=t.match(jw);if(i){const r=na(e.originalDate||n,e);t=i.reduce(function(s,a){if(a[0]==="'")return s;const l=s.indexOf(a),u=s[l-1]==="'",d=s.replace(a,"'"+Bw[a[0]](r,a,e)+"'");return u?d.substring(0,l-1)+d.substring(l+1):d},t)}return yw(n,t,e)}function Ih(n,t,e){n=na(n,e);const i=As(t,n,!0),r=new Date(n.getTime()-i),s=new Date(0);return s.setFullYear(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),s.setHours(r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()),s}function Lh(n,t,e,i){return i={...i,timeZone:t,originalDate:n},Gw(Ih(n,t,{timeZone:i.timeZone}),e,i)}function Kw(n,t,e){if(typeof n=="string"&&!n.match(Ch))return na(n,{...e,timeZone:t});n=na(n,e);const i=bc(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()).getTime(),r=As(t,new Date(i));return new Date(i+r)}function Xw(n,t){return-As(n,t)}function Nh(n,t={}){const e=t?.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;let i="MMM dd, yyy hh:mm a";switch(t.format){case"short":i="MMM dd, yyyy";break;case"default":i="MMM dd, yyyy hh:mm a";break;case"full":i="MMM dd, yyyy hh:mm:ss.SSS a";break}return t.includeTZ&&(i+=" (z)"),Lh(n,e,i)}function Zw(n,t={}){if(!n)return n;const e=t.tz||Intl.DateTimeFormat().resolvedOptions().timeZone;try{let i="MMM dd, yyy hh:mm a";t.short&&(i="MMM dd, yyy"),t.includeTZ&&(i+=" (z)");const r=new Date(n);return Lh(r,e,i)}catch{return console.error("Invalid value passed to formatTime",n),"(invalid date)"}}const Qw={secondly:1e3,tenSecondly:10*1e3,thirtySecondly:30*1e3,minutely:60*1e3,fiveMinutely:300*1e3,tenMinutely:600*1e3,thirtyMinutely:1800*1e3,hourly:3600*1e3,twoHourly:7200*1e3,twelveHourly:720*60*1e3,daily:3600*24*1e3,weekly:3600*24*7*1e3,trend:0};function ia(n){return n&&Kb.find(t=>n<=Qw[t])||null}var ra=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sa={exports:{}};sa.exports;var Bh;function Jw(){return Bh||(Bh=1,(function(n,t){var e=200,i="__lodash_hash_undefined__",r=9007199254740991,s="[object Arguments]",a="[object Array]",l="[object Boolean]",u="[object Date]",d="[object Error]",f="[object Function]",m="[object GeneratorFunction]",g="[object Map]",_="[object Number]",x="[object Object]",w="[object Promise]",v="[object RegExp]",C="[object Set]",A="[object String]",z="[object Symbol]",I="[object WeakMap]",L="[object ArrayBuffer]",B="[object DataView]",F="[object Float32Array]",M="[object Float64Array]",T="[object Int8Array]",O="[object Int16Array]",E="[object Int32Array]",$="[object Uint8Array]",Q="[object Uint8ClampedArray]",lt="[object Uint16Array]",ct="[object Uint32Array]",pt=/[\\^$.*+?()[\]{}|]/g,dt=/\w*$/,gt=/^\[object .+?Constructor\]$/,rt=/^(?:0|[1-9]\d*)$/,ft={};ft[s]=ft[a]=ft[L]=ft[B]=ft[l]=ft[u]=ft[F]=ft[M]=ft[T]=ft[O]=ft[E]=ft[g]=ft[_]=ft[x]=ft[v]=ft[C]=ft[A]=ft[z]=ft[$]=ft[Q]=ft[lt]=ft[ct]=!0,ft[d]=ft[f]=ft[I]=!1;var j=typeof ra=="object"&&ra&&ra.Object===Object&&ra,N=typeof self=="object"&&self&&self.Object===Object&&self,W=j||N||Function("return this")(),it=t&&!t.nodeType&&t,ot=it&&!0&&n&&!n.nodeType&&n,K=ot&&ot.exports===it;function tt(D,V){return D.set(V[0],V[1]),D}function st(D,V){return D.add(V),D}function q(D,V){for(var J=-1,yt=D?D.length:0;++J<yt&&V(D[J],J,D)!==!1;);return D}function et(D,V){for(var J=-1,yt=V.length,Me=D.length;++J<yt;)D[Me+J]=V[J];return D}function at(D,V,J,yt){for(var Me=-1,Ge=D?D.length:0;++Me<Ge;)J=V(J,D[Me],Me,D);return J}function xt(D,V){for(var J=-1,yt=Array(D);++J<D;)yt[J]=V(J);return yt}function Lt(D,V){return D?.[V]}function wt(D){var V=!1;if(D!=null&&typeof D.toString!="function")try{V=!!(D+"")}catch{}return V}function Ot(D){var V=-1,J=Array(D.size);return D.forEach(function(yt,Me){J[++V]=[Me,yt]}),J}function kt(D,V){return function(J){return D(V(J))}}function Se(D){var V=-1,J=Array(D.size);return D.forEach(function(yt){J[++V]=yt}),J}var bt=Array.prototype,jt=Function.prototype,Ae=Object.prototype,Re=W["__core-js_shared__"],oe=(function(){var D=/[^.]+$/.exec(Re&&Re.keys&&Re.keys.IE_PROTO||"");return D?"Symbol(src)_1."+D:""})(),cn=jt.toString,$t=Ae.hasOwnProperty,Ne=Ae.toString,ie=RegExp("^"+cn.call($t).replace(pt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Te=K?W.Buffer:void 0,Ee=W.Symbol,gn=W.Uint8Array,Hi=kt(Object.getPrototypeOf,Object),Cn=Object.create,je=Ae.propertyIsEnumerable,Ln=bt.splice,di=Object.getOwnPropertySymbols,So=Te?Te.isBuffer:void 0,To=kt(Object.keys,Object),vr=Xn(W,"DataView"),fi=Xn(W,"Map"),Mo=Xn(W,"Promise"),ko=Xn(W,"Set"),Do=Xn(W,"WeakMap"),Wi=Xn(Object,"create"),hl=pi(vr),hd=pi(fi),pd=pi(Mo),md=pi(ko),gd=pi(Do),Co=Ee?Ee.prototype:void 0,pl=Co?Co.valueOf:void 0;function hi(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function yd(){this.__data__=Wi?Wi(null):{}}function Oo(D){return this.has(D)&&delete this.__data__[D]}function _d(D){var V=this.__data__;if(Wi){var J=V[D];return J===i?void 0:J}return $t.call(V,D)?V[D]:void 0}function Ao(D){var V=this.__data__;return Wi?V[D]!==void 0:$t.call(V,D)}function bd(D,V){var J=this.__data__;return J[D]=Wi&&V===void 0?i:V,this}hi.prototype.clear=yd,hi.prototype.delete=Oo,hi.prototype.get=_d,hi.prototype.has=Ao,hi.prototype.set=bd;function Nn(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function xd(){this.__data__=[]}function wd(D){var V=this.__data__,J=Sr(V,D);if(J<0)return!1;var yt=V.length-1;return J==yt?V.pop():Ln.call(V,J,1),!0}function vd(D){var V=this.__data__,J=Sr(V,D);return J<0?void 0:V[J][1]}function ml(D){return Sr(this.__data__,D)>-1}function Sd(D,V){var J=this.__data__,yt=Sr(J,D);return yt<0?J.push([D,V]):J[yt][1]=V,this}Nn.prototype.clear=xd,Nn.prototype.delete=wd,Nn.prototype.get=vd,Nn.prototype.has=ml,Nn.prototype.set=Sd;function $i(D){var V=-1,J=D?D.length:0;for(this.clear();++V<J;){var yt=D[V];this.set(yt[0],yt[1])}}function gl(){this.__data__={hash:new hi,map:new(fi||Nn),string:new hi}}function Td(D){return Tr(this,D).delete(D)}function Md(D){return Tr(this,D).get(D)}function kd(D){return Tr(this,D).has(D)}function Dd(D,V){return Tr(this,D).set(D,V),this}$i.prototype.clear=gl,$i.prototype.delete=Td,$i.prototype.get=Md,$i.prototype.has=kd,$i.prototype.set=Dd;function Vi(D){this.__data__=new Nn(D)}function Cd(){this.__data__=new Nn}function ss(D){return this.__data__.delete(D)}function Od(D){return this.__data__.get(D)}function os(D){return this.__data__.has(D)}function Ad(D,V){var J=this.__data__;if(J instanceof Nn){var yt=J.__data__;if(!fi||yt.length<e-1)return yt.push([D,V]),this;J=this.__data__=new $i(yt)}return J.set(D,V),this}Vi.prototype.clear=Cd,Vi.prototype.delete=ss,Vi.prototype.get=Od,Vi.prototype.has=os,Vi.prototype.set=Ad;function Rd(D,V){var J=Lo(D)||Al(D)?xt(D.length,String):[],yt=J.length,Me=!!yt;for(var Ge in D)$t.call(D,Ge)&&!(Me&&(Ge=="length"||kl(Ge,yt)))&&J.push(Ge);return J}function yl(D,V,J){var yt=D[V];(!($t.call(D,V)&&Ol(yt,J))||J===void 0&&!(V in D))&&(D[V]=J)}function Sr(D,V){for(var J=D.length;J--;)if(Ol(D[J][0],V))return J;return-1}function _l(D,V){return D&&Eo(V,No(V),D)}function as(D,V,J,yt,Me,Ge,Bn){var Be;if(yt&&(Be=Ge?yt(D,Me,Ge,Bn):yt(D)),Be!==void 0)return Be;if(!fs(D))return D;var El=Lo(D);if(El){if(Be=Tl(D),!V)return Sl(D,Be)}else{var ce=un(D),hs=ce==f||ce==m;if(Wd(D))return xl(D,V);if(ce==x||ce==s||hs&&!Ge){if(wt(D))return Ge?D:{};if(Be=Ml(hs?{}:D),!V)return Po(D,_l(Be,D))}else{if(!ft[ce])return Ge?D:{};Be=zd(D,ce,as,V)}}Bn||(Bn=new Vi);var Zn=Bn.get(D);if(Zn)return Zn;if(Bn.set(D,Be),!El)var Bo=J?Fd(D):No(D);return q(Bo||D,function(Mr,Fe){Bo&&(Fe=Mr,Mr=D[Fe]),yl(Be,Fe,as(Mr,V,J,yt,Fe,D,Bn))}),Be}function Ed(D){return fs(D)?Cn(D):{}}function Pd(D,V,J){var yt=V(D);return Lo(D)?yt:et(yt,J(D))}function Id(D){return Ne.call(D)}function Ld(D){if(!fs(D)||Cl(D))return!1;var V=ds(D)||wt(D)?ie:gt;return V.test(pi(D))}function bl(D){if(!Io(D))return To(D);var V=[];for(var J in Object(D))$t.call(D,J)&&J!="constructor"&&V.push(J);return V}function xl(D,V){if(V)return D.slice();var J=new D.constructor(D.length);return D.copy(J),J}function ls(D){var V=new D.constructor(D.byteLength);return new gn(V).set(new gn(D)),V}function Ro(D,V){var J=V?ls(D.buffer):D.buffer;return new D.constructor(J,D.byteOffset,D.byteLength)}function Nd(D,V,J){var yt=V?J(Ot(D),!0):Ot(D);return at(yt,tt,new D.constructor)}function wl(D){var V=new D.constructor(D.source,dt.exec(D));return V.lastIndex=D.lastIndex,V}function cs(D,V,J){var yt=V?J(Se(D),!0):Se(D);return at(yt,st,new D.constructor)}function vl(D){return pl?Object(pl.call(D)):{}}function Bd(D,V){var J=V?ls(D.buffer):D.buffer;return new D.constructor(J,D.byteOffset,D.length)}function Sl(D,V){var J=-1,yt=D.length;for(V||(V=Array(yt));++J<yt;)V[J]=D[J];return V}function Eo(D,V,J,yt){J||(J={});for(var Me=-1,Ge=V.length;++Me<Ge;){var Bn=V[Me],Be=void 0;yl(J,Bn,Be===void 0?D[Bn]:Be)}return J}function Po(D,V){return Eo(D,us(D),V)}function Fd(D){return Pd(D,No,us)}function Tr(D,V){var J=D.__data__;return Dl(V)?J[typeof V=="string"?"string":"hash"]:J.map}function Xn(D,V){var J=Lt(D,V);return Ld(J)?J:void 0}var us=di?kt(di,Object):Yd,un=Id;(vr&&un(new vr(new ArrayBuffer(1)))!=B||fi&&un(new fi)!=g||Mo&&un(Mo.resolve())!=w||ko&&un(new ko)!=C||Do&&un(new Do)!=I)&&(un=function(D){var V=Ne.call(D),J=V==x?D.constructor:void 0,yt=J?pi(J):void 0;if(yt)switch(yt){case hl:return B;case hd:return g;case pd:return w;case md:return C;case gd:return I}return V});function Tl(D){var V=D.length,J=D.constructor(V);return V&&typeof D[0]=="string"&&$t.call(D,"index")&&(J.index=D.index,J.input=D.input),J}function Ml(D){return typeof D.constructor=="function"&&!Io(D)?Ed(Hi(D)):{}}function zd(D,V,J,yt){var Me=D.constructor;switch(V){case L:return ls(D);case l:case u:return new Me(+D);case B:return Ro(D,yt);case F:case M:case T:case O:case E:case $:case Q:case lt:case ct:return Bd(D,yt);case g:return Nd(D,yt,J);case _:case A:return new Me(D);case v:return wl(D);case C:return cs(D,yt,J);case z:return vl(D)}}function kl(D,V){return V=V??r,!!V&&(typeof D=="number"||rt.test(D))&&D>-1&&D%1==0&&D<V}function Dl(D){var V=typeof D;return V=="string"||V=="number"||V=="symbol"||V=="boolean"?D!=="__proto__":D===null}function Cl(D){return!!oe&&oe in D}function Io(D){var V=D&&D.constructor,J=typeof V=="function"&&V.prototype||Ae;return D===J}function pi(D){if(D!=null){try{return cn.call(D)}catch{}try{return D+""}catch{}}return""}function Ud(D){return as(D,!0,!0)}function Ol(D,V){return D===V||D!==D&&V!==V}function Al(D){return Hd(D)&&$t.call(D,"callee")&&(!je.call(D,"callee")||Ne.call(D)==s)}var Lo=Array.isArray;function Rl(D){return D!=null&&$d(D.length)&&!ds(D)}function Hd(D){return Vd(D)&&Rl(D)}var Wd=So||ee;function ds(D){var V=fs(D)?Ne.call(D):"";return V==f||V==m}function $d(D){return typeof D=="number"&&D>-1&&D%1==0&&D<=r}function fs(D){var V=typeof D;return!!D&&(V=="object"||V=="function")}function Vd(D){return!!D&&typeof D=="object"}function No(D){return Rl(D)?Rd(D):bl(D)}function Yd(){return[]}function ee(){return!1}n.exports=Ud})(sa,sa.exports)),sa.exports}Jw();const Mn=(n,t)=>new Date(n.getTime()-Xw(t,n));class Ce{timeframeText;key;display;timeframeLength;allowedTiers;defaultResponseGranularity;dataGranularity;isRelative;fineGrainedDefaultGranularity;_startCustom;_endCustom;_allowedGranularitiesOverride;constructor(t){this.display=t.display,this.timeframeText=t.timeframeText,this.key=t.key,this.timeframeLength=t.timeframeLength,this.allowedTiers=t.allowedTiers,this.defaultResponseGranularity=t.defaultResponseGranularity,this.dataGranularity=t.dataGranularity,this.isRelative=t.isRelative,this._startCustom=t.startCustom,this._endCustom=t.endCustom,this._allowedGranularitiesOverride=t.allowedGranularitiesOverride,this.fineGrainedDefaultGranularity=t.fineGrainedDefaultGranularity}rawEnd(t){return this._endCustom||new Date}rawStart(t){return this._startCustom||new Date(this.rawEnd().getTime()-this.timeframeLengthMs())}timeframeLengthMs(){return this.timeframeLength()*1e3}maximumTimeframeLength(){return this.timeframeLength()}allowedGranularities(t){if(this._allowedGranularitiesOverride&&t)return new Set(this._allowedGranularitiesOverride);const e=new Set,i=this.maximumTimeframeLength()/3600;return i<=6&&e.add("minutely"),i>=2&&i<=168&&e.add("hourly"),i>=48&&e.add("daily"),i>=672&&e.add("weekly"),e}cacheKey(){return this.key!=="custom"?this.key:`${this.rawStart().toISOString()}-${this.rawEnd().toISOString()}`}v4Query(t){return this.key==="custom"?{type:"absolute",start:this.rawStart(),end:this.rawEnd(),tz:t}:{type:"relative",time_range:this.key,tz:t}}tzAdjustedDate(t){if(!t)return new Date;const e=Kw(new Date,new Intl.DateTimeFormat().resolvedOptions().timeZone);return Ih(e,t)}}class tv extends Ce{rawStart(t){let e=ei(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*7}}class ev extends Ce{rawStart(t){let e=Br(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*31}}class nv extends Ce{rawStart(t){let e=Nr(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*92}}class iv extends Ce{rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Mn(e,t)),e}maximumTimeframeLength(){return 3600*24*366}}class rv extends Ce{rawEnd(t){let e=ei(this.tzAdjustedDate(t),{weekStartsOn:1});return t&&(e=Mn(e,t)),e}rawStart(t){const e=this.tzAdjustedDate(t);let i=ei(e.setDate(e.getDate()-7),{weekStartsOn:1});return t&&(i=Mn(i,t)),i}}class sv extends Ce{rawEnd(t){let e=Nr(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}rawStart(t){let e=Nr(xh(this.tzAdjustedDate(t)));return t&&(e=Mn(e,t)),e}}class ov extends Ce{rawEnd(t){let e=Br(this.tzAdjustedDate(t));return t&&(e=Mn(e,t)),e}rawStart(t){let e=Br(bh(this.tzAdjustedDate(t)));return t&&(e=Mn(e,t)),e}}class av extends Ce{rawEnd(t){let e=new Date(this.tzAdjustedDate(t).getFullYear(),0,1);return t&&(e=Mn(e,t)),e}rawStart(t){let e=new Date(this.tzAdjustedDate(t).getFullYear()-1,0,1);return t&&(e=Mn(e,t)),e}}mt.FIFTEEN_MIN,new Ce({key:mt.FIFTEEN_MIN,display:"Last 15 minutes",timeframeText:"15 minutes",timeframeLength:()=>900,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"thirtySecondly",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely"]}),mt.ONE_HOUR,new Ce({key:mt.ONE_HOUR,display:"Last hour",timeframeText:"One hour",timeframeLength:()=>3600*1,defaultResponseGranularity:"minutely",dataGranularity:"minutely",isRelative:!0,fineGrainedDefaultGranularity:"minutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["tenSecondly","thirtySecondly","minutely","fiveMinutely","tenMinutely"]}),mt.SIX_HOUR,new Ce({key:mt.SIX_HOUR,display:"Last 6 hours",timeframeText:"6 hours",timeframeLength:()=>3600*6,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"fiveMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["thirtySecondly","minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.TWELVE_HOUR,new Ce({key:mt.TWELVE_HOUR,display:"Last 12 hours",timeframeText:"12 hours",timeframeLength:()=>3600*12,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"tenMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["minutely","fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.ONE_DAY,new Ce({key:mt.ONE_DAY,display:"Last 24 hours",timeframeText:"24 hours",timeframeLength:()=>3600*24,defaultResponseGranularity:"hourly",dataGranularity:"hourly",isRelative:!0,fineGrainedDefaultGranularity:"thirtyMinutely",allowedTiers:["free","trial","plus","enterprise"],allowedGranularitiesOverride:["fiveMinutely","tenMinutely","thirtyMinutely","hourly"]}),mt.SEVEN_DAY,new Ce({key:mt.SEVEN_DAY,display:"Last 7 days",timeframeText:"7 days",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.THIRTY_DAY,new Ce({key:mt.THIRTY_DAY,display:"Last 30 days",timeframeText:"30 days",timeframeLength:()=>3600*24*30,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"twelveHourly",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.NINETY_DAY,new Ce({key:mt.NINETY_DAY,display:"Last 90 days",timeframeText:"90 days",timeframeLength:()=>3600*24*90,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.ONE_HUNDRED_EIGHTY_DAY,new Ce({key:mt.ONE_HUNDRED_EIGHTY_DAY,display:"Last 180 days",timeframeText:"180 days",timeframeLength:()=>3600*24*180,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.ONE_YEAR,new Ce({key:mt.ONE_YEAR,display:"Last 365 days",timeframeText:"365 days",timeframeLength:()=>3600*24*365,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!0,fineGrainedDefaultGranularity:"daily",allowedTiers:["trial","plus","enterprise"],allowedGranularitiesOverride:["hourly","twoHourly","twelveHourly","daily","weekly"]}),mt.CURRENT_WEEK,new tv({key:mt.CURRENT_WEEK,display:"This week",timeframeText:"Week",timeframeLength:()=>{const n=ei(new Date,{weekStartsOn:1});return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.CURRENT_MONTH,new ev({key:mt.CURRENT_MONTH,display:"This month",timeframeText:"Month",timeframeLength:()=>{const n=Br(new Date);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.CURRENT_QUARTER,new nv({key:mt.CURRENT_QUARTER,display:"This quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Nr(new Date);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.CURRENT_YEAR,new iv({key:mt.CURRENT_YEAR,display:"This year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1);return(Ir(ta(new Date,1)).getTime()-n.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_WEEK,new rv({key:mt.PREVIOUS_WEEK,display:"Previous week",timeframeText:"Week",timeframeLength:()=>3600*24*7,defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,fineGrainedDefaultGranularity:"twoHourly",allowedTiers:["plus","enterprise"],allowedGranularitiesOverride:["thirtyMinutely","hourly","twoHourly","twelveHourly","daily"]}),mt.PREVIOUS_MONTH,new ov({key:mt.PREVIOUS_MONTH,display:"Previous month",timeframeText:"Month",timeframeLength:()=>{let n=0;const t=Br(new Date),e=Br(bh(new Date));return t.getTimezoneOffset()!==e.getTimezoneOffset()&&(n=Fh(t,e)),3600*24*xw(new Date().setMonth(new Date().getMonth()-1))+_h(n)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_QUARTER,new sv({key:mt.PREVIOUS_QUARTER,display:"Previous quarter",timeframeText:"Quarter",timeframeLength:()=>{const n=Nr(new Date),t=Nr(xh(new Date));return(n.getTime()-t.getTime())/1e3},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]}),mt.PREVIOUS_YEAR,new av({key:mt.PREVIOUS_YEAR,display:"Previous year",timeframeText:"Year",timeframeLength:()=>{const n=new Date(new Date().getFullYear(),0,1),t=new Date(new Date().getFullYear()-1,0,1);let e=0;return n.getTimezoneOffset()!==t.getTimezoneOffset()&&(e=Fh(n,t)),3600*24*(365+(t.getFullYear()%4===0?1:0))+_h(e)},defaultResponseGranularity:"daily",dataGranularity:"daily",isRelative:!1,allowedTiers:["plus","enterprise"]});function Fh(n,t){return vw(n.getTimezoneOffset()-t.getTimezoneOffset())}mt.FIFTEEN_MIN,mt.ONE_HOUR,mt.SIX_HOUR,mt.TWELVE_HOUR,mt.ONE_DAY,mt.SEVEN_DAY,mt.FIFTEEN_MIN,mt.ONE_HOUR,mt.SIX_HOUR,mt.TWELVE_HOUR,mt.ONE_DAY,mt.SEVEN_DAY,mt.THIRTY_DAY,mt.NINETY_DAY,mt.ONE_HUNDRED_EIGHTY_DAY,mt.ONE_YEAR,mt.CURRENT_WEEK,mt.CURRENT_MONTH,mt.CURRENT_QUARTER,mt.CURRENT_YEAR,mt.PREVIOUS_WEEK,mt.PREVIOUS_MONTH,mt.PREVIOUS_QUARTER,mt.PREVIOUS_YEAR;const lv=new Map(sh.map(n=>[n.code,{code:n.code,name:n.name}])),Mc=n=>lv.get(n)?.name||n,zh=1e3,cv=1e4,Uh=1e6,Hh=1e9,Wh=1e12,oa=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((r,s)=>{s&&s%3===0&&i.push(e),i.push(r)}),i.reverse().join("")},Rs=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function aa(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?cv:zh;return n<r||t.precision&&t.precision>Math.log10(n)?e=oa(Rs(n,1,t),t):n<Uh?e=`${Rs(n,zh,t)}k`:n<Hh?e=`${Rs(n,Uh,t)}m`:n<Wh?e=`${oa(Rs(n,Hh,t),t)}b`:e=`${oa(Rs(n,Wh,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}aa.addCommas=oa;const uv=typeof document<"u"&&document.documentElement?.lang||"en-US",la=new Intl.NumberFormat(uv);function ni({i18n:n}){const t=(i,r)=>{if(isNaN(i))return"0 B";const s=r?Math.pow(2,50):1e15,a=r?Math.pow(2,40):1e12,l=r?Math.pow(2,30):1e9,u=r?Math.pow(2,20):1e6,d=r?Math.pow(2,10):1e3;let f;return i>=s?f=n.formatNumber(Number.parseFloat((i/s).toPrecision(3)),{style:"unit",unit:"petabyte",unitDisplay:"narrow"}):i>=a?f=n.formatNumber(Number.parseFloat((i/a).toPrecision(3)),{style:"unit",unit:"terabyte",unitDisplay:"narrow"}):i>=l?f=n.formatNumber(Number.parseFloat((i/l).toPrecision(3)),{style:"unit",unit:"gigabyte",unitDisplay:"narrow"}):i>=u?f=n.formatNumber(Number.parseFloat((i/u).toPrecision(3)),{style:"unit",unit:"megabyte",unitDisplay:"narrow"}):i>=d?f=n.formatNumber(Number.parseFloat((i/d).toPrecision(3)),{style:"unit",unit:"kilobyte",unitDisplay:"narrow"}):f=n.formatNumber(Number.parseFloat(i.toPrecision(3)),{style:"unit",unit:"byte",unitDisplay:"narrow"}),f.replace(/([a-zA-Z]*)$/," $1")},e=(i,r="USD")=>isNaN(i)?r==="USD"?"$0.00":`${i}`:i>=.01||r!=="USD"?n.formatNumber(i,{style:"currency",currency:r}):i<1e-4?"< $0.0001":`$${Number.parseFloat(i.toPrecision(4))}`;return{formatUnit:(i,r,{isBytes1024:s=!1,currency:a="USD",approximate:l=!1,translateUnit:u=d=>d}={})=>{const d=u(r,i);switch(r){case"bytes":return t(i,s);case"usd":return e(i,a);default:return isNaN(i)?`${i}`:l?`${aa(i,{capital:!0})} ${d}`:i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))} ${d}`:`${Number.parseFloat(i.toPrecision(4))} ${d}`}},formatBytes:t,formatCost:e,formatRange:(i,r,s,{isBytes1024:a=!1,currency:l="USD",approximate:u=!1,translateUnit:d=f=>f}={})=>{const f=d(s,r);switch(s){case"bytes":return`${t(i,a)} - ${t(r,a)}`;case"usd":return`${e(i,l)} - ${e(r,l)}`;default:if(isNaN(i)||isNaN(r))return`${i} - ${r}`;if(u)return`${aa(i,{capital:!0})} - ${aa(r,{capital:!0})} ${f}`}const m=i>=.01?`${la.format(Number.parseFloat(i.toFixed(2)))}`:`${Number.parseFloat(i.toPrecision(4))}`,g=r>=.01?`${la.format(Number.parseFloat(r.toFixed(2)))}`:`${Number.parseFloat(r.toPrecision(4))}`;return`${m} - ${g} ${f}`}}}const $h="#d60027",Vh="#ffe5e5",dv="#f1f0ff",fv="#e0e4ea",Yh="#6c7489",hv="#afb7c5",qh="#0d0e14",pv="#d60027",mv="#ad000e",kc="#6c7489",jh="#52596e",gv="#007d60",yv="#995c00",_v="#ffc400",bv="'Inter', Roboto, Helvetica, sans-serif",ir="16px",xv="20px",wv="#bee2ff",vv="#8fc1ff",Sv="#5f9aff",Tv="#306fff",Mv="#b5ffee",kv="#00fabe",Dv="#00d6a4",Cv="#00a17b",Ov="#007d60",Av="#005944",Rv="#b5ffee",Ev="#00fabe",Pv="#b5ffee",Iv="#00a17b",Lv="#fff296",Nv="#ffe04b",Bv="#ffc400",Fv="#b37600",zv="#995c00",Uv="#804400",Hv="#fff296",Wv="#ffe04b",$v="#ffc2b3",Vv="#ff9877",Yv="#ff723c",qv="#f75008",jv="#d13500",Gv="#a31f00",Kv="#ffc2b3",Xv="#ff9877",Zv="#ff723c",Qv="#f75008",Jv="#d13500",t1="#a31f00",e1="#ffc2b3",n1="#ff9877",i1="#ff723c",r1="#f75008",s1="#d13500",o1="#a31f00",a1="#ffc2b3",l1="#ff9877",c1="#ff723c",u1="#f75008",d1="#d13500",f1="#a31f00",h1="#ffc2b3",p1="#ff9877",m1="#ff723c",g1="#f75008",y1="#d13500",_1="#ffabab",b1="#ff7272",x1="#ff3954",w1="#f50045",v1="#d60027",S1="#ad000e",T1="#ffabab",M1="#ff7272",k1="#ff3954",D1="#f50045",C1="#d60027",O1="#eefaff",A1="#ecfffb",R1="#fffce0",E1="#fff1ef",P1="#ffe5e5",I1="#5f9aff",L1="#00d6a4",N1="#ffc400",B1="#ff723c",F1="#ff3954",Gh=6048e5,z1=864e5,Es=6e4,zr=36e5,U1=1e3,Kh=Symbol.for("constructDateFrom");function pe(n,t){return typeof n=="function"?n(t):n&&typeof n=="object"&&Kh in n?n[Kh](t):n instanceof Date?new n.constructor(t):new Date(t)}function Rt(n,t){return pe(t||n,n)}function ca(n,t,e){const i=Rt(n,e?.in);return isNaN(t)?pe(e?.in||n,NaN):(t&&i.setDate(i.getDate()+t),i)}function Dc(n,t,e){const i=Rt(n,e?.in);if(isNaN(t))return pe(n,NaN);if(!t)return i;const r=i.getDate(),s=pe(n,i.getTime());s.setMonth(i.getMonth()+t+1,0);const a=s.getDate();return r>=a?s:(i.setFullYear(s.getFullYear(),s.getMonth(),r),i)}function Cc(n,t,e){return pe(n,+Rt(n)+t)}function H1(n,t,e){return Cc(n,t*zr)}let W1={};function rr(){return W1}function $n(n,t){const e=rr(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Rt(n,t?.in),s=r.getDay(),a=(s<i?7:0)+s-i;return r.setDate(r.getDate()-a),r.setHours(0,0,0,0),r}function Ur(n,t){return $n(n,{...t,weekStartsOn:1})}function Xh(n,t){const e=Rt(n,t?.in),i=e.getFullYear(),r=pe(e,0);r.setFullYear(i+1,0,4),r.setHours(0,0,0,0);const s=Ur(r),a=pe(e,0);a.setFullYear(i,0,4),a.setHours(0,0,0,0);const l=Ur(a);return e.getTime()>=s.getTime()?i+1:e.getTime()>=l.getTime()?i:i-1}function ua(n){const t=Rt(n),e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),+n-+e}function sr(n,...t){const e=pe.bind(null,t.find(i=>typeof i=="object"));return t.map(e)}function Oc(n,t){const e=Rt(n,t?.in);return e.setHours(0,0,0,0),e}function Zh(n,t,e){const[i,r]=sr(e?.in,n,t),s=Oc(i),a=Oc(r),l=+s-ua(s),u=+a-ua(a);return Math.round((l-u)/z1)}function $1(n,t){const e=Xh(n,t),i=pe(n,0);return i.setFullYear(e,0,4),i.setHours(0,0,0,0),Ur(i)}function V1(n,t,e){const i=Rt(n,e?.in);return i.setTime(i.getTime()+t*Es),i}function Y1(n,t,e){return Dc(n,t*3,e)}function q1(n,t,e){return Cc(n,t*1e3)}function j1(n,t,e){return ca(n,t*7,e)}function G1(n,t,e){return Dc(n,t*12,e)}function Ps(n,t){const e=+Rt(n)-+Rt(t);return e<0?-1:e>0?1:e}function K1(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function Ac(n){return!(!K1(n)&&typeof n!="number"||isNaN(+Rt(n)))}function X1(n,t,e){const[i,r]=sr(e?.in,n,t),s=i.getFullYear()-r.getFullYear(),a=i.getMonth()-r.getMonth();return s*12+a}function Z1(n,t,e){const[i,r]=sr(e?.in,n,t);return i.getFullYear()-r.getFullYear()}function Qh(n,t,e){const[i,r]=sr(e?.in,n,t),s=Jh(i,r),a=Math.abs(Zh(i,r));i.setDate(i.getDate()-s*a);const l=+(Jh(i,r)===-s),u=s*(a-l);return u===0?0:u}function Jh(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function Is(n){return t=>{const i=(n?Math[n]:Math.trunc)(t);return i===0?0:i}}function Q1(n,t,e){const[i,r]=sr(e?.in,n,t),s=(+i-+r)/zr;return Is(e?.roundingMethod)(s)}function Rc(n,t){return+Rt(n)-+Rt(t)}function J1(n,t,e){const i=Rc(n,t)/Es;return Is(e?.roundingMethod)(i)}function tp(n,t){const e=Rt(n,t?.in);return e.setHours(23,59,59,999),e}function ep(n,t){const e=Rt(n,t?.in),i=e.getMonth();return e.setFullYear(e.getFullYear(),i+1,0),e.setHours(23,59,59,999),e}function tS(n,t){const e=Rt(n,t?.in);return+tp(e,t)==+ep(e,t)}function np(n,t,e){const[i,r,s]=sr(e?.in,n,n,t),a=Ps(r,s),l=Math.abs(X1(r,s));if(l<1)return 0;r.getMonth()===1&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-a*l);let u=Ps(r,s)===-a;tS(i)&&l===1&&Ps(i,s)===1&&(u=!1);const d=a*(l-+u);return d===0?0:d}function eS(n,t,e){const i=np(n,t,e)/3;return Is(e?.roundingMethod)(i)}function nS(n,t,e){const i=Rc(n,t)/1e3;return Is(e?.roundingMethod)(i)}function iS(n,t,e){const i=Qh(n,t,e)/7;return Is(e?.roundingMethod)(i)}function rS(n,t,e){const[i,r]=sr(e?.in,n,t),s=Ps(i,r),a=Math.abs(Z1(i,r));i.setFullYear(1584),r.setFullYear(1584);const l=Ps(i,r)===-s,u=s*(a-+l);return u===0?0:u}function sS(n,t){const e=Rt(n,t?.in),i=e.getMonth(),r=i-i%3;return e.setMonth(r,1),e.setHours(0,0,0,0),e}function oS(n,t){const e=Rt(n,t?.in);return e.setDate(1),e.setHours(0,0,0,0),e}function aS(n,t){const e=Rt(n,t?.in),i=e.getFullYear();return e.setFullYear(i+1,0,0),e.setHours(23,59,59,999),e}function ip(n,t){const e=Rt(n,t?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function lS(n,t){const e=Rt(n,t?.in);return e.setMinutes(59,59,999),e}function cS(n,t){const e=rr(),i=e.weekStartsOn??e.locale?.options?.weekStartsOn??0,r=Rt(n,t?.in),s=r.getDay(),a=(s<i?-7:0)+6-(s-i);return r.setDate(r.getDate()+a),r.setHours(23,59,59,999),r}function uS(n,t){const e=Rt(n,t?.in);return e.setSeconds(59,999),e}function dS(n,t){const e=Rt(n,t?.in),i=e.getMonth(),r=i-i%3+3;return e.setMonth(r,0),e.setHours(23,59,59,999),e}function fS(n,t){const e=Rt(n,t?.in);return e.setMilliseconds(999),e}const hS={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},pS=(n,t,e)=>{let i;const r=hS[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function Ec(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const mS={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},gS={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},yS={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_S={date:Ec({formats:mS,defaultWidth:"full"}),time:Ec({formats:gS,defaultWidth:"full"}),dateTime:Ec({formats:yS,defaultWidth:"full"})},bS={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},xS=(n,t,e,i)=>bS[n];function Ls(n){return(t,e)=>{const i=e?.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const a=n.defaultFormattingWidth||n.defaultWidth,l=e?.width?String(e.width):a;r=n.formattingValues[l]||n.formattingValues[a]}else{const a=n.defaultWidth,l=e?.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[a]}const s=n.argumentCallback?n.argumentCallback(t):t;return r[s]}}const wS={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},vS={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},SS={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},TS={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},MS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},kS={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},DS={ordinalNumber:(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},era:Ls({values:wS,defaultWidth:"wide"}),quarter:Ls({values:vS,defaultWidth:"wide",argumentCallback:n=>n-1}),month:Ls({values:SS,defaultWidth:"wide"}),day:Ls({values:TS,defaultWidth:"wide"}),dayPeriod:Ls({values:MS,defaultWidth:"wide",formattingValues:kS,defaultFormattingWidth:"wide"})};function Ns(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],s=t.match(r);if(!s)return null;const a=s[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?OS(l,m=>m.test(a)):CS(l,m=>m.test(a));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const f=t.slice(a.length);return{value:d,rest:f}}}function CS(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function OS(n,t){for(let e=0;e<n.length;e++)if(t(n[e]))return e}function AS(n){return(t,e={})=>{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],s=t.match(n.parsePattern);if(!s)return null;let a=n.valueCallback?n.valueCallback(s[0]):s[0];a=e.valueCallback?e.valueCallback(a):a;const l=t.slice(r.length);return{value:a,rest:l}}}const RS=/^(\d+)(th|st|nd|rd)?/i,ES=/\d+/i,PS={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},IS={any:[/^b/i,/^(a|c)/i]},LS={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},NS={any:[/1/i,/2/i,/3/i,/4/i]},BS={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},FS={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},zS={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},US={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},HS={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},WS={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},$S={ordinalNumber:AS({matchPattern:RS,parsePattern:ES,valueCallback:n=>parseInt(n,10)}),era:Ns({matchPatterns:PS,defaultMatchWidth:"wide",parsePatterns:IS,defaultParseWidth:"any"}),quarter:Ns({matchPatterns:LS,defaultMatchWidth:"wide",parsePatterns:NS,defaultParseWidth:"any",valueCallback:n=>n+1}),month:Ns({matchPatterns:BS,defaultMatchWidth:"wide",parsePatterns:FS,defaultParseWidth:"any"}),day:Ns({matchPatterns:zS,defaultMatchWidth:"wide",parsePatterns:US,defaultParseWidth:"any"}),dayPeriod:Ns({matchPatterns:HS,defaultMatchWidth:"any",parsePatterns:WS,defaultParseWidth:"any"})},rp={code:"en-US",formatDistance:pS,formatLong:_S,formatRelative:xS,localize:DS,match:$S,options:{weekStartsOn:0,firstWeekContainsDate:1}};function VS(n,t){const e=Rt(n,t?.in);return Zh(e,ip(e))+1}function sp(n,t){const e=Rt(n,t?.in),i=+Ur(e)-+$1(e);return Math.round(i/Gh)+1}function Pc(n,t){const e=Rt(n,t?.in),i=e.getFullYear(),r=rr(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=pe(t?.in||n,0);a.setFullYear(i+1,0,s),a.setHours(0,0,0,0);const l=$n(a,t),u=pe(t?.in||n,0);u.setFullYear(i,0,s),u.setHours(0,0,0,0);const d=$n(u,t);return+e>=+l?i+1:+e>=+d?i:i-1}function YS(n,t){const e=rr(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,r=Pc(n,t),s=pe(t?.in||n,0);return s.setFullYear(r,0,i),s.setHours(0,0,0,0),$n(s,t)}function op(n,t){const e=Rt(n,t?.in),i=+$n(e,t)-+YS(e,t);return Math.round(i/Gh)+1}function Zt(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const Ti={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return Zt(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):Zt(e+1,2)},d(n,t){return Zt(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];default:return e==="am"?"a.m.":"p.m."}},h(n,t){return Zt(n.getHours()%12||12,t.length)},H(n,t){return Zt(n.getHours(),t.length)},m(n,t){return Zt(n.getMinutes(),t.length)},s(n,t){return Zt(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.trunc(i*Math.pow(10,e-3));return Zt(r,t.length)}},Hr={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ap={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return Ti.y(n,t)},Y:function(n,t,e,i){const r=Pc(n,i),s=r>0?r:1-r;if(t==="YY"){const a=s%100;return Zt(a,2)}return t==="Yo"?e.ordinalNumber(s,{unit:"year"}):Zt(s,t.length)},R:function(n,t){const e=Xh(n);return Zt(e,t.length)},u:function(n,t){const e=n.getFullYear();return Zt(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return Zt(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return Zt(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return Ti.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return Zt(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=op(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):Zt(r,t.length)},I:function(n,t,e){const i=sp(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):Zt(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):Ti.d(n,t)},D:function(n,t,e){const i=VS(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):Zt(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return Zt(s,2);case"eo":return e.ordinalNumber(s,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),s=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return Zt(s,t.length);case"co":return e.ordinalNumber(s,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return Zt(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=Hr.noon:i===0?r=Hr.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=Hr.evening:i>=12?r=Hr.afternoon:i>=4?r=Hr.morning:r=Hr.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return Ti.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):Ti.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):Zt(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):Ti.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):Ti.s(n,t)},S:function(n,t){return Ti.S(n,t)},X:function(n,t,e){const i=n.getTimezoneOffset();if(i===0)return"Z";switch(t){case"X":return cp(i);case"XXXX":case"XX":return or(i);default:return or(i,":")}},x:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"x":return cp(i);case"xxxx":case"xx":return or(i);default:return or(i,":")}},O:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+lp(i,":");default:return"GMT"+or(i,":")}},z:function(n,t,e){const i=n.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+lp(i,":");default:return"GMT"+or(i,":")}},t:function(n,t,e){const i=Math.trunc(+n/1e3);return Zt(i,t.length)},T:function(n,t,e){return Zt(+n,t.length)}};function lp(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.trunc(i/60),s=i%60;return s===0?e+String(r):e+String(r)+t+Zt(s,2)}function cp(n,t){return n%60===0?(n>0?"-":"+")+Zt(Math.abs(n)/60,2):or(n,t)}function or(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Zt(Math.trunc(i/60),2),s=Zt(i%60,2);return e+r+t+s}const up=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},dp=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ic={p:dp,P:(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return up(n,t);let s;switch(i){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",up(i,t)).replace("{{time}}",dp(r,t))}},qS=/^D+$/,jS=/^Y+$/,GS=["D","DD","YY","YYYY"];function fp(n){return qS.test(n)}function hp(n){return jS.test(n)}function Lc(n,t,e){const i=KS(n,t,e);if(console.warn(i),GS.includes(n))throw new RangeError(i)}function KS(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const XS=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ZS=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,QS=/^'([^]*?)'?$/,JS=/''/g,tT=/[a-zA-Z]/;function da(n,t,e){const i=rr(),r=e?.locale??i.locale??rp,s=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,l=Rt(n,e?.in);if(!Ac(l))throw new RangeError("Invalid time value");let u=t.match(ZS).map(f=>{const m=f[0];if(m==="p"||m==="P"){const g=Ic[m];return g(f,r.formatLong)}return f}).join("").match(XS).map(f=>{if(f==="''")return{isToken:!1,value:"'"};const m=f[0];if(m==="'")return{isToken:!1,value:eT(f)};if(ap[m])return{isToken:!0,value:f};if(m.match(tT))throw new RangeError("Format string contains an unescaped latin alphabet character `"+m+"`");return{isToken:!1,value:f}});r.localize.preprocessor&&(u=r.localize.preprocessor(l,u));const d={firstWeekContainsDate:s,weekStartsOn:a,locale:r};return u.map(f=>{if(!f.isToken)return f.value;const m=f.value;(!e?.useAdditionalWeekYearTokens&&hp(m)||!e?.useAdditionalDayOfYearTokens&&fp(m))&&Lc(m,t,String(n));const g=ap[m[0]];return g(l,m,r.localize,d)}).join("")}function eT(n){const t=n.match(QS);return t?t[1].replace(JS,"'"):n}function pp(){return Object.assign({},rr())}function nT(n,t){const e=Rt(n,t?.in).getDay();return e===0?7:e}function iT(n,t){const e=rT(t)?new t(0):pe(t,0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}function rT(n){return typeof n=="function"&&n.prototype?.constructor===n}const sT=10;class mp{subPriority=0;validate(t,e){return!0}}class oT extends mp{constructor(t,e,i,r,s){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,s&&(this.subPriority=s)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class aT extends mp{priority=sT;subPriority=-1;constructor(t,e){super(),this.context=t||(i=>pe(e,i))}set(t,e){return e.timestampIsSet?t:pe(t,iT(t,this.context))}}class Wt{run(t,e,i,r){const s=this.parse(t,e,i,r);return s?{setter:new oT(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(t,e,i){return!0}}class lT extends Wt{priority=140;parse(t,e,i){switch(e){case"G":case"GG":case"GGG":return i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"});case"GGGGG":return i.era(t,{width:"narrow"});default:return i.era(t,{width:"wide"})||i.era(t,{width:"abbreviated"})||i.era(t,{width:"narrow"})}}set(t,e,i){return e.era=i,t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]}const ye={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},Vn={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function _e(n,t){return n&&{value:t(n.value),rest:n.rest}}function fe(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function Yn(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,s=e[3]?parseInt(e[3],10):0,a=e[5]?parseInt(e[5],10):0;return{value:i*(r*zr+s*Es+a*U1),rest:t.slice(e[0].length)}}function gp(n){return fe(ye.anyDigitsSigned,n)}function me(n,t){switch(n){case 1:return fe(ye.singleDigit,t);case 2:return fe(ye.twoDigits,t);case 3:return fe(ye.threeDigits,t);case 4:return fe(ye.fourDigits,t);default:return fe(new RegExp("^\\d{1,"+n+"}"),t)}}function fa(n,t){switch(n){case 1:return fe(ye.singleDigitSigned,t);case 2:return fe(ye.twoDigitsSigned,t);case 3:return fe(ye.threeDigitsSigned,t);case 4:return fe(ye.fourDigitsSigned,t);default:return fe(new RegExp("^-?\\d{1,"+n+"}"),t)}}function Nc(n){switch(n){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function yp(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const s=i+50,a=Math.trunc(s/100)*100,l=n>=s%100;r=n+a-(l?100:0)}return e?r:1-r}function _p(n){return n%400===0||n%4===0&&n%100!==0}class cT extends Wt{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="yy"});switch(e){case"y":return _e(me(4,t),r);case"yo":return _e(i.ordinalNumber(t,{unit:"year"}),r);default:return _e(me(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i){const r=t.getFullYear();if(i.isTwoDigitYear){const a=yp(i.year,r);return t.setFullYear(a,0,1),t.setHours(0,0,0,0),t}const s=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}}class uT extends Wt{priority=130;parse(t,e,i){const r=s=>({year:s,isTwoDigitYear:e==="YY"});switch(e){case"Y":return _e(me(4,t),r);case"Yo":return _e(i.ordinalNumber(t,{unit:"year"}),r);default:return _e(me(e.length,t),r)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,i,r){const s=Pc(t,r);if(i.isTwoDigitYear){const l=yp(i.year,s);return t.setFullYear(l,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),$n(t,r)}const a=!("era"in e)||e.era===1?i.year:1-i.year;return t.setFullYear(a,0,r.firstWeekContainsDate),t.setHours(0,0,0,0),$n(t,r)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class dT extends Wt{priority=130;parse(t,e){return fa(e==="R"?4:e.length,t)}set(t,e,i){const r=pe(t,0);return r.setFullYear(i,0,4),r.setHours(0,0,0,0),Ur(r)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class fT extends Wt{priority=130;parse(t,e){return fa(e==="u"?4:e.length,t)}set(t,e,i){return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class hT extends Wt{priority=120;parse(t,e,i){switch(e){case"Q":case"QQ":return me(e.length,t);case"Qo":return i.ordinalNumber(t,{unit:"quarter"});case"QQQ":return i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return i.quarter(t,{width:"narrow",context:"formatting"});default:return i.quarter(t,{width:"wide",context:"formatting"})||i.quarter(t,{width:"abbreviated",context:"formatting"})||i.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class pT extends Wt{priority=120;parse(t,e,i){switch(e){case"q":case"qq":return me(e.length,t);case"qo":return i.ordinalNumber(t,{unit:"quarter"});case"qqq":return i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return i.quarter(t,{width:"narrow",context:"standalone"});default:return i.quarter(t,{width:"wide",context:"standalone"})||i.quarter(t,{width:"abbreviated",context:"standalone"})||i.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,i){return t.setMonth((i-1)*3,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class mT extends Wt{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"M":return _e(fe(ye.month,t),r);case"MM":return _e(me(2,t),r);case"Mo":return _e(i.ordinalNumber(t,{unit:"month"}),r);case"MMM":return i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return i.month(t,{width:"narrow",context:"formatting"});default:return i.month(t,{width:"wide",context:"formatting"})||i.month(t,{width:"abbreviated",context:"formatting"})||i.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}}class gT extends Wt{priority=110;parse(t,e,i){const r=s=>s-1;switch(e){case"L":return _e(fe(ye.month,t),r);case"LL":return _e(me(2,t),r);case"Lo":return _e(i.ordinalNumber(t,{unit:"month"}),r);case"LLL":return i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return i.month(t,{width:"narrow",context:"standalone"});default:return i.month(t,{width:"wide",context:"standalone"})||i.month(t,{width:"abbreviated",context:"standalone"})||i.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.setMonth(i,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function yT(n,t,e){const i=Rt(n,e?.in),r=op(i,e)-t;return i.setDate(i.getDate()-r*7),Rt(i,e?.in)}class _T extends Wt{priority=100;parse(t,e,i){switch(e){case"w":return fe(ye.week,t);case"wo":return i.ordinalNumber(t,{unit:"week"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i,r){return $n(yT(t,i,r),r)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function bT(n,t,e){const i=Rt(n,e?.in),r=sp(i,e)-t;return i.setDate(i.getDate()-r*7),i}class xT extends Wt{priority=100;parse(t,e,i){switch(e){case"I":return fe(ye.week,t);case"Io":return i.ordinalNumber(t,{unit:"week"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,i){return Ur(bT(t,i))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const wT=[31,28,31,30,31,30,31,31,30,31,30,31],vT=[31,29,31,30,31,30,31,31,30,31,30,31];class ST extends Wt{priority=90;subPriority=1;parse(t,e,i){switch(e){case"d":return fe(ye.date,t);case"do":return i.ordinalNumber(t,{unit:"date"});default:return me(e.length,t)}}validate(t,e){const i=t.getFullYear(),r=_p(i),s=t.getMonth();return r?e>=1&&e<=vT[s]:e>=1&&e<=wT[s]}set(t,e,i){return t.setDate(i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class TT extends Wt{priority=90;subpriority=1;parse(t,e,i){switch(e){case"D":case"DD":return fe(ye.dayOfYear,t);case"Do":return i.ordinalNumber(t,{unit:"date"});default:return me(e.length,t)}}validate(t,e){const i=t.getFullYear();return _p(i)?e>=1&&e<=366:e>=1&&e<=365}set(t,e,i){return t.setMonth(0,i),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Bc(n,t,e){const i=rr(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,s=Rt(n,e?.in),a=s.getDay(),u=(t%7+7)%7,d=7-r,f=t<0||t>6?t-(a+d)%7:(u+d)%7-(a+d)%7;return ca(s,f,e)}class MT extends Wt{priority=90;parse(t,e,i){switch(e){case"E":case"EE":case"EEE":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return i.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]}class kT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"e":case"ee":return _e(me(e.length,t),s);case"eo":return _e(i.ordinalNumber(t,{unit:"day"}),s);case"eee":return i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});case"eeeee":return i.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"});default:return i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class DT extends Wt{priority=90;parse(t,e,i,r){const s=a=>{const l=Math.floor((a-1)/7)*7;return(a+r.weekStartsOn+6)%7+l};switch(e){case"c":case"cc":return _e(me(e.length,t),s);case"co":return _e(i.ordinalNumber(t,{unit:"day"}),s);case"ccc":return i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});case"ccccc":return i.day(t,{width:"narrow",context:"standalone"});case"cccccc":return i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"});default:return i.day(t,{width:"wide",context:"standalone"})||i.day(t,{width:"abbreviated",context:"standalone"})||i.day(t,{width:"short",context:"standalone"})||i.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,i,r){return t=Bc(t,i,r),t.setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function CT(n,t,e){const i=Rt(n,e?.in),r=nT(i,e),s=t-r;return ca(i,s,e)}class OT extends Wt{priority=90;parse(t,e,i){const r=s=>s===0?7:s;switch(e){case"i":case"ii":return me(e.length,t);case"io":return i.ordinalNumber(t,{unit:"day"});case"iii":return _e(i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiii":return _e(i.day(t,{width:"narrow",context:"formatting"}),r);case"iiiiii":return _e(i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r);default:return _e(i.day(t,{width:"wide",context:"formatting"})||i.day(t,{width:"abbreviated",context:"formatting"})||i.day(t,{width:"short",context:"formatting"})||i.day(t,{width:"narrow",context:"formatting"}),r)}}validate(t,e){return e>=1&&e<=7}set(t,e,i){return t=CT(t,i),t.setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class AT extends Wt{priority=80;parse(t,e,i){switch(e){case"a":case"aa":case"aaa":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]}class RT extends Wt{priority=80;parse(t,e,i){switch(e){case"b":case"bb":case"bbb":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]}class ET extends Wt{priority=80;parse(t,e,i){switch(e){case"B":case"BB":case"BBB":return i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return i.dayPeriod(t,{width:"narrow",context:"formatting"});default:return i.dayPeriod(t,{width:"wide",context:"formatting"})||i.dayPeriod(t,{width:"abbreviated",context:"formatting"})||i.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,i){return t.setHours(Nc(i),0,0,0),t}incompatibleTokens=["a","b","t","T"]}class PT extends Wt{priority=70;parse(t,e,i){switch(e){case"h":return fe(ye.hour12h,t);case"ho":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,i){const r=t.getHours()>=12;return r&&i<12?t.setHours(i+12,0,0,0):!r&&i===12?t.setHours(0,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]}class IT extends Wt{priority=70;parse(t,e,i){switch(e){case"H":return fe(ye.hour23h,t);case"Ho":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,i){return t.setHours(i,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]}class LT extends Wt{priority=70;parse(t,e,i){switch(e){case"K":return fe(ye.hour11h,t);case"Ko":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,i){return t.getHours()>=12&&i<12?t.setHours(i+12,0,0,0):t.setHours(i,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]}class NT extends Wt{priority=70;parse(t,e,i){switch(e){case"k":return fe(ye.hour24h,t);case"ko":return i.ordinalNumber(t,{unit:"hour"});default:return me(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,i){const r=i<=24?i%24:i;return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]}class BT extends Wt{priority=60;parse(t,e,i){switch(e){case"m":return fe(ye.minute,t);case"mo":return i.ordinalNumber(t,{unit:"minute"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setMinutes(i,0,0),t}incompatibleTokens=["t","T"]}class FT extends Wt{priority=50;parse(t,e,i){switch(e){case"s":return fe(ye.second,t);case"so":return i.ordinalNumber(t,{unit:"second"});default:return me(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,i){return t.setSeconds(i,0),t}incompatibleTokens=["t","T"]}class zT extends Wt{priority=30;parse(t,e){const i=r=>Math.trunc(r*Math.pow(10,-e.length+3));return _e(me(e.length,t),i)}set(t,e,i){return t.setMilliseconds(i),t}incompatibleTokens=["t","T"]}class UT extends Wt{priority=10;parse(t,e){switch(e){case"X":return Yn(Vn.basicOptionalMinutes,t);case"XX":return Yn(Vn.basic,t);case"XXXX":return Yn(Vn.basicOptionalSeconds,t);case"XXXXX":return Yn(Vn.extendedOptionalSeconds,t);default:return Yn(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:pe(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","x"]}class HT extends Wt{priority=10;parse(t,e){switch(e){case"x":return Yn(Vn.basicOptionalMinutes,t);case"xx":return Yn(Vn.basic,t);case"xxxx":return Yn(Vn.basicOptionalSeconds,t);case"xxxxx":return Yn(Vn.extendedOptionalSeconds,t);default:return Yn(Vn.extended,t)}}set(t,e,i){return e.timestampIsSet?t:pe(t,t.getTime()-ua(t)-i)}incompatibleTokens=["t","T","X"]}class WT extends Wt{priority=40;parse(t){return gp(t)}set(t,e,i){return[pe(t,i*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class $T extends Wt{priority=20;parse(t){return gp(t)}set(t,e,i){return[pe(t,i),{timestampIsSet:!0}]}incompatibleTokens="*"}const VT={G:new lT,y:new cT,Y:new uT,R:new dT,u:new fT,Q:new hT,q:new pT,M:new mT,L:new gT,w:new _T,I:new xT,d:new ST,D:new TT,E:new MT,e:new kT,c:new DT,i:new OT,a:new AT,b:new RT,B:new ET,h:new PT,H:new IT,K:new LT,k:new NT,m:new BT,s:new FT,S:new zT,X:new UT,x:new HT,t:new WT,T:new $T},YT=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,qT=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,jT=/^'([^]*?)'?$/,GT=/''/g,KT=/\S/,XT=/[a-zA-Z]/;function ZT(n,t,e,i){const r=()=>pe(i?.in||e,NaN),s=pp(),a=i?.locale??s.locale??rp,l=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,u=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??s.weekStartsOn??s.locale?.options?.weekStartsOn??0;if(!t)return n?r():Rt(e,i?.in);const d={firstWeekContainsDate:l,weekStartsOn:u,locale:a},f=[new aT(i?.in,e)],m=t.match(qT).map(v=>{const C=v[0];if(C in Ic){const A=Ic[C];return A(v,a.formatLong)}return v}).join("").match(YT),g=[];for(let v of m){!i?.useAdditionalWeekYearTokens&&hp(v)&&Lc(v,t,n),!i?.useAdditionalDayOfYearTokens&&fp(v)&&Lc(v,t,n);const C=v[0],A=VT[C];if(A){const{incompatibleTokens:z}=A;if(Array.isArray(z)){const L=g.find(B=>z.includes(B.token)||B.token===C);if(L)throw new RangeError(`The format string mustn't contain \`${L.fullToken}\` and \`${v}\` at the same time`)}else if(A.incompatibleTokens==="*"&&g.length>0)throw new RangeError(`The format string mustn't contain \`${v}\` and any other token at the same time`);g.push({token:C,fullToken:v});const I=A.run(n,v,a.match,d);if(!I)return r();f.push(I.setter),n=I.rest}else{if(C.match(XT))throw new RangeError("Format string contains an unescaped latin alphabet character `"+C+"`");if(v==="''"?v="'":C==="'"&&(v=QT(v)),n.indexOf(v)===0)n=n.slice(v.length);else return r()}}if(n.length>0&&KT.test(n))return r();const _=f.map(v=>v.priority).sort((v,C)=>C-v).filter((v,C,A)=>A.indexOf(v)===C).map(v=>f.filter(C=>C.priority===v).sort((C,A)=>A.subPriority-C.subPriority)).map(v=>v[0]);let x=Rt(e,i?.in);if(isNaN(+x))return r();const w={};for(const v of _){if(!v.validate(x,d))return r();const C=v.set(x,w,d);Array.isArray(C)?(x=C[0],Object.assign(w,C[1])):x=C}return x}function QT(n){return n.match(jT)[1].replace(GT,"'")}function JT(n,t){const e=Rt(n,t?.in);return e.setMinutes(0,0,0),e}function tM(n,t){const e=Rt(n,t?.in);return e.setSeconds(0,0),e}function eM(n,t){const e=Rt(n,t?.in);return e.setMilliseconds(0),e}function bp(n){const t=n/zr;return Math.trunc(t)}function xp(n,t){const e=()=>pe(t?.in,NaN),i=t?.additionalDigits??2,r=sM(n);let s;if(r.date){const d=oM(r.date,i);s=aM(d.restDateString,d.year)}if(!s||isNaN(+s))return e();const a=+s;let l=0,u;if(r.time&&(l=lM(r.time),isNaN(l)))return e();if(r.timezone){if(u=cM(r.timezone),isNaN(u))return e()}else{const d=new Date(a+l),f=Rt(0,t?.in);return f.setFullYear(d.getUTCFullYear(),d.getUTCMonth(),d.getUTCDate()),f.setHours(d.getUTCHours(),d.getUTCMinutes(),d.getUTCSeconds(),d.getUTCMilliseconds()),f}return Rt(a+l+u,t?.in)}const ha={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},nM=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,iM=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,rM=/^([+-])(\d{2})(?::?(\d{2}))?$/;function sM(n){const t={},e=n.split(ha.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],ha.timeZoneDelimiter.test(t.date)&&(t.date=n.split(ha.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=ha.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function oM(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,s=i[2]?parseInt(i[2]):null;return{year:s===null?r:s*100,restDateString:n.slice((i[1]||i[2]).length)}}function aM(n,t){if(t===null)return new Date(NaN);const e=n.match(nM);if(!e)return new Date(NaN);const i=!!e[4],r=Bs(e[1]),s=Bs(e[2])-1,a=Bs(e[3]),l=Bs(e[4]),u=Bs(e[5])-1;if(i)return pM(t,l,u)?uM(t,l,u):new Date(NaN);{const d=new Date(0);return!fM(t,s,a)||!hM(t,r)?new Date(NaN):(d.setUTCFullYear(t,s,Math.max(r,a)),d)}}function Bs(n){return n?parseInt(n):1}function lM(n){const t=n.match(iM);if(!t)return NaN;const e=Fc(t[1]),i=Fc(t[2]),r=Fc(t[3]);return mM(e,i,r)?e*zr+i*Es+r*1e3:NaN}function Fc(n){return n&&parseFloat(n.replace(",","."))||0}function cM(n){if(n==="Z")return 0;const t=n.match(rM);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return gM(i,r)?e*(i*zr+r*Es):NaN}function uM(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,s=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+s),i}const dM=[31,null,31,30,31,30,31,31,30,31,30,31];function wp(n){return n%400===0||n%4===0&&n%100!==0}function fM(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(dM[t]||(wp(n)?29:28))}function hM(n,t){return t>=1&&t<=(wp(n)?366:365)}function pM(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function mM(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function gM(n,t){return t>=0&&t<=59}const vp={noDataAvailableTitle:"No data in the current time frame",noDataAvailableDescription:"Once there is traffic, it will display here",limitedResultsShown:"Grouped value limit exceeded, showing the top {maxReturned}",entityNoName:"no-name",debug:"debug",total:"Total",jumpToExplore:"Open in explorer",more_actions:"More actions",emptyEntityInfo:"Requests that do not have a value for the selected group",scatter:{median:"Median",percentile:"p{value}",outlier:"Outlier (> {label})"},chartUnits:{ms:"ms",bytes:"Byte{plural}",count:"request{plural}","count/minute":"rpm",requests:"request{plural}","token count":"token{plural}","tokens/minute":"tpm","%":"%","ops/minute":"ops/minute"},csvExport:{dataError:"Error loading data",noDataRange:"No data in selected range",noDataRetry:"Please adjust the time period and try again",timeRangeSelected:"selected",exportPreview:"Export preview",exportAsCsv:"Export as CSV",exportTimeRange:"Time range",exportDescription:"Exports a CSV of the data represented in the chart.",maximumRecordAmount:"The number of groups is limited to {value}",previewRows:"Previewing {rowsMax} of {rowsTotal} row{plural}",downloadButton:"Export",cancelButton:"Cancel",UtcOffset:"UTC offset",Timestamp:"Timestamp"},query_errors:{forbidden:{message:"Data request forbidden",details:"To access this data, either filter for an entity you have access to or request analytics viewer access from your administrator."},time_range_exceeded:{message:"Time range exceeded",details:"The time range for this report is outside of your organization's data retention period"},timeout:{message:"Data request timed out",details:"We're sorry, the request timed out. Please consider using a shorter time period or try again later."},canceled:{message:"Request canceled"},other:{message:"Bad request"}},legend:{datapointValueDisplay:"{value} {unit}"},chartLabels:{ai_count:"LLM request count",latencies_response_ms:"Response latency",latencies_upstream_ms:"Upstream latency",latencies_kong_gateway_ms:"Kong latency",latencies_kong_internal_ms:"Kong internal latency",request_body_size:"Request size",response_body_size:"Response size",response_header_content_length:"Content length",ai:{cost:"Cost",costCaching:"Caching cost",promptTokens:"Prompt tokens",completionTokens:"Completion tokens",totalTokens:"Total tokens",llmLatency:"LLM latency",fetchLatency:"Fetch latency",embeddingsLatency:"Embeddings latency"},mcp:{latency:"MCP latency",response_body_size:"MCP response size"},a2a:{latency:"A2A latency",response_body_size:"A2A response size"},ai_gateway:"AI gateway",ai_gateway_agent:"AI gateway agent",ai_gateway_consumer:"AI gateway consumer",ai_gateway_consumer_group:"AI gateway consumer group",ai_gateway_data_plane_node:"AI gateway data plane node",ai_gateway_mcp_server:"AI gateway MCP server",ai_gateway_model:"AI gateway model",ai_plugin:"AI plugin",ai_provider:"Provider",ai_request_model:"Request model",ai_response_model:"Response model",error_rate:"Error rate",request_count:"Request count",share_of_requests:"Share of requests",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",response_latency_average:"Response latency (avg)",response_latency_p99:"Response latency (p99)",response_latency_p95:"Response latency (p95)",response_latency_p50:"Response latency (p50)",kong_latency_average:"Kong latency (avg)",kong_latency_p99:"Kong latency (p99)",kong_latency_p95:"Kong latency (p95)",kong_latency_p50:"Kong latency (p50)",kong_internal_latency_average:"Kong internal latency (avg)",kong_internal_latency_p99:"Kong internal latency (p99)",kong_internal_latency_p95:"Kong internal latency (p95)",kong_internal_latency_p50:"Kong internal latency (p50)",llm_cache_status:"Cache status",llm_embeddings_model:"Embeddings model",llm_embeddings_provider:"Embeddings provider",upstream_latency_average:"Upstream latency (avg)",upstream_latency_p99:"Upstream latency (p99)",upstream_latency_p95:"Upstream latency (p95)",upstream_latency_p50:"Upstream latency (p50)",response_size_p99:"Response size (p99)",response_size_p95:"Response size (p95)",response_size_p50:"Response size (p50)",response_size_average:"Response size (avg)",response_size_sum:"Response size (sum)",response_source:"Response source",request_size_p99:"Request size (p99)",request_size_p95:"Request size (p95)",request_size_p50:"Request size (p50)",request_size_average:"Request size (avg)",request_size_sum:"Request size (sum)",control_plane:"Control plane",control_plane_group:"Control plane group",consumer:"Consumer",consumer_group:"Consumer group",oidc_credential:"OIDC credential",country_code:"Country",country:"Country",data_plane_node:"Data plane node",data_plane_node_version:"Data plane node version",api_package:"API package",api_product:"API product",api_product_version:"API product version",portal:"Portal",realm:"Realm",runtime_group:"Runtime group",gateway_service:"Gateway service",route:"Route",application:"Application",status_code:"Status code",status_code_grouped:"Status code (grouped)",total_tokens_per_minute:"Total tokens per minute",upstream_status_code:"Upstream status code",upstream_status_code_grouped:"Upstream status code group",time:"Time",Service:"Service",ServiceVersion:"Service version",Route:"Route",Application:"Application",RuntimeGroup:"Runtime group",GatewayService:"Gateway service",StatusCode:"Status code",CodeClass:"Status code (grouped)",Time:"Time",API_PRODUCT:"Api product",API_PRODUCT_VERSION:"Api product version",RUNTIME_GROUP:"Runtime group",GATEWAY_SERVICE:"Gateway service",ROUTE:"Route",APPLICATION:"Application",STATUS_CODE:"Status code",STATUS_CODE_GROUPED:"Status code (grouped)",TIME:"Time",ORGANIZATION:"Organization",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99)",LatencyP95:"Response latency (p95)",LatencyP50:"Response latency (p50)",LatencyAverage:"Response latency (avg)",UpstreamLatencyP99:"Upstream latency (p99)",UpstreamLatencyP95:"Upstream latency (p95)",UpstreamLatencyP50:"Upstream latency (p50)",UpstreamLatencyAverage:"Upstream latency (avg)",KongLatencyP99:"Kong latency (p99)",KongLatencyP95:"Kong latency (p95)",KongLatencyP50:"Kong latency (p50)",KongLatencyAverage:"Kong latency (avg)",ResponseSizeP99:"Response size (p99)",ResponseSizeP95:"Response size (p95)",ResponseSizeP50:"Response size (p50)",RequestSizeP99:"Request size (p99)",RequestSizeP95:"Request size (p95)",RequestSizeP50:"Request size (p50)",SuccessfulRequests:"Successful requests",SUCCESS:"Successful requests",FailedRequests:"Failed requests",FAILURE:"Failed requests","5XX":"5xx","4XX":"4xx","3XX":"3xx","2XX":"2xx","1XX":"1xx",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency",RESPONSE_LATENCY_P95:"Response latency",RESPONSE_LATENCY_P50:"Response latency",RESPONSE_SIZE_P99:"Response size (p99)",RESPONSE_SIZE_P95:"Response size (p95)",RESPONSE_SIZE_P50:"Response size (p50)",REQUEST_SIZE_P99:"Request size (p99)",REQUEST_SIZE_P95:"Request size (p95)",REQUEST_SIZE_P50:"Request size (p50)",CONTROL_PLANE:"Control plane",____OTHER____:"Others",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",share_of_cost:"Share of cost",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)","threshold-warning":"Warning threshold: {value}","threshold-error":"Error threshold: {value}","thatreshold-neutral":"Alert threshold: {value}",api:"API",vulnerability_count:"Vulnerability count",a2a_latency_average:"A2A latency (avg)",a2a_response_size_sum:"A2A response size (sum)",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_error:"MCP error",mcp_method:"MCP method",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum)",mcp_session_id:"MCP session ID",mcp_tool_name:"MCP tool name",mcp_response_body_size_sum:"MCP response size (sum)",control_plane_count:"Control plane count",service_count:"Gateway service count","record_bytes:sum":"Record size (sum)","record_count:sum":"Record count (sum)","request_count:sum":"Request count (sum)",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",principal:"Principal",virtual_cluster_id:"Virtual cluster",backend_cluster_id:"Backend cluster",listener_id:"Listener",principal_name:"Principal name",principal_type:"Principal type",request_type:"Request type",topic_name:"Topic name",partition_index:"Partition index",api_key:"API key",data_plane_group:"Data plane group",managed_cache:"Managed cache",network:"Network",provider:"Provider",provider_region:"Provider region",region:"Region",cache_eviction_rate:"Cache eviction rate",cache_expiration_rate:"Cache expiration rate",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max)",cache_status:"Cache status",cache_hit_rate:"Cache hit rate",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)"},metricAxisTitles:{cache_hit_rate:"Cache hit rate {unit}",error_rate:"Error rate in {unit}",request_count:"Request count",share_of_requests:"Share of requests",request_per_minute:"Requests per minute",requests_per_minute:"Requests per minute",latency_in:"Latency in {unit}",size_in:"Size in {unit}",response_latency_average:"Response latency (avg) in {unit}",response_latency_p99:"Response latency (p99) in {unit}",response_latency_p95:"Response latency (p95) in {unit}",response_latency_p50:"Response latency (p50) in {unit}",upstream_latency_p99:"Upstream latency (p99) in {unit}",upstream_latency_p95:"Upstream latency (p95) in {unit}",upstream_latency_p50:"Upstream latency (p50) in {unit}",kong_latency_p99:"Kong latency (p99) in {unit}",kong_latency_p95:"Kong latency (p95) in {unit}",kong_latency_p50:"Kong latency (p50) in {unit}",kong_internal_latency_average:"Kong internal latency (avg) in {unit}",kong_internal_latency_p99:"Kong internal latency (p99) in {unit}",kong_internal_latency_p95:"Kong internal latency (p95) in {unit}",kong_internal_latency_p50:"Kong internal latency (p50) in {unit}",response_size_p99:"Response size (p99) in {unit}",response_size_p95:"Response size (p95) in {unit}",response_size_p50:"Response size (p50) in {unit}",request_size_p99:"Request size (p99) in {unit}",request_size_p95:"Request size (p95) in {unit}",request_size_p50:"Request size (p50) in {unit}",request_size_sum:"Request size (sum) in {unit}",REQUEST_COUNT:"Request count",REQUEST_PER_MINUTE:"Requests per minute",RESPONSE_LATENCY_P99:"Response latency (p99) in {unit}",RESPONSE_LATENCY_P95:"Response latency (p95) in {unit}",RESPONSE_LATENCY_P50:"Response latency (p50) in {unit}",RESPONSE_SIZE_P99:"Response size (p99) in {unit}",RESPONSE_SIZE_P95:"Response size (p95) in {unit}",RESPONSE_SIZE_P50:"Response size (p50) in {unit}",REQUEST_SIZE_P99:"Request size (p99) in {unit}",REQUEST_SIZE_P95:"Request size (p95) in {unit}",REQUEST_SIZE_P50:"Request size (p50) in {unit}",TotalRequests:"Request count",RequestsPerMinute:"Requests per minute",LatencyP99:"Response latency (p99) in {unit}",LatencyP95:"Response latency (p95) in {unit}",LatencyP50:"Response latency (p50) in {unit}",LatencyAverage:"Response latency (avg) in {unit}",UpstreamLatencyP99:"Upstream latency (p99) in {unit}",UpstreamLatencyP95:"Upstream latency (p95) in {unit}",UpstreamLatencyP50:"Upstream latency (p50) in {unit}",UpstreamLatencyAverage:"Upstream latency (avg) in {unit}",KongLatencyP99:"Kong latency (p99) in {unit}",KongLatencyP95:"Kong latency (p95) in {unit}",KongLatencyP50:"Kong latency (p50) in {unit}",KongLatencyAverage:"Kong latency (avg) in {unit}",ResponseSizeP99:"Response size (p99) in {unit}",ResponseSizeP95:"Response size (p95) in {unit}",ResponseSizeP50:"Response size (p50) in {unit}",RequestSizeP99:"Request size (p99) in {unit}",RequestSizeP95:"Request size (p95) in {unit}",RequestSizeP50:"Request size (p50) in {unit}",ai_request_count:"Request count",total_tokens:"Total token count",prompt_tokens:"Prompt token count",completion_tokens:"Completion token count",cost:"Costs",cost_per_request_average:"Cost per request (avg)",share_of_cost:"Share of cost",llm_cache_embeddings_latency_average:"Embeddings latency (avg)",llm_cache_fetch_latency_average:"Fetch latency (avg)",llm_latency_average:"Llm latency (avg)",api:"API",a2a_latency_average:"A2A latency (avg) in {unit}",a2a_response_size_sum:"A2A response size (sum) in {unit}",a2a_context_id:"A2A context ID",a2a_error:"A2A error",a2a_method:"A2A method",a2a_task_id:"A2A task ID",active_agents:"Active agents",mcp_latency_average:"MCP latency (avg)",mcp_latency_p99:"MCP latency (p99)",mcp_latency_p95:"MCP latency (p95)",mcp_latency_p50:"MCP latency (p50)",mcp_response_size_sum:"MCP response size (sum) in {unit}",mcp_response_body_size_sum:"MCP response body size (sum) in {unit}",control_plane_count:"Control plane count",service_count:"Gateway service count",route_count:"Route count",consumer_count:"Consumer count",plugin_count:"Plugin count",node_count:"Data plane node count",cache_eviction_rate:"Cache eviction rate in {unit}",cache_expiration_rate:"Cache expiration rate in {unit}",cache_items_average:"Cache items (avg)",cache_memory_utilization_max:"Cache memory utilization (max) in {unit}",cached_tokens:"Cached tokens",time_to_first_token_average:"Time to first token (avg)",time_to_first_token_p99:"Time to first token (p99)",time_to_first_token_p95:"Time to first token (p95)",time_to_first_token_p50:"Time to first token (p50)",time_per_token_average:"Time per token (avg)",time_per_token_p99:"Time per token (p99)",time_per_token_p95:"Time per token (p95)",time_per_token_p50:"Time per token (p50)",total_tokens_per_minute:"Total tokens per minute"},granularityAxisTitles:{tenSecondly:"@timestamp per 10 seconds",thirtySecondly:"@timestamp per 30 seconds",minutely:"@timestamp per minute",fiveMinutely:"@timestamp per 5 minutes",tenMinutely:"@timestamp per 10 minutes",thirtyMinutely:"@timestamp per 30 minutes",hourly:"@timestamp per hour",twoHourly:"@timestamp per 2 hours",twelveHourly:"@timestamp per 12 hours",daily:"@timestamp per day",weekly:"@timestamp per week"},timestampAxisTitles:{platform:"@timestamp created at"},topNTable:{nameLabel:"Name",defaultEmptyStateTitle:"No data to display",defaultErrorStateTitle:"Something went wrong",errors:{meta:"Error: response must contain 'meta'",display:"Error: 'display' response incorrectly formatted (must have at least one key)",metricNames:"Error: 'metricNames' response incorrectly formatted (must have at least one entry)"}},singleValue:{valueError:"Invalid configuration",trend:{not_available:"Not available"}},new_timerange_label:"Time range",sparkline_no_data:"No data",zoom_action_items:{zoom:"Zoom in",view_requests:"View requests",cancel:"Cancel",explore:"Explore"},zoom_time_range:{from:"From",to:"To"}};function yM(){const n=Zf.createI18n("en-us",vp);return{i18n:n,i18nT:Zf.i18nTComponent(n)}}function Fs(n){return n+.5|0}const Mi=(n,t,e)=>Math.max(Math.min(n,e),t);function zs(n){return Mi(Fs(n*2.55),0,255)}function ki(n){return Mi(Fs(n*255),0,255)}function ii(n){return Mi(Fs(n/2.55)/100,0,1)}function Sp(n){return Mi(Fs(n*100),0,100)}const kn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},zc=[..."0123456789ABCDEF"],_M=n=>zc[n&15],bM=n=>zc[(n&240)>>4]+zc[n&15],pa=n=>(n&240)>>4===(n&15),xM=n=>pa(n.r)&&pa(n.g)&&pa(n.b)&&pa(n.a);function wM(n){var t=n.length,e;return n[0]==="#"&&(t===4||t===5?e={r:255&kn[n[1]]*17,g:255&kn[n[2]]*17,b:255&kn[n[3]]*17,a:t===5?kn[n[4]]*17:255}:(t===7||t===9)&&(e={r:kn[n[1]]<<4|kn[n[2]],g:kn[n[3]]<<4|kn[n[4]],b:kn[n[5]]<<4|kn[n[6]],a:t===9?kn[n[7]]<<4|kn[n[8]]:255})),e}const vM=(n,t)=>n<255?t(n):"";function SM(n){var t=xM(n)?_M:bM;return n?"#"+t(n.r)+t(n.g)+t(n.b)+vM(n.a,t):void 0}const TM=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Tp(n,t,e){const i=t*Math.min(e,1-e),r=(s,a=(s+n/30)%12)=>e-i*Math.max(Math.min(a-3,9-a,1),-1);return[r(0),r(8),r(4)]}function MM(n,t,e){const i=(r,s=(r+n/60)%6)=>e-e*t*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function kM(n,t,e){const i=Tp(n,1,.5);let r;for(t+e>1&&(r=1/(t+e),t*=r,e*=r),r=0;r<3;r++)i[r]*=1-t-e,i[r]+=t;return i}function DM(n,t,e,i,r){return n===r?(t-e)/i+(t<e?6:0):t===r?(e-n)/i+2:(n-t)/i+4}function Uc(n){const e=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(e,i,r),a=Math.min(e,i,r),l=(s+a)/2;let u,d,f;return s!==a&&(f=s-a,d=l>.5?f/(2-s-a):f/(s+a),u=DM(e,i,r,f,s),u=u*60+.5),[u|0,d||0,l]}function Hc(n,t,e,i){return(Array.isArray(t)?n(t[0],t[1],t[2]):n(t,e,i)).map(ki)}function Wc(n,t,e){return Hc(Tp,n,t,e)}function CM(n,t,e){return Hc(kM,n,t,e)}function OM(n,t,e){return Hc(MM,n,t,e)}function Mp(n){return(n%360+360)%360}function AM(n){const t=TM.exec(n);let e=255,i;if(!t)return;t[5]!==i&&(e=t[6]?zs(+t[5]):ki(+t[5]));const r=Mp(+t[2]),s=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?i=CM(r,s,a):t[1]==="hsv"?i=OM(r,s,a):i=Wc(r,s,a),{r:i[0],g:i[1],b:i[2],a:e}}function RM(n,t){var e=Uc(n);e[0]=Mp(e[0]+t),e=Wc(e),n.r=e[0],n.g=e[1],n.b=e[2]}function EM(n){if(!n)return;const t=Uc(n),e=t[0],i=Sp(t[1]),r=Sp(t[2]);return n.a<255?`hsla(${e}, ${i}%, ${r}%, ${ii(n.a)})`:`hsl(${e}, ${i}%, ${r}%)`}const kp={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Dp={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function PM(){const n={},t=Object.keys(Dp),e=Object.keys(kp);let i,r,s,a,l;for(i=0;i<t.length;i++){for(a=l=t[i],r=0;r<e.length;r++)s=e[r],l=l.replace(s,kp[s]);s=parseInt(Dp[a],16),n[l]=[s>>16&255,s>>8&255,s&255]}return n}let ma;function IM(n){ma||(ma=PM(),ma.transparent=[0,0,0,0]);const t=ma[n.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const LM=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function NM(n){const t=LM.exec(n);let e=255,i,r,s;if(t){if(t[7]!==i){const a=+t[7];e=t[8]?zs(a):Mi(a*255,0,255)}return i=+t[1],r=+t[3],s=+t[5],i=255&(t[2]?zs(i):Mi(i,0,255)),r=255&(t[4]?zs(r):Mi(r,0,255)),s=255&(t[6]?zs(s):Mi(s,0,255)),{r:i,g:r,b:s,a:e}}}function BM(n){return n&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ii(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`)}const $c=n=>n<=.0031308?n*12.92:Math.pow(n,1/2.4)*1.055-.055,Wr=n=>n<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4);function FM(n,t,e){const i=Wr(ii(n.r)),r=Wr(ii(n.g)),s=Wr(ii(n.b));return{r:ki($c(i+e*(Wr(ii(t.r))-i))),g:ki($c(r+e*(Wr(ii(t.g))-r))),b:ki($c(s+e*(Wr(ii(t.b))-s))),a:n.a+e*(t.a-n.a)}}function ga(n,t,e){if(n){let i=Uc(n);i[t]=Math.max(0,Math.min(i[t]+i[t]*e,t===0?360:1)),i=Wc(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function Cp(n,t){return n&&Object.assign(t||{},n)}function Op(n){var t={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(t={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(t.a=ki(n[3]))):(t=Cp(n,{r:0,g:0,b:0,a:1}),t.a=ki(t.a)),t}function zM(n){return n.charAt(0)==="r"?NM(n):AM(n)}class Us{constructor(t){if(t instanceof Us)return t;const e=typeof t;let i;e==="object"?i=Op(t):e==="string"&&(i=wM(t)||IM(t)||zM(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=Cp(this._rgb);return t&&(t.a=ii(t.a)),t}set rgb(t){this._rgb=Op(t)}rgbString(){return this._valid?BM(this._rgb):void 0}hexString(){return this._valid?SM(this._rgb):void 0}hslString(){return this._valid?EM(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,r=t.rgb;let s;const a=e===s?.5:e,l=2*a-1,u=i.a-r.a,d=((l*u===-1?l:(l+u)/(1+l*u))+1)/2;s=1-d,i.r=255&d*i.r+s*r.r+.5,i.g=255&d*i.g+s*r.g+.5,i.b=255&d*i.b+s*r.b+.5,i.a=a*i.a+(1-a)*r.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=FM(this._rgb,t._rgb,e)),this}clone(){return new Us(this.rgb)}alpha(t){return this._rgb.a=ki(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=Fs(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return ga(this._rgb,2,t),this}darken(t){return ga(this._rgb,2,-t),this}saturate(t){return ga(this._rgb,1,t),this}desaturate(t){return ga(this._rgb,1,-t),this}rotate(t){return RM(this._rgb,t),this}}function ri(){}const UM=(()=>{let n=0;return()=>n++})();function vt(n){return n==null}function qt(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function It(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function ae(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function mn(n,t){return ae(n)?n:t}function Ct(n,t){return typeof n>"u"?t:n}const HM=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,Ap=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function Qt(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function Jt(n,t,e,i){let r,s,a;if(qt(n))for(s=n.length,r=0;r<s;r++)t.call(e,n[r],r);else if(It(n))for(a=Object.keys(n),s=a.length,r=0;r<s;r++)t.call(e,n[a[r]],a[r])}function ya(n,t){let e,i,r,s;if(!n||!t||n.length!==t.length)return!1;for(e=0,i=n.length;e<i;++e)if(r=n[e],s=t[e],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function _a(n){if(qt(n))return n.map(_a);if(It(n)){const t=Object.create(null),e=Object.keys(n),i=e.length;let r=0;for(;r<i;++r)t[e[r]]=_a(n[e[r]]);return t}return n}function Rp(n){return["__proto__","prototype","constructor"].indexOf(n)===-1}function WM(n,t,e,i){if(!Rp(n))return;const r=t[n],s=e[n];It(r)&&It(s)?Hs(r,s,i):t[n]=_a(s)}function Hs(n,t,e){const i=qt(t)?t:[t],r=i.length;if(!It(n))return n;e=e||{};const s=e.merger||WM;let a;for(let l=0;l<r;++l){if(a=i[l],!It(a))continue;const u=Object.keys(a);for(let d=0,f=u.length;d<f;++d)s(u[d],n,a,e)}return n}function Ws(n,t){return Hs(n,t,{merger:$M})}function $M(n,t,e){if(!Rp(n))return;const i=t[n],r=e[n];It(i)&&It(r)?Ws(i,r):Object.prototype.hasOwnProperty.call(t,n)||(t[n]=_a(r))}const Ep={"":n=>n,x:n=>n.x,y:n=>n.y};function VM(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function YM(n){const t=VM(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function Di(n,t){return(Ep[t]||(Ep[t]=YM(t)))(n)}function Vc(n){return n.charAt(0).toUpperCase()+n.slice(1)}const rn=n=>typeof n<"u",sn=n=>typeof n=="function",Pp=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function qM(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const Et=Math.PI,te=2*Et,jM=te+Et,ba=Number.POSITIVE_INFINITY,Yc=Et/180,re=Et/2,Dn=Et/4,xa=Et*2/3,Ci=Math.log10,qn=Math.sign;function $s(n,t,e){return Math.abs(n-t)<e}function Ip(n){const t=Math.round(n);n=$s(n,t,n/1e3)?t:n;const e=Math.pow(10,Math.floor(Ci(n))),i=n/e;return(i<=1?1:i<=2?2:i<=5?5:10)*e}function GM(n){const t=[],e=Math.sqrt(n);let i;for(i=1;i<e;i++)n%i===0&&(t.push(i),t.push(n/i));return e===(e|0)&&t.push(e),t.sort((r,s)=>r-s).pop(),t}function KM(n){return typeof n=="symbol"||typeof n=="object"&&n!==null&&!(Symbol.toPrimitive in n||"toString"in n||"valueOf"in n)}function Oi(n){return!KM(n)&&!isNaN(parseFloat(n))&&isFinite(n)}function XM(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function Lp(n,t,e){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][e],isNaN(s)||(t.min=Math.min(t.min,s),t.max=Math.max(t.max,s))}function we(n){return n*(Et/180)}function wa(n){return n*(180/Et)}function Np(n){if(!ae(n))return;let t=1,e=0;for(;Math.round(n*t)/t!==n;)t*=10,e++;return e}function va(n,t){const e=t.x-n.x,i=t.y-n.y,r=Math.sqrt(e*e+i*i);let s=Math.atan2(i,e);return s<-.5*Et&&(s+=te),{angle:s,distance:r}}function $r(n,t){return Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2))}function ZM(n,t){return(n-t+jM)%te-Et}function He(n){return(n%te+te)%te}function Vs(n,t,e,i){const r=He(n),s=He(t),a=He(e),l=He(s-r),u=He(a-r),d=He(r-s),f=He(r-a);return r===s||r===a||i&&s===a||l>u&&d<f}function Oe(n,t,e){return Math.max(t,Math.min(e,n))}function QM(n){return Oe(n,-32768,32767)}function si(n,t,e,i=1e-6){return n>=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function qc(n,t,e){e=e||(a=>n[a]<t);let i=n.length-1,r=0,s;for(;i-r>1;)s=r+i>>1,e(s)?r=s:i=s;return{lo:r,hi:i}}const oi=(n,t,e,i)=>qc(n,e,i?r=>{const s=n[r][t];return s<e||s===e&&n[r+1][t]===e}:r=>n[r][t]<e),JM=(n,t,e)=>qc(n,e,i=>n[i][t]>=e);function tk(n,t,e){let i=0,r=n.length;for(;i<r&&n[i]<t;)i++;for(;r>i&&n[r-1]>e;)r--;return i>0||r<n.length?n.slice(i,r):n}const Bp=["push","pop","shift","splice","unshift"];function ek(n,t){if(n._chartjs){n._chartjs.listeners.push(t);return}Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Bp.forEach(e=>{const i="_onData"+Vc(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...s){const a=r.apply(this,s);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...s)}),a}})})}function Fp(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(Bp.forEach(s=>{delete n[s]}),delete n._chartjs)}function zp(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const Up=(function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame})();function Hp(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,Up.call(window,()=>{i=!1,n.apply(t,e)}))}}function nk(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const jc=n=>n==="start"?"left":n==="end"?"right":"center",We=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,ik=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function Wp(n,t,e){const i=t.length;let r=0,s=i;if(n._sorted){const{iScale:a,vScale:l,_parsed:u}=n,d=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null,f=a.axis,{min:m,max:g,minDefined:_,maxDefined:x}=a.getUserBounds();if(_){if(r=Math.min(oi(u,f,m).lo,e?i:oi(t,f,a.getPixelForValue(m)).lo),d){const w=u.slice(0,r+1).reverse().findIndex(v=>!vt(v[l.axis]));r-=Math.max(0,w)}r=Oe(r,0,i-1)}if(x){let w=Math.max(oi(u,a.axis,g,!0).hi+1,e?0:oi(t,f,a.getPixelForValue(g),!0).hi+1);if(d){const v=u.slice(w-1).findIndex(C=>!vt(C[l.axis]));w+=Math.max(0,v)}s=Oe(w,r,i)-r}else s=i-r}return{start:r,count:s}}function $p(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),s}const Sa=n=>n===0||n===1,Vp=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*te/e)),Yp=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*te/e)+1,Ys={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*re)+1,easeOutSine:n=>Math.sin(n*re),easeInOutSine:n=>-.5*(Math.cos(Et*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>Sa(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Sa(n)?n:Vp(n,.075,.3),easeOutElastic:n=>Sa(n)?n:Yp(n,.075,.3),easeInOutElastic(n){return Sa(n)?n:n<.5?.5*Vp(n*2,.1125,.45):.5+.5*Yp(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-Ys.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?Ys.easeInBounce(n*2)*.5:Ys.easeOutBounce(n*2-1)*.5+.5};function Gc(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function Ta(n){return Gc(n)?n:new Us(n)}function Kc(n){return Gc(n)?n:new Us(n).saturate(.5).darken(.1).hexString()}const rk=["x","y","borderWidth","radius","tension"],sk=["color","borderColor","backgroundColor"];function ok(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:sk},numbers:{type:"number",properties:rk}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function ak(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const qp=new Map;function lk(n,t){t=t||{};const e=n+JSON.stringify(t);let i=qp.get(e);return i||(i=new Intl.NumberFormat(n,t),qp.set(e,i)),i}function qs(n,t,e){return lk(t,e).format(n)}const jp={values(n){return qt(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,s=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),s=ck(n,e)}const a=Ci(Math.abs(s)),l=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),qs(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(Ci(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?jp.numeric.call(this,n,t,e):""}};function ck(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ma={formatters:jp};function uk(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ma.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ar=Object.create(null),Xc=Object.create(null);function js(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;i<r;++i){const s=e[i];n=n[s]||(n[s]=Object.create(null))}return n}function Zc(n,t,e){return typeof t=="string"?Hs(js(n,t),e):Hs(js(n,""),t)}class dk{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>Kc(r.backgroundColor),this.hoverBorderColor=(i,r)=>Kc(r.borderColor),this.hoverColor=(i,r)=>Kc(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Zc(this,t,e)}get(t){return js(this,t)}describe(t,e){return Zc(Xc,t,e)}override(t,e){return Zc(ar,t,e)}route(t,e,i,r){const s=js(this,t),a=js(this,i),l="_"+e;Object.defineProperties(s,{[l]:{value:s[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=a[r];return It(u)?Object.assign({},d,u):Ct(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var se=new dk({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[ok,ak,uk]);function fk(n){return!n||vt(n.size)||vt(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function ka(n,t,e,i,r){let s=t[r];return s||(s=t[r]=n.measureText(r).width,e.push(r)),s>i&&(i=s),i}function hk(n,t,e,i){i=i||{};let r=i.data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},s=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let a=0;const l=e.length;let u,d,f,m,g;for(u=0;u<l;u++)if(m=e[u],m!=null&&!qt(m))a=ka(n,r,s,a,m);else if(qt(m))for(d=0,f=m.length;d<f;d++)g=m[d],g!=null&&!qt(g)&&(a=ka(n,r,s,a,g));n.restore();const _=s.length/2;if(_>e.length){for(u=0;u<_;u++)delete r[s[u]];s.splice(0,_)}return a}function lr(n,t,e){const i=n.currentDevicePixelRatio,r=e!==0?Math.max(e/2,.5):0;return Math.round((t-r)*i)/i+r}function Gp(n,t){!t&&!n||(t=t||n.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,n.width,n.height),t.restore())}function Qc(n,t,e,i){Kp(n,t,e,i,null)}function Kp(n,t,e,i,r){let s,a,l,u,d,f,m,g;const _=t.pointStyle,x=t.rotation,w=t.radius;let v=(x||0)*Yc;if(_&&typeof _=="object"&&(s=_.toString(),s==="[object HTMLImageElement]"||s==="[object HTMLCanvasElement]")){n.save(),n.translate(e,i),n.rotate(v),n.drawImage(_,-_.width/2,-_.height/2,_.width,_.height),n.restore();return}if(!(isNaN(w)||w<=0)){switch(n.beginPath(),_){default:r?n.ellipse(e,i,r/2,w,0,0,te):n.arc(e,i,w,0,te),n.closePath();break;case"triangle":f=r?r/2:w,n.moveTo(e+Math.sin(v)*f,i-Math.cos(v)*w),v+=xa,n.lineTo(e+Math.sin(v)*f,i-Math.cos(v)*w),v+=xa,n.lineTo(e+Math.sin(v)*f,i-Math.cos(v)*w),n.closePath();break;case"rectRounded":d=w*.516,u=w-d,a=Math.cos(v+Dn)*u,m=Math.cos(v+Dn)*(r?r/2-d:u),l=Math.sin(v+Dn)*u,g=Math.sin(v+Dn)*(r?r/2-d:u),n.arc(e-m,i-l,d,v-Et,v-re),n.arc(e+g,i-a,d,v-re,v),n.arc(e+m,i+l,d,v,v+re),n.arc(e-g,i+a,d,v+re,v+Et),n.closePath();break;case"rect":if(!x){u=Math.SQRT1_2*w,f=r?r/2:u,n.rect(e-f,i-u,2*f,2*u);break}v+=Dn;case"rectRot":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+g,i-a),n.lineTo(e+m,i+l),n.lineTo(e-g,i+a),n.closePath();break;case"crossRot":v+=Dn;case"cross":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a);break;case"star":m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a),v+=Dn,m=Math.cos(v)*(r?r/2:w),a=Math.cos(v)*w,l=Math.sin(v)*w,g=Math.sin(v)*(r?r/2:w),n.moveTo(e-m,i-l),n.lineTo(e+m,i+l),n.moveTo(e+g,i-a),n.lineTo(e-g,i+a);break;case"line":a=r?r/2:Math.cos(v)*w,l=Math.sin(v)*w,n.moveTo(e-a,i-l),n.lineTo(e+a,i+l);break;case"dash":n.moveTo(e,i),n.lineTo(e+Math.cos(v)*(r?r/2:w),i+Math.sin(v)*w);break;case!1:n.closePath();break}n.fill(),t.borderWidth>0&&n.stroke()}}function ai(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.x<t.right+e&&n.y>t.top-e&&n.y<t.bottom+e}function Gs(n,t){n.save(),n.beginPath(),n.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),n.clip()}function Ks(n){n.restore()}function pk(n,t,e,i,r){if(!t)return n.lineTo(e.x,e.y);if(r==="middle"){const s=(t.x+e.x)/2;n.lineTo(s,t.y),n.lineTo(s,e.y)}else r==="after"!=!!i?n.lineTo(t.x,e.y):n.lineTo(e.x,t.y);n.lineTo(e.x,e.y)}function mk(n,t,e,i){if(!t)return n.lineTo(e.x,e.y);n.bezierCurveTo(i?t.cp1x:t.cp2x,i?t.cp1y:t.cp2y,i?e.cp2x:e.cp1x,i?e.cp2y:e.cp1y,e.x,e.y)}function gk(n,t){t.translation&&n.translate(t.translation[0],t.translation[1]),vt(t.rotation)||n.rotate(t.rotation),t.color&&(n.fillStyle=t.color),t.textAlign&&(n.textAlign=t.textAlign),t.textBaseline&&(n.textBaseline=t.textBaseline)}function yk(n,t,e,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),a=t-s.actualBoundingBoxLeft,l=t+s.actualBoundingBoxRight,u=e-s.actualBoundingBoxAscent,d=e+s.actualBoundingBoxDescent,f=r.strikethrough?(u+d)/2:d;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(a,f),n.lineTo(l,f),n.stroke()}}function _k(n,t){const e=n.fillStyle;n.fillStyle=t.color,n.fillRect(t.left,t.top,t.width,t.height),n.fillStyle=e}function cr(n,t,e,i,r,s={}){const a=qt(t)?t:[t],l=s.strokeWidth>0&&s.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,gk(n,s),u=0;u<a.length;++u)d=a[u],s.backdrop&&_k(n,s.backdrop),l&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),vt(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(d,e,i,s.maxWidth)),n.fillText(d,e,i,s.maxWidth),yk(n,e,i,d,s),i+=Number(r.lineHeight);n.restore()}function Vr(n,t){const{x:e,y:i,w:r,h:s,radius:a}=t;n.arc(e+a.topLeft,i+a.topLeft,a.topLeft,1.5*Et,Et,!0),n.lineTo(e,i+s-a.bottomLeft),n.arc(e+a.bottomLeft,i+s-a.bottomLeft,a.bottomLeft,Et,re,!0),n.lineTo(e+r-a.bottomRight,i+s),n.arc(e+r-a.bottomRight,i+s-a.bottomRight,a.bottomRight,re,0,!0),n.lineTo(e+r,i+a.topRight),n.arc(e+r-a.topRight,i+a.topRight,a.topRight,0,-re,!0),n.lineTo(e+a.topLeft,i)}const bk=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,xk=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function wk(n,t){const e=(""+n).match(bk);if(!e||e[1]==="normal")return t*1.2;switch(n=+e[2],e[3]){case"px":return n;case"%":n/=100;break}return t*n}const vk=n=>+n||0;function Jc(n,t){const e={},i=It(t),r=i?Object.keys(t):t,s=It(n)?i?a=>Ct(n[a],n[t[a]]):a=>n[a]:()=>n;for(const a of r)e[a]=vk(s(a));return e}function Xp(n){return Jc(n,{top:"y",right:"x",bottom:"y",left:"x"})}function Ai(n){return Jc(n,["topLeft","topRight","bottomLeft","bottomRight"])}function ve(n){const t=Xp(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function le(n,t){n=n||{},t=t||se.font;let e=Ct(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=Ct(n.style,t.style);i&&!(""+i).match(xk)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:Ct(n.family,t.family),lineHeight:wk(Ct(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:Ct(n.weight,t.weight),string:""};return r.string=fk(r),r}function Xs(n,t,e,i){let r,s,a;for(r=0,s=n.length;r<s;++r)if(a=n[r],a!==void 0&&a!==void 0)return a}function Sk(n,t,e){const{min:i,max:r}=n,s=Ap(t,(r-i)/2),a=(l,u)=>e&&l===0?0:l+u;return{min:a(i,-Math.abs(s)),max:a(r,s)}}function Ri(n,t){return Object.assign(Object.create(n),t)}function tu(n,t=[""],e,i,r=()=>n[0]){const s=e||n;typeof i>"u"&&(i=em("_fallback",n));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:s,_fallback:i,_getTarget:r,override:l=>tu([l,...n],t,s,i)};return new Proxy(a,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return Qp(l,u,()=>Rk(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return nm(l).includes(u)},ownKeys(l){return nm(l)},set(l,u,d){const f=l._storage||(l._storage=r());return l[u]=f[u]=d,delete l._keys,!0}})}function Yr(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:Zp(n,i),setContext:s=>Yr(n,s,e,i),override:s=>Yr(n.override(s),t,e,i)};return new Proxy(r,{deleteProperty(s,a){return delete s[a],delete n[a],!0},get(s,a,l){return Qp(s,a,()=>Mk(s,a,l))},getOwnPropertyDescriptor(s,a){return s._descriptors.allKeys?Reflect.has(n,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,a)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(s,a){return Reflect.has(n,a)},ownKeys(){return Reflect.ownKeys(n)},set(s,a,l){return n[a]=l,delete s[a],!0}})}function Zp(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:sn(e)?e:()=>e,isIndexable:sn(i)?i:()=>i}}const Tk=(n,t)=>n?n+Vc(t):t,eu=(n,t)=>It(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Qp(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t)||t==="constructor")return n[t];const i=e();return n[t]=i,i}function Mk(n,t,e){const{_proxy:i,_context:r,_subProxy:s,_descriptors:a}=n;let l=i[t];return sn(l)&&a.isScriptable(t)&&(l=kk(t,l,n,e)),qt(l)&&l.length&&(l=Dk(t,l,n,a.isIndexable)),eu(t,l)&&(l=Yr(l,r,s&&s[t],a)),l}function kk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(s,a||i);return l.delete(n),eu(n,u)&&(u=nu(r._scopes,r,n,u)),u}function Dk(n,t,e,i){const{_proxy:r,_context:s,_subProxy:a,_descriptors:l}=e;if(typeof s.index<"u"&&i(n))return t[s.index%t.length];if(It(t[0])){const u=t,d=r._scopes.filter(f=>f!==u);t=[];for(const f of u){const m=nu(d,r,n,f);t.push(Yr(m,s,a&&a[n],l))}}return t}function Jp(n,t,e){return sn(n)?n(t,e):n}const Ck=(n,t)=>n===!0?t:typeof n=="string"?Di(t,n):void 0;function Ok(n,t,e,i,r){for(const s of t){const a=Ck(e,s);if(a){n.add(a);const l=Jp(a._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(a===!1&&typeof i<"u"&&e!==i)return null}return!1}function nu(n,t,e,i){const r=t._rootScopes,s=Jp(t._fallback,e,i),a=[...n,...r],l=new Set;l.add(i);let u=tm(l,a,e,s||e,i);return u===null||typeof s<"u"&&s!==e&&(u=tm(l,a,s,u,i),u===null)?!1:tu(Array.from(l),[""],r,s,()=>Ak(t,e,i))}function tm(n,t,e,i,r){for(;e;)e=Ok(n,t,e,i,r);return e}function Ak(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return qt(r)&&It(e)?e:r||{}}function Rk(n,t,e,i){let r;for(const s of t)if(r=em(Tk(s,n),e),typeof r<"u")return eu(n,r)?nu(e,i,n,r):r}function em(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function nm(n){let t=n._keys;return t||(t=n._keys=Ek(n._scopes)),t}function Ek(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function im(n,t,e,i){const{iScale:r}=n,{key:s="r"}=this._parsing,a=new Array(i);let l,u,d,f;for(l=0,u=i;l<u;++l)d=l+e,f=t[d],a[l]={r:r.parse(Di(f,s),d)};return a}const Pk=Number.EPSILON||1e-14,qr=(n,t)=>t<n.length&&!n[t].skip&&n[t],rm=n=>n==="x"?"y":"x";function Ik(n,t,e,i){const r=n.skip?t:n,s=t,a=e.skip?t:e,l=$r(s,r),u=$r(a,s);let d=l/(l+u),f=u/(l+u);d=isNaN(d)?0:d,f=isNaN(f)?0:f;const m=i*d,g=i*f;return{previous:{x:s.x-m*(a.x-r.x),y:s.y-m*(a.y-r.y)},next:{x:s.x+g*(a.x-r.x),y:s.y+g*(a.y-r.y)}}}function Lk(n,t,e){const i=n.length;let r,s,a,l,u,d=qr(n,0);for(let f=0;f<i-1;++f)if(u=d,d=qr(n,f+1),!(!u||!d)){if($s(t[f],0,Pk)){e[f]=e[f+1]=0;continue}r=e[f]/t[f],s=e[f+1]/t[f],l=Math.pow(r,2)+Math.pow(s,2),!(l<=9)&&(a=3/Math.sqrt(l),e[f]=r*a*t[f],e[f+1]=s*a*t[f])}}function Nk(n,t,e="x"){const i=rm(e),r=n.length;let s,a,l,u=qr(n,0);for(let d=0;d<r;++d){if(a=l,l=u,u=qr(n,d+1),!l)continue;const f=l[e],m=l[i];a&&(s=(f-a[e])/3,l[`cp1${e}`]=f-s,l[`cp1${i}`]=m-s*t[d]),u&&(s=(u[e]-f)/3,l[`cp2${e}`]=f+s,l[`cp2${i}`]=m+s*t[d])}}function Bk(n,t="x"){const e=rm(t),i=n.length,r=Array(i).fill(0),s=Array(i);let a,l,u,d=qr(n,0);for(a=0;a<i;++a)if(l=u,u=d,d=qr(n,a+1),!!u){if(d){const f=d[t]-u[t];r[a]=f!==0?(d[e]-u[e])/f:0}s[a]=l?d?qn(r[a-1])!==qn(r[a])?0:(r[a-1]+r[a])/2:r[a-1]:r[a]}Lk(n,r,s),Nk(n,s,t)}function Da(n,t,e){return Math.max(Math.min(n,e),t)}function Fk(n,t){let e,i,r,s,a,l=ai(n[0],t);for(e=0,i=n.length;e<i;++e)a=s,s=l,l=e<i-1&&ai(n[e+1],t),s&&(r=n[e],a&&(r.cp1x=Da(r.cp1x,t.left,t.right),r.cp1y=Da(r.cp1y,t.top,t.bottom)),l&&(r.cp2x=Da(r.cp2x,t.left,t.right),r.cp2y=Da(r.cp2y,t.top,t.bottom)))}function zk(n,t,e,i,r){let s,a,l,u;if(t.spanGaps&&(n=n.filter(d=>!d.skip)),t.cubicInterpolationMode==="monotone")Bk(n,r);else{let d=i?n[n.length-1]:n[0];for(s=0,a=n.length;s<a;++s)l=n[s],u=Ik(d,l,n[Math.min(s+1,a-(i?0:1))%a],t.tension),l.cp1x=u.previous.x,l.cp1y=u.previous.y,l.cp2x=u.next.x,l.cp2y=u.next.y,d=l}t.capBezierPoints&&Fk(n,e)}function iu(){return typeof window<"u"&&typeof document<"u"}function ru(n){let t=n.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Ca(n,t,e){let i;return typeof n=="string"?(i=parseInt(n,10),n.indexOf("%")!==-1&&(i=i/100*t.parentNode[e])):i=n,i}const Oa=n=>n.ownerDocument.defaultView.getComputedStyle(n,null);function Uk(n,t){return Oa(n).getPropertyValue(t)}const Hk=["top","right","bottom","left"];function ur(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const s=Hk[r];i[s]=parseFloat(n[t+"-"+s+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const Wk=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function $k(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:s}=i;let a=!1,l,u;if(Wk(r,s,n.target))l=r,u=s;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,a=!0}return{x:l,y:u,box:a}}function Ei(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=Oa(e),s=r.boxSizing==="border-box",a=ur(r,"padding"),l=ur(r,"border","width"),{x:u,y:d,box:f}=$k(n,e),m=a.left+(f&&l.left),g=a.top+(f&&l.top);let{width:_,height:x}=t;return s&&(_-=a.width+l.width,x-=a.height+l.height),{x:Math.round((u-m)/_*e.width/i),y:Math.round((d-g)/x*e.height/i)}}function Vk(n,t,e){let i,r;if(t===void 0||e===void 0){const s=n&&ru(n);if(!s)t=n.clientWidth,e=n.clientHeight;else{const a=s.getBoundingClientRect(),l=Oa(s),u=ur(l,"border","width"),d=ur(l,"padding");t=a.width-d.width-u.width,e=a.height-d.height-u.height,i=Ca(l.maxWidth,s,"clientWidth"),r=Ca(l.maxHeight,s,"clientHeight")}}return{width:t,height:e,maxWidth:i||ba,maxHeight:r||ba}}const Pi=n=>Math.round(n*10)/10;function Yk(n,t,e,i){const r=Oa(n),s=ur(r,"margin"),a=Ca(r.maxWidth,n,"clientWidth")||ba,l=Ca(r.maxHeight,n,"clientHeight")||ba,u=Vk(n,t,e);let{width:d,height:f}=u;if(r.boxSizing==="content-box"){const g=ur(r,"border","width"),_=ur(r,"padding");d-=_.width+g.width,f-=_.height+g.height}return d=Math.max(0,d-s.width),f=Math.max(0,i?d/i:f-s.height),d=Pi(Math.min(d,a,u.maxWidth)),f=Pi(Math.min(f,l,u.maxHeight)),d&&!f&&(f=Pi(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&f>u.height&&(f=u.height,d=Pi(Math.floor(f*i))),{width:d,height:f}}function sm(n,t,e){const i=t||1,r=Pi(n.height*i),s=Pi(n.width*i);n.height=Pi(n.height),n.width=Pi(n.width);const a=n.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${n.height}px`,a.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||a.height!==r||a.width!==s?(n.currentDevicePixelRatio=i,a.height=r,a.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const qk=(function(){let n=!1;try{const t={get passive(){return n=!0,!1}};iu()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n})();function om(n,t){const e=Uk(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function dr(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function jk(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function Gk(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},s={x:t.cp1x,y:t.cp1y},a=dr(n,r,e),l=dr(r,s,e),u=dr(s,t,e),d=dr(a,l,e),f=dr(l,u,e);return dr(d,f,e)}const Kk=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},Xk=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function jr(n,t,e){return n?Kk(t,e):Xk()}function am(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function lm(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function cm(n){return n==="angle"?{between:Vs,compare:ZM,normalize:He}:{between:si,compare:(t,e)=>t-e,normalize:t=>t}}function um({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function Zk(n,t,e){const{property:i,start:r,end:s}=e,{between:a,normalize:l}=cm(i),u=t.length;let{start:d,end:f,loop:m}=n,g,_;if(m){for(d+=u,f+=u,g=0,_=u;g<_&&a(l(t[d%u][i]),r,s);++g)d--,f--;d%=u,f%=u}return f<d&&(f+=u),{start:d,end:f,loop:m,style:n.style}}function dm(n,t,e){if(!e)return[n];const{property:i,start:r,end:s}=e,a=t.length,{compare:l,between:u,normalize:d}=cm(i),{start:f,end:m,loop:g,style:_}=Zk(n,t,e),x=[];let w=!1,v=null,C,A,z;const I=()=>u(r,z,C)&&l(r,z)!==0,L=()=>l(s,C)===0||u(s,z,C),B=()=>w||I(),F=()=>!w||L();for(let M=f,T=f;M<=m;++M)A=t[M%a],!A.skip&&(C=d(A[i]),C!==z&&(w=u(C,r,s),v===null&&B()&&(v=l(C,r)===0?M:T),v!==null&&F()&&(x.push(um({start:v,end:M,loop:g,count:a,style:_})),v=null),T=M,z=C));return v!==null&&x.push(um({start:v,end:m,loop:g,count:a,style:_})),x}function fm(n,t){const e=[],i=n.segments;for(let r=0;r<i.length;r++){const s=dm(i[r],n.points,t);s.length&&e.push(...s)}return e}function Qk(n,t,e,i){let r=0,s=t-1;if(e&&!i)for(;r<t&&!n[r].skip;)r++;for(;r<t&&n[r].skip;)r++;for(r%=t,e&&(s+=r);s>r&&n[s%t].skip;)s--;return s%=t,{start:r,end:s}}function Jk(n,t,e,i){const r=n.length,s=[];let a=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,s.push({start:t%r,end:(u-1)%r,loop:i}),t=a=d.stop?u:null):(a=u,l.skip&&(t=u)),l=d}return a!==null&&s.push({start:t%r,end:a%r,loop:i}),s}function tD(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const s=!!n._loop,{start:a,end:l}=Qk(e,r,s,i);if(i===!0)return hm(n,[{start:a,end:l,loop:s}],e,t);const u=l<a?l+r:l,d=!!n._fullLoop&&a===0&&l===r-1;return hm(n,Jk(e,a,u,d),e,t)}function hm(n,t,e,i){return!i||!i.setContext||!e?t:eD(n,t,e,i)}function eD(n,t,e,i){const r=n._chart.getContext(),s=pm(n.options),{_datasetIndex:a,options:{spanGaps:l}}=n,u=e.length,d=[];let f=s,m=t[0].start,g=m;function _(x,w,v,C){const A=l?-1:1;if(x!==w){for(x+=u;e[x%u].skip;)x-=A;for(;e[w%u].skip;)w+=A;x%u!==w%u&&(d.push({start:x%u,end:w%u,loop:v,style:C}),f=C,m=w%u)}}for(const x of t){m=l?m:x.start;let w=e[m%u],v;for(g=m+1;g<=x.end;g++){const C=e[g%u];v=pm(i.setContext(Ri(r,{type:"segment",p0:w,p1:C,p0DataIndex:(g-1)%u,p1DataIndex:g%u,datasetIndex:a}))),nD(v,f)&&_(m,g-1,x.loop,f),w=C,f=v}m<g-1&&_(m,g-1,x.loop,f)}return d}function pm(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function nD(n,t){if(!t)return!1;const e=[],i=function(r,s){return Gc(s)?(e.includes(s)||e.push(s),e.indexOf(s)):s};return JSON.stringify(n,i)!==JSON.stringify(t,i)}function Aa(n,t,e){return n.options.clip?n[e]:t[e]}function iD(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:Aa(e,t,"left"),right:Aa(e,t,"right"),top:Aa(i,t,"top"),bottom:Aa(i,t,"bottom")}:t}function mm(n,t){const e=t._clip;if(e.disabled)return!1;const i=iD(t,n.chartArea);return{left:e.left===!1?0:i.left-(e.left===!0?0:e.left),right:e.right===!1?n.width:i.right+(e.right===!0?0:e.right),top:e.top===!1?0:i.top-(e.top===!0?0:e.top),bottom:e.bottom===!1?n.height:i.bottom+(e.bottom===!0?0:e.bottom)}}class rD{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,r){const s=e.listeners[r],a=e.duration;s.forEach(l=>l({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(i-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=Up.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let a=s.length-1,l=!1,u;for(;a>=0;--a)u=s[a],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(s[a]=s[s.length-1],s.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),s.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=s.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var li=new rD;const gm="transparent",sD={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=Ta(n||gm),r=i.valid&&Ta(t||gm);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class oD{constructor(t,e,i,r){const s=e[i];r=Xs([t.to,r,s,t.from]);const a=Xs([t.from,s,r]);this._active=!0,this._fn=t.fn||sD[t.type||typeof a],this._easing=Ys[t.easing]||Ys.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,a=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=s,this._loop=!!t.loop,this._to=Xs([t.to,e,r,t.from]),this._from=Xs([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,s=this._from,a=this._loop,l=this._to;let u;if(this._active=s!==l&&(a||e<i),!this._active){this._target[r]=l,this._notify(!0);return}if(e<0){this._target[r]=s;return}u=e/i%2,u=a&&u>1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(s,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][e]()}}class su{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!It(t))return;const e=Object.keys(se.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach(r=>{const s=t[r];if(!It(s))return;const a={};for(const l of e)a[l]=s[l];(qt(s.properties)&&s.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,a)})})}_animateOptions(t,e){const i=e.options,r=lD(t,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&aD(t.options.$animations,i).then(()=>{t.options=i},()=>{}),s}_createAnimations(t,e){const i=this._properties,r=[],s=t.$animations||(t.$animations={}),a=Object.keys(e),l=Date.now();let u;for(u=a.length-1;u>=0;--u){const d=a[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const f=e[d];let m=s[d];const g=i.get(d);if(m)if(g&&m.active()){m.update(g,f,l);continue}else m.cancel();if(!g||!g.duration){t[d]=f;continue}s[d]=m=new oD(g,t,d,f),r.push(m)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return li.add(this._chart,i),!0}}function aD(n,t){const e=[],i=Object.keys(t);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&e.push(s.wait())}return Promise.all(e)}function lD(n,t){if(!t)return;let e=n.options;if(!e){n.options=t;return}return e.$shared&&(n.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e}function ym(n,t){const e=n&&n.options||{},i=e.reverse,r=e.min===void 0?t:0,s=e.max===void 0?t:0;return{start:i?s:r,end:i?r:s}}function cD(n,t,e){if(e===!1)return!1;const i=ym(n,e),r=ym(t,e);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}function uD(n){let t,e,i,r;return It(n)?(t=n.top,e=n.right,i=n.bottom,r=n.left):t=e=i=r=n,{top:t,right:e,bottom:i,left:r,disabled:n===!1}}function _m(n,t){const e=[],i=n._getSortedDatasetMetas(t);let r,s;for(r=0,s=i.length;r<s;++r)e.push(i[r].index);return e}function bm(n,t,e,i={}){const r=n.keys,s=i.mode==="single";let a,l,u,d;if(t===null)return;let f=!1;for(a=0,l=r.length;a<l;++a){if(u=+r[a],u===e){if(f=!0,i.all)continue;break}d=n.values[u],ae(d)&&(s||t===0||qn(t)===qn(d))&&(t+=d)}return!f&&!i.all?0:t}function dD(n,t){const{iScale:e,vScale:i}=t,r=e.axis==="x"?"x":"y",s=i.axis==="x"?"x":"y",a=Object.keys(n),l=new Array(a.length);let u,d,f;for(u=0,d=a.length;u<d;++u)f=a[u],l[u]={[r]:f,[s]:n[f]};return l}function ou(n,t){const e=n&&n.options.stacked;return e||e===void 0&&t.stack!==void 0}function fD(n,t,e){return`${n.id}.${t.id}.${e.stack||e.type}`}function hD(n){const{min:t,max:e,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?t:Number.NEGATIVE_INFINITY,max:r?e:Number.POSITIVE_INFINITY}}function pD(n,t,e){const i=n[t]||(n[t]={});return i[e]||(i[e]={})}function xm(n,t,e,i){for(const r of t.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(e&&s>0||!e&&s<0)return r.index}return null}function wm(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:s,vScale:a,index:l}=i,u=s.axis,d=a.axis,f=fD(s,a,i),m=t.length;let g;for(let _=0;_<m;++_){const x=t[_],{[u]:w,[d]:v}=x,C=x._stacks||(x._stacks={});g=C[d]=pD(r,f,w),g[l]=v,g._top=xm(g,a,!0,i.type),g._bottom=xm(g,a,!1,i.type);const A=g._visualValues||(g._visualValues={});A[l]=v}}function au(n,t){const e=n.scales;return Object.keys(e).filter(i=>e[i].axis===t).shift()}function mD(n,t){return Ri(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function gD(n,t,e){return Ri(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Zs(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const s=r._stacks;if(!s||s[i]===void 0||s[i][e]===void 0)return;delete s[i][e],s[i]._visualValues!==void 0&&s[i]._visualValues[e]!==void 0&&delete s[i]._visualValues[e]}}}const lu=n=>n==="reset"||n==="none",vm=(n,t)=>t?n:Object.assign({},n),yD=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:_m(e,!0),values:null};class Ii{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=ou(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Zs(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(m,g,_,x)=>m==="x"?g:m==="r"?x:_,s=e.xAxisID=Ct(i.xAxisID,au(t,"x")),a=e.yAxisID=Ct(i.yAxisID,au(t,"y")),l=e.rAxisID=Ct(i.rAxisID,au(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,s,a,l),f=e.vAxisID=r(u,a,s,l);e.xScale=this.getScaleForId(s),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(f)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Fp(this._data,this),t._stacked&&Zs(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(It(e)){const r=this._cachedMeta;this._data=dD(e,r)}else if(i!==e){if(i){Fp(i,this);const r=this._cachedMeta;Zs(r),r._parsed=[]}e&&Object.isExtensible(e)&&ek(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const s=e._stacked;e._stacked=ou(e.vScale,e),e.stack!==i.stack&&(r=!0,Zs(e),e.stack=i.stack),this._resyncElements(t),(r||s!==e._stacked)&&(wm(this,e._parsed),e._stacked=ou(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:s,_stacked:a}=i,l=s.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],f,m,g;if(this._parsing===!1)i._parsed=r,i._sorted=!0,g=r;else{qt(r[t])?g=this.parseArrayData(i,r,t,e):It(r[t])?g=this.parseObjectData(i,r,t,e):g=this.parsePrimitiveData(i,r,t,e);const _=()=>m[l]===null||d&&m[l]<d[l];for(f=0;f<e;++f)i._parsed[f+t]=m=g[f],u&&(_()&&(u=!1),d=m);i._sorted=u}a&&wm(this,g)}parsePrimitiveData(t,e,i,r){const{iScale:s,vScale:a}=t,l=s.axis,u=a.axis,d=s.getLabels(),f=s===a,m=new Array(r);let g,_,x;for(g=0,_=r;g<_;++g)x=g+i,m[g]={[l]:f||s.parse(d[x],x),[u]:a.parse(e[x],x)};return m}parseArrayData(t,e,i,r){const{xScale:s,yScale:a}=t,l=new Array(r);let u,d,f,m;for(u=0,d=r;u<d;++u)f=u+i,m=e[f],l[u]={x:s.parse(m[0],f),y:a.parse(m[1],f)};return l}parseObjectData(t,e,i,r){const{xScale:s,yScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=new Array(r);let f,m,g,_;for(f=0,m=r;f<m;++f)g=f+i,_=e[g],d[f]={x:s.parse(Di(_,l),g),y:a.parse(Di(_,u),g)};return d}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const r=this.chart,s=this._cachedMeta,a=e[t.axis],l={keys:_m(r,!0),values:e._stacks[t.axis]._visualValues};return bm(l,a,s.index,{mode:i})}updateRangeFromParsed(t,e,i,r){const s=i[e.axis];let a=s===null?NaN:s;const l=r&&i._stacks[e.axis];r&&l&&(r.values=l,a=bm(r,s,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,e){const i=this._cachedMeta,r=i._parsed,s=i._sorted&&t===i.iScale,a=r.length,l=this._getOtherScale(t),u=yD(e,i,this.chart),d={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:f,max:m}=hD(l);let g,_;function x(){_=r[g];const w=_[l.axis];return!ae(_[t.axis])||f>w||m<w}for(g=0;g<a&&!(!x()&&(this.updateRangeFromParsed(d,t,_,u),s));++g);if(s){for(g=a-1;g>=0;--g)if(!x()){this.updateRangeFromParsed(d,t,_,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,s,a;for(r=0,s=e.length;r<s;++r)a=e[r][t.axis],ae(a)&&i.push(a);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,r=e.vScale,s=this.getParsed(t);return{label:i?""+i.getLabelForValue(s[i.axis]):"",value:r?""+r.getLabelForValue(s[r.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=uD(Ct(this.options.clip,cD(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,r=i.data||[],s=e.chartArea,a=[],l=this._drawStart||0,u=this._drawCount||r.length-l,d=this.options.drawActiveElementsOnTop;let f;for(i.dataset&&i.dataset.draw(t,s,l,u),f=l;f<l+u;++f){const m=r[f];m.hidden||(m.active&&d?a.push(m):m.draw(t,s))}for(f=0;f<a.length;++f)a[f].draw(t,s)}getStyle(t,e){const i=e?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const r=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];s=a.$context||(a.$context=gD(this.getContext(),t,a)),s.parsed=this.getParsed(t),s.raw=r.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=mD(this.chart.getContext(),this.index)),s.dataset=r,s.index=s.datasetIndex=this.index;return s.active=!!e,s.mode=i,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const r=e==="active",s=this._cachedDataOpts,a=t+"-"+e,l=s[a],u=this.enableOptionSharing&&rn(i);if(l)return vm(l,u);const d=this.chart.config,f=d.datasetElementScopeKeys(this._type,t),m=r?[`${t}Hover`,"hover",t,""]:[t,""],g=d.getOptionScopes(this.getDataset(),f),_=Object.keys(se.elements[t]),x=()=>this.getContext(i,r,e),w=d.resolveNamedOptions(g,_,x,m);return w.$shared&&(w.$shared=u,s[a]=Object.freeze(vm(w,u))),w}_resolveAnimations(t,e,i){const r=this.chart,s=this._cachedDataOpts,a=`animation-${e}`,l=s[a];if(l)return l;let u;if(r.options.animation!==!1){const f=this.chart.config,m=f.datasetAnimationScopeKeys(this._type,e),g=f.getOptionScopes(this.getDataset(),m);u=f.createResolver(g,this.getContext(t,i,e))}const d=new su(r,u&&u.animations);return u&&u._cacheable&&(s[a]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||lu(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,s=this.getSharedOptions(i),a=this.includeOptions(e,s)||s!==r;return this.updateSharedOptions(s,e,i),{sharedOptions:s,includeOptions:a}}updateElement(t,e,i,r){lu(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!lu(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const s=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(s)||s})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,s=e.length,a=Math.min(s,r);a&&this.parse(0,a),s>r?this._insertElements(r,s-r,t):s<r&&this._removeElements(s,r-s)}_insertElements(t,e,i=!0){const r=this._cachedMeta,s=r.data,a=t+e;let l;const u=d=>{for(d.length+=e,l=d.length-1;l>=a;l--)d[l]=d[l-e]};for(u(s),l=t;l<a;++l)s[l]=new this.dataElementType;this._parsing&&u(r._parsed),this.parse(t,e),i&&this.updateElements(s,t,e,"reset")}updateElements(t,e,i,r){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const r=i._parsed.splice(t,e);i._stacked&&Zs(i,r)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,r]=t;this[e](i,r)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function _D(n,t){if(!n._cache.$bar){const e=n.getMatchingVisibleMetas(t);let i=[];for(let r=0,s=e.length;r<s;r++)i=i.concat(e[r].controller.getAllParsedValues(n));n._cache.$bar=zp(i.sort((r,s)=>r-s))}return n._cache.$bar}function bD(n){const t=n.iScale,e=_D(t,n.type);let i=t._length,r,s,a,l;const u=()=>{a===32767||a===-32768||(rn(l)&&(i=Math.min(i,Math.abs(a-l)||i)),l=a)};for(r=0,s=e.length;r<s;++r)a=t.getPixelForValue(e[r]),u();for(l=void 0,r=0,s=t.ticks.length;r<s;++r)a=t.getPixelForTick(r),u();return i}function xD(n,t,e,i){const r=e.barThickness;let s,a;return vt(r)?(s=t.min*e.categoryPercentage,a=e.barPercentage):(s=r*i,a=1),{chunk:s/i,ratio:a,start:t.pixels[n]-s/2}}function wD(n,t,e,i){const r=t.pixels,s=r[n];let a=n>0?r[n-1]:null,l=n<r.length-1?r[n+1]:null;const u=e.categoryPercentage;a===null&&(a=s-(l===null?t.end-t.start:l-s)),l===null&&(l=s+s-a);const d=s-(s-Math.min(a,l))/2*u;return{chunk:Math.abs(l-a)/2*u/i,ratio:e.barPercentage,start:d}}function vD(n,t,e,i){const r=e.parse(n[0],i),s=e.parse(n[1],i),a=Math.min(r,s),l=Math.max(r,s);let u=a,d=l;Math.abs(a)>Math.abs(l)&&(u=l,d=a),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:s,min:a,max:l}}function Sm(n,t,e,i){return qt(n)?vD(n,t,e,i):t[e.axis]=e.parse(n,i),t}function Tm(n,t,e,i){const r=n.iScale,s=n.vScale,a=r.getLabels(),l=r===s,u=[];let d,f,m,g;for(d=e,f=e+i;d<f;++d)g=t[d],m={},m[r.axis]=l||r.parse(a[d],d),u.push(Sm(g,m,s,d));return u}function cu(n){return n&&n.barStart!==void 0&&n.barEnd!==void 0}function SD(n,t,e){return n!==0?qn(n):(t.isHorizontal()?1:-1)*(t.min>=e?1:-1)}function TD(n){let t,e,i,r,s;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.base<n.y,e="bottom",i="top"),t?(r="end",s="start"):(r="start",s="end"),{start:e,end:i,reverse:t,top:r,bottom:s}}function MD(n,t,e,i){let r=t.borderSkipped;const s={};if(!r){n.borderSkipped=s;return}if(r===!0){n.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:a,end:l,reverse:u,top:d,bottom:f}=TD(n);r==="middle"&&e&&(n.enableBorderRadius=!0,(e._top||0)===i?r=d:(e._bottom||0)===i?r=f:(s[Mm(f,a,l,u)]=!0,r=d)),s[Mm(r,a,l,u)]=!0,n.borderSkipped=s}function Mm(n,t,e,i){return i?(n=kD(n,t,e),n=km(n,e,t)):n=km(n,t,e),n}function kD(n,t,e){return n===t?e:n===e?t:n}function km(n,t,e){return n==="start"?t:n==="end"?e:n}function DD(n,{inflateAmount:t},e){n.inflateAmount=t==="auto"?e===1?.33:0:t}class Dm extends Ii{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,r){return Tm(t,e,i,r)}parseArrayData(t,e,i,r){return Tm(t,e,i,r)}parseObjectData(t,e,i,r){const{iScale:s,vScale:a}=t,{xAxisKey:l="x",yAxisKey:u="y"}=this._parsing,d=s.axis==="x"?l:u,f=a.axis==="x"?l:u,m=[];let g,_,x,w;for(g=i,_=i+r;g<_;++g)w=e[g],x={},x[s.axis]=s.parse(Di(w,d),g),m.push(Sm(Di(w,f),x,a,g));return m}updateRangeFromParsed(t,e,i,r){super.updateRangeFromParsed(t,e,i,r);const s=i._custom;s&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:r}=e,s=this.getParsed(t),a=s._custom,l=cu(a)?"["+a.start+", "+a.end+"]":""+r.getLabelForValue(s[r.axis]);return{label:""+i.getLabelForValue(s[i.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,r){const s=r==="reset",{index:a,_cachedMeta:{vScale:l}}=this,u=l.getBasePixel(),d=l.isHorizontal(),f=this._getRuler(),{sharedOptions:m,includeOptions:g}=this._getSharedOptions(e,r);for(let _=e;_<e+i;_++){const x=this.getParsed(_),w=s||vt(x[l.axis])?{base:u,head:u}:this._calculateBarValuePixels(_),v=this._calculateBarIndexPixels(_,f),C=(x._stacks||{})[l.axis],A={horizontal:d,base:w.base,enableBorderRadius:!C||cu(x._custom)||a===C._top||a===C._bottom,x:d?w.head:v.center,y:d?v.center:w.head,height:d?v.size:Math.abs(w.size),width:d?Math.abs(w.size):v.size};g&&(A.options=m||this.resolveDataElementOptions(_,t[_].active?"active":r));const z=A.options||t[_].options;MD(A,z,C,a),DD(A,z,f.ratio),this.updateElement(t[_],_,A,r)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,r=i.getMatchingVisibleMetas(this._type).filter(f=>f.controller.options.grouped),s=i.options.stacked,a=[],l=this._cachedMeta.controller.getParsed(e),u=l&&l[i.axis],d=f=>{const m=f._parsed.find(_=>_[i.axis]===u),g=m&&m[f.vScale.axis];if(vt(g)||isNaN(g))return!0};for(const f of r)if(!(e!==void 0&&d(f))&&((s===!1||a.indexOf(f.stack)===-1||s===void 0&&f.stack===void 0)&&a.push(f.stack),f.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter(i=>t[i].axis===e).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[Ct(this.chart.options.indexAxis==="x"?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const r=this._getStacks(t,i),s=e!==void 0?r.indexOf(e):-1;return s===-1?r.length-1:s}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let s,a;for(s=0,a=e.data.length;s<a;++s)r.push(i.getPixelForValue(this.getParsed(s)[i.axis],s));const l=t.barThickness;return{min:l||bD(e),pixels:r,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:r},options:{base:s,minBarLength:a}}=this,l=s||0,u=this.getParsed(t),d=u._custom,f=cu(d);let m=u[e.axis],g=0,_=i?this.applyStack(e,u,i):m,x,w;_!==m&&(g=_-m,_=m),f&&(m=d.barStart,_=d.barEnd-d.barStart,m!==0&&qn(m)!==qn(d.barEnd)&&(g=0),g+=m);const v=!vt(s)&&!f?s:g;let C=e.getPixelForValue(v);if(this.chart.getDataVisibility(t)?x=e.getPixelForValue(g+_):x=C,w=x-C,Math.abs(w)<a){w=SD(w,e,l)*a,m===l&&(C-=w/2);const A=e.getPixelForDecimal(0),z=e.getPixelForDecimal(1),I=Math.min(A,z),L=Math.max(A,z);C=Math.max(Math.min(C,L),I),x=C+w,i&&!f&&(u._stacks[e.axis]._visualValues[r]=e.getValueForPixel(x)-e.getValueForPixel(C))}if(C===e.getPixelForValue(l)){const A=qn(w)*e.getLineWidthForValue(l)/2;C+=A,w-=A}return{size:w,base:C,head:x,center:x+w/2}}_calculateBarIndexPixels(t,e){const i=e.scale,r=this.options,s=r.skipNull,a=Ct(r.maxBarThickness,1/0);let l,u;const d=this._getAxisCount();if(e.grouped){const f=s?this._getStackCount(t):e.stackCount,m=r.barThickness==="flex"?wD(t,e,r,f*d):xD(t,e,r,f*d),g=this.chart.options.indexAxis==="x"?this.getDataset().xAxisID:this.getDataset().yAxisID,_=this._getAxis().indexOf(Ct(g,this.getFirstScaleIdForIndexAxis())),x=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0)+_;l=m.start+m.chunk*x+m.chunk/2,u=Math.min(a,m.chunk*m.ratio)}else l=i.getPixelForValue(this.getParsed(t)[i.axis],t),u=Math.min(a,e.min*e.ratio);return{base:l-u/2,head:l+u/2,center:l,size:u}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,r=i.length;let s=0;for(;s<r;++s)this.getParsed(s)[e.axis]!==null&&!i[s].hidden&&i[s].draw(this._ctx)}}class CD extends Ii{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,r){const s=super.parsePrimitiveData(t,e,i,r);for(let a=0;a<s.length;a++)s[a]._custom=this.resolveDataElementOptions(a+i).radius;return s}parseArrayData(t,e,i,r){const s=super.parseArrayData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Ct(l[2],this.resolveDataElementOptions(a+i).radius)}return s}parseObjectData(t,e,i,r){const s=super.parseObjectData(t,e,i,r);for(let a=0;a<s.length;a++){const l=e[i+a];s[a]._custom=Ct(l&&l.r&&+l.r,this.resolveDataElementOptions(a+i).radius)}return s}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y),d=a._custom;return{label:i[t]||"",value:"("+l+", "+u+(d?", "+d:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l}=this._cachedMeta,{sharedOptions:u,includeOptions:d}=this._getSharedOptions(e,r),f=a.axis,m=l.axis;for(let g=e;g<e+i;g++){const _=t[g],x=!s&&this.getParsed(g),w={},v=w[f]=s?a.getPixelForDecimal(.5):a.getPixelForValue(x[f]),C=w[m]=s?l.getBasePixel():l.getPixelForValue(x[m]);w.skip=isNaN(v)||isNaN(C),d&&(w.options=u||this.resolveDataElementOptions(g,_.active?"active":r),s&&(w.options.radius=0)),this.updateElement(_,g,w,r)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let r=super.resolveDataElementOptions(t,e);r.$shared&&(r=Object.assign({},r,{$shared:!1}));const s=r.radius;return e!=="active"&&(r.radius=0),r.radius+=Ct(i&&i._custom,s),r}}function OD(n,t,e){let i=1,r=1,s=0,a=0;if(t<te){const l=n,u=l+t,d=Math.cos(l),f=Math.sin(l),m=Math.cos(u),g=Math.sin(u),_=(z,I,L)=>Vs(z,l,u,!0)?1:Math.max(I,I*e,L,L*e),x=(z,I,L)=>Vs(z,l,u,!0)?-1:Math.min(I,I*e,L,L*e),w=_(0,d,m),v=_(re,f,g),C=x(Et,d,m),A=x(Et+re,f,g);i=(w-C)/2,r=(v-A)/2,s=-(w+C)/2,a=-(v+A)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:a}}class Qs extends Ii{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data,{labels:{pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=t.legend.options;return e.labels.length&&e.datasets.length?e.labels.map((u,d)=>{const m=t.getDatasetMeta(0).controller.getStyle(d);return{text:u,fillStyle:m.backgroundColor,fontColor:s,hidden:!t.getDataVisibility(d),lineDash:m.borderDash,lineDashOffset:m.borderDashOffset,lineJoin:m.borderJoinStyle,lineWidth:m.borderWidth,strokeStyle:m.borderColor,textAlign:r,pointStyle:i,borderRadius:a&&(l||m.borderRadius),index:d}}):[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let s=u=>+i[u];if(It(i[t])){const{key:u="value"}=this._parsing;s=d=>+Di(i[d],u)}let a,l;for(a=t,l=t+e;a<l;++a)r._parsed[a]=s(a)}}_getRotation(){return we(this.options.rotation-90)}_getCircumference(){return we(this.options.circumference)}_getRotationExtents(){let t=te,e=-te;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const r=this.chart.getDatasetMeta(i).controller,s=r._getRotation(),a=r._getCircumference();t=Math.min(t,s),e=Math.max(e,s+a)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,r=this._cachedMeta,s=r.data,a=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,l=Math.max((Math.min(i.width,i.height)-a)/2,0),u=Math.min(HM(this.options.cutout,l),1),d=this._getRingWeight(this.index),{circumference:f,rotation:m}=this._getRotationExtents(),{ratioX:g,ratioY:_,offsetX:x,offsetY:w}=OD(m,f,u),v=(i.width-a)/g,C=(i.height-a)/_,A=Math.max(Math.min(v,C)/2,0),z=Ap(this.options.radius,A),I=Math.max(z*u,0),L=(z-I)/this._getVisibleDatasetWeightTotal();this.offsetX=x*z,this.offsetY=w*z,r.total=this.calculateTotal(),this.outerRadius=z-L*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-L*d,0),this.updateElements(s,0,s.length,t)}_circumference(t,e){const i=this.options,r=this._cachedMeta,s=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||r._parsed[t]===null||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*s/te)}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,l=a.chartArea,d=a.options.animation,f=(l.left+l.right)/2,m=(l.top+l.bottom)/2,g=s&&d.animateScale,_=g?0:this.innerRadius,x=g?0:this.outerRadius,{sharedOptions:w,includeOptions:v}=this._getSharedOptions(e,r);let C=this._getRotation(),A;for(A=0;A<e;++A)C+=this._circumference(A,s);for(A=e;A<e+i;++A){const z=this._circumference(A,s),I=t[A],L={x:f+this.offsetX,y:m+this.offsetY,startAngle:C,endAngle:C+z,circumference:z,outerRadius:x,innerRadius:_};v&&(L.options=w||this.resolveDataElementOptions(A,I.active?"active":r)),C+=z,this.updateElement(I,A,L,r)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i=0,r;for(r=0;r<e.length;r++){const s=t._parsed[r];s!==null&&!isNaN(s)&&this.chart.getDataVisibility(r)&&!e[r].hidden&&(i+=Math.abs(s))}return i}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?te*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=qs(e._parsed[t],i.options.locale);return{label:r[t]||"",value:s}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,s,a,l,u;if(!t){for(r=0,s=i.data.datasets.length;r<s;++r)if(i.isDatasetVisible(r)){a=i.getDatasetMeta(r),t=a.data,l=a.controller;break}}if(!t)return 0;for(r=0,s=t.length;r<s;++r)u=l.resolveDataElementOptions(r),u.borderAlign!=="inner"&&(e=Math.max(e,u.borderWidth||0,u.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,r=t.length;i<r;++i){const s=this.resolveDataElementOptions(i);e=Math.max(e,s.offset||0,s.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(Ct(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Cm extends Ii{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:s}=e,a=this.chart._animationsDisabled;let{start:l,count:u}=Wp(e,r,a);this._drawStart=l,this._drawCount=u,$p(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!s._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!a,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:f,includeOptions:m}=this._getSharedOptions(e,r),g=a.axis,_=l.axis,{spanGaps:x,segment:w}=this.options,v=Oi(x)?x:Number.POSITIVE_INFINITY,C=this.chart._animationsDisabled||s||r==="none",A=e+i,z=t.length;let I=e>0&&this.getParsed(e-1);for(let L=0;L<z;++L){const B=t[L],F=C?B:{};if(L<e||L>=A){F.skip=!0;continue}const M=this.getParsed(L),T=vt(M[_]),O=F[g]=a.getPixelForValue(M[g],L),E=F[_]=s||T?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,M,u):M[_],L);F.skip=isNaN(O)||isNaN(E)||T,F.stop=L>0&&Math.abs(M[g]-I[g])>v,w&&(F.parsed=M,F.raw=d.data[L]),m&&(F.options=f||this.resolveDataElementOptions(L,B.active?"active":r)),C||this.updateElement(B,L,F,r),I=M}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const s=r[0].size(this.resolveDataElementOptions(0)),a=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,s,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class Om extends Ii{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((s,a)=>{const u=t.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],s=qs(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:s}}parseObjectData(t,e,i,r){return im.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const s=this.getParsed(r).r;!isNaN(s)&&this.chart.getDataVisibility(r)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),s=Math.max(r/2,0),a=Math.max(i.cutoutPercentage?s/100*i.cutoutPercentage:1,0),l=(s-a)/t.getVisibleDatasetCount();this.outerRadius=s-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const s=r==="reset",a=this.chart,u=a.options.animation,d=this._cachedMeta.rScale,f=d.xCenter,m=d.yCenter,g=d.getIndexAngle(0)-.5*Et;let _=g,x;const w=360/this.countVisibleElements();for(x=0;x<e;++x)_+=this._computeAngle(x,r,w);for(x=e;x<e+i;x++){const v=t[x];let C=_,A=_+this._computeAngle(x,r,w),z=a.getDataVisibility(x)?d.getDistanceFromCenterForValue(this.getParsed(x).r):0;_=A,s&&(u.animateScale&&(z=0),u.animateRotate&&(C=A=g));const I={x:f,y:m,innerRadius:0,outerRadius:z,startAngle:C,endAngle:A,options:this.resolveDataElementOptions(x,v.active?"active":r)};this.updateElement(v,x,I,r)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach((i,r)=>{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?we(this.resolveDataElementOptions(t,e).angle||i):0}}class AD extends Qs{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class RD extends Ii{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,r){return im.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta,i=e.dataset,r=e.data||[],s=e.iScale.getLabels();if(i.points=r,t!=="resize"){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0);const l={_loop:!0,_fullLoop:s.length===r.length,options:a};this.updateElement(i,void 0,l,t)}this.updateElements(r,0,r.length,t)}updateElements(t,e,i,r){const s=this._cachedMeta.rScale,a=r==="reset";for(let l=e;l<e+i;l++){const u=t[l],d=this.resolveDataElementOptions(l,u.active?"active":r),f=s.getPointPositionForValue(l,this.getParsed(l).r),m=a?s.xCenter:f.x,g=a?s.yCenter:f.y,_={x:m,y:g,angle:f.angle,skip:isNaN(m)||isNaN(g),options:d};this.updateElement(u,l,_,r)}}}class Am extends Ii{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:r,yScale:s}=e,a=this.getParsed(t),l=r.getLabelForValue(a.x),u=s.getLabelForValue(a.y);return{label:i[t]||"",value:"("+l+", "+u+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,r=this.chart._animationsDisabled;let{start:s,count:a}=Wp(e,i,r);if(this._drawStart=s,this._drawCount=a,$p(e)&&(s=0,a=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:l,_dataset:u}=e;l._chart=this.chart,l._datasetIndex=this.index,l._decimated=!!u._decimated,l.points=i;const d=this.resolveDatasetElementOptions(t);d.segment=this.options.segment,this.updateElement(l,void 0,{animated:!r,options:d},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,s,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,r){const s=r==="reset",{iScale:a,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,f=this.resolveDataElementOptions(e,r),m=this.getSharedOptions(f),g=this.includeOptions(r,m),_=a.axis,x=l.axis,{spanGaps:w,segment:v}=this.options,C=Oi(w)?w:Number.POSITIVE_INFINITY,A=this.chart._animationsDisabled||s||r==="none";let z=e>0&&this.getParsed(e-1);for(let I=e;I<e+i;++I){const L=t[I],B=this.getParsed(I),F=A?L:{},M=vt(B[x]),T=F[_]=a.getPixelForValue(B[_],I),O=F[x]=s||M?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,B,u):B[x],I);F.skip=isNaN(T)||isNaN(O)||M,F.stop=I>0&&Math.abs(B[_]-z[_])>C,v&&(F.parsed=B,F.raw=d.data[I]),g&&(F.options=m||this.resolveDataElementOptions(I,L.active?"active":r)),A||this.updateElement(L,I,F,r),z=B}this.updateSharedOptions(m,r,f)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let l=0;for(let u=e.length-1;u>=0;--u)l=Math.max(l,e[u].size(this.resolveDataElementOptions(u))/2);return l>0&&l}const i=t.dataset,r=i.options&&i.options.borderWidth||0;if(!e.length)return r;const s=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(r,s,a)/2}}var ED=Object.freeze({__proto__:null,BarController:Dm,BubbleController:CD,DoughnutController:Qs,LineController:Cm,PieController:AD,PolarAreaController:Om,RadarController:RD,ScatterController:Am});function fr(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class uu{static override(t){Object.assign(uu.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return fr()}parse(){return fr()}format(){return fr()}add(){return fr()}diff(){return fr()}startOf(){return fr()}endOf(){return fr()}}var Rm={_date:uu};function PD(n,t,e,i){const{controller:r,data:s,_sorted:a}=n,l=r._cachedMeta.iScale,u=n.dataset&&n.dataset.options?n.dataset.options.spanGaps:null;if(l&&t===l.axis&&t!=="r"&&a&&s.length){const d=l._reversePixels?JM:oi;if(i){if(r._sharedOptions){const f=s[0],m=typeof f.getRange=="function"&&f.getRange(t);if(m){const g=d(s,t,e-m),_=d(s,t,e+m);return{lo:g.lo,hi:_.hi}}}}else{const f=d(s,t,e);if(u){const{vScale:m}=r._cachedMeta,{_parsed:g}=n,_=g.slice(0,f.lo+1).reverse().findIndex(w=>!vt(w[m.axis]));f.lo-=Math.max(0,_);const x=g.slice(f.hi).findIndex(w=>!vt(w[m.axis]));f.hi+=Math.max(0,x)}return f}}return{lo:0,hi:s.length-1}}function Js(n,t,e,i,r){const s=n.getSortedVisibleDatasetMetas(),a=e[t];for(let l=0,u=s.length;l<u;++l){const{index:d,data:f}=s[l],{lo:m,hi:g}=PD(s[l],t,a,r);for(let _=m;_<=g;++_){const x=f[_];x.skip||i(x,d,_)}}}function ID(n){const t=n.indexOf("x")!==-1,e=n.indexOf("y")!==-1;return function(i,r){const s=t?Math.abs(i.x-r.x):0,a=e?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(a,2))}}function du(n,t,e,i,r){const s=[];return!r&&!n.isPointInArea(t)||Js(n,e,t,function(l,u,d){!r&&!ai(l,n.chartArea,0)||l.inRange(t.x,t.y,i)&&s.push({element:l,datasetIndex:u,index:d})},!0),s}function LD(n,t,e,i){let r=[];function s(a,l,u){const{startAngle:d,endAngle:f}=a.getProps(["startAngle","endAngle"],i),{angle:m}=va(a,{x:t.x,y:t.y});Vs(m,d,f)&&r.push({element:a,datasetIndex:l,index:u})}return Js(n,e,t,s),r}function ND(n,t,e,i,r,s){let a=[];const l=ID(e);let u=Number.POSITIVE_INFINITY;function d(f,m,g){const _=f.inRange(t.x,t.y,r);if(i&&!_)return;const x=f.getCenterPoint(r);if(!(!!s||n.isPointInArea(x))&&!_)return;const v=l(t,x);v<u?(a=[{element:f,datasetIndex:m,index:g}],u=v):v===u&&a.push({element:f,datasetIndex:m,index:g})}return Js(n,e,t,d),a}function fu(n,t,e,i,r,s){return!s&&!n.isPointInArea(t)?[]:e==="r"&&!i?LD(n,t,e,r):ND(n,t,e,i,r,s)}function Em(n,t,e,i,r){const s=[],a=e==="x"?"inXRange":"inYRange";let l=!1;return Js(n,e,t,(u,d,f)=>{u[a]&&u[a](t[e],r)&&(s.push({element:u,datasetIndex:d,index:f}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:s}var hu={evaluateInteractionItems:Js,modes:{index(n,t,e,i){const r=Ei(t,n),s=e.axis||"x",a=e.includeInvisible||!1,l=e.intersect?du(n,r,s,i,a):fu(n,r,s,!1,i,a),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const f=l[0].index,m=d.data[f];m&&!m.skip&&u.push({element:m,datasetIndex:d.index,index:f})}),u):[]},dataset(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;let l=e.intersect?du(n,r,s,i,a):fu(n,r,s,!1,i,a);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let f=0;f<d.length;++f)l.push({element:d[f],datasetIndex:u,index:f})}return l},point(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return du(n,r,s,i,a)},nearest(n,t,e,i){const r=Ei(t,n),s=e.axis||"xy",a=e.includeInvisible||!1;return fu(n,r,s,e.intersect,i,a)},x(n,t,e,i){const r=Ei(t,n);return Em(n,r,"x",e.intersect,i)},y(n,t,e,i){const r=Ei(t,n);return Em(n,r,"y",e.intersect,i)}}};const Pm=["left","top","right","bottom"];function to(n,t){return n.filter(e=>e.pos===t)}function Im(n,t){return n.filter(e=>Pm.indexOf(e.pos)===-1&&e.box.axis===t)}function eo(n,t){return n.sort((e,i)=>{const r=t?i:e,s=t?e:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function BD(n){const t=[];let e,i,r,s,a,l;for(e=0,i=(n||[]).length;e<i;++e)r=n[e],{position:s,options:{stack:a,stackWeight:l=1}}=r,t.push({index:e,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:a&&s+a,stackWeight:l});return t}function FD(n){const t={};for(const e of n){const{stack:i,pos:r,stackWeight:s}=e;if(!i||!Pm.includes(r))continue;const a=t[i]||(t[i]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=s}return t}function zD(n,t){const e=FD(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=t;let s,a,l;for(s=0,a=n.length;s<a;++s){l=n[s];const{fullSize:u}=l.box,d=e[l.stack],f=d&&l.stackWeight/d.weight;l.horizontal?(l.width=f?f*i:u&&t.availableWidth,l.height=r):(l.width=i,l.height=f?f*r:u&&t.availableHeight)}return e}function UD(n){const t=BD(n),e=eo(t.filter(d=>d.box.fullSize),!0),i=eo(to(t,"left"),!0),r=eo(to(t,"right")),s=eo(to(t,"top"),!0),a=eo(to(t,"bottom")),l=Im(t,"x"),u=Im(t,"y");return{fullSize:e,leftAndTop:i.concat(s),rightAndBottom:r.concat(u).concat(a).concat(l),chartArea:to(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:s.concat(a).concat(l)}}function Lm(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function Nm(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function HD(n,t,e,i){const{pos:r,box:s}=e,a=n.maxPadding;if(!It(r)){e.size&&(n[r]-=e.size);const m=i[e.stack]||{size:0,count:1};m.size=Math.max(m.size,e.horizontal?s.height:s.width),e.size=m.size/m.count,n[r]+=e.size}s.getPadding&&Nm(a,s.getPadding());const l=Math.max(0,t.outerWidth-Lm(a,n,"left","right")),u=Math.max(0,t.outerHeight-Lm(a,n,"top","bottom")),d=l!==n.w,f=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:f}:{same:f,other:d}}function WD(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function $D(n,t){const e=t.maxPadding;function i(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(a=>{s[a]=Math.max(t[a],e[a])}),s}return i(n?["left","right"]:["top","bottom"])}function no(n,t,e,i){const r=[];let s,a,l,u,d,f;for(s=0,a=n.length,d=0;s<a;++s){l=n[s],u=l.box,u.update(l.width||t.w,l.height||t.h,$D(l.horizontal,t));const{same:m,other:g}=HD(t,e,l,i);d|=m&&r.length,f=f||g,u.fullSize||r.push(l)}return d&&no(r,t,e,i)||f}function Ra(n,t,e,i,r){n.top=e,n.left=t,n.right=t+i,n.bottom=e+r,n.width=i,n.height=r}function Bm(n,t,e,i){const r=e.padding;let{x:s,y:a}=t;for(const l of n){const u=l.box,d=i[l.stack]||{placed:0,weight:1},f=l.stackWeight/d.weight||1;if(l.horizontal){const m=t.w*f,g=d.size||u.height;rn(d.start)&&(a=d.start),u.fullSize?Ra(u,r.left,a,e.outerWidth-r.right-r.left,g):Ra(u,t.left+d.placed,a,m,g),d.start=a,d.placed+=m,a=u.bottom}else{const m=t.h*f,g=d.size||u.width;rn(d.start)&&(s=d.start),u.fullSize?Ra(u,s,r.top,g,e.outerHeight-r.bottom-r.top):Ra(u,s,t.top+d.placed,g,m),d.start=s,d.placed+=m,s=u.right}}t.x=s,t.y=a}var $e={addBox(n,t){n.boxes||(n.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},n.boxes.push(t)},removeBox(n,t){const e=n.boxes?n.boxes.indexOf(t):-1;e!==-1&&n.boxes.splice(e,1)},configure(n,t,e){t.fullSize=e.fullSize,t.position=e.position,t.weight=e.weight},update(n,t,e,i){if(!n)return;const r=ve(n.options.layout.padding),s=Math.max(t-r.width,0),a=Math.max(e-r.height,0),l=UD(n.boxes),u=l.vertical,d=l.horizontal;Jt(n.boxes,w=>{typeof w.beforeLayout=="function"&&w.beforeLayout()});const f=u.reduce((w,v)=>v.box.options&&v.box.options.display===!1?w:w+1,0)||1,m=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:s,availableHeight:a,vBoxMaxWidth:s/2/f,hBoxMaxHeight:a/2}),g=Object.assign({},r);Nm(g,ve(i));const _=Object.assign({maxPadding:g,w:s,h:a,x:r.left,y:r.top},r),x=zD(u.concat(d),m);no(l.fullSize,_,m,x),no(u,_,m,x),no(d,_,m,x)&&no(u,_,m,x),WD(_),Bm(l.leftAndTop,_,m,x),_.x+=_.w,_.y+=_.h,Bm(l.rightAndBottom,_,m,x),n.chartArea={left:_.left,top:_.top,right:_.left+_.w,bottom:_.top+_.h,height:_.h,width:_.w},Jt(l.chartArea,w=>{const v=w.box;Object.assign(v,n.chartArea),v.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})})}};class Fm{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class VD extends Fm{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Ea="$chartjs",YD={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},zm=n=>n===null||n==="";function qD(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Ea]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",zm(r)){const s=om(n,"width");s!==void 0&&(n.width=s)}if(zm(i))if(n.style.height==="")n.height=n.width/(t||2);else{const s=om(n,"height");s!==void 0&&(n.height=s)}return n}const Um=qk?{passive:!0}:!1;function jD(n,t,e){n&&n.addEventListener(t,e,Um)}function GD(n,t,e){n&&n.canvas&&n.canvas.removeEventListener(t,e,Um)}function KD(n,t){const e=YD[n.type]||n.type,{x:i,y:r}=Ei(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function Pa(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function XD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.addedNodes,i),a=a&&!Pa(l.removedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function ZD(n,t,e){const i=n.canvas,r=new MutationObserver(s=>{let a=!1;for(const l of s)a=a||Pa(l.removedNodes,i),a=a&&!Pa(l.addedNodes,i);a&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const io=new Map;let Hm=0;function Wm(){const n=window.devicePixelRatio;n!==Hm&&(Hm=n,io.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function QD(n,t){io.size||window.addEventListener("resize",Wm),io.set(n,t)}function JD(n){io.delete(n),io.size||window.removeEventListener("resize",Wm)}function tC(n,t,e){const i=n.canvas,r=i&&ru(i);if(!r)return;const s=Hp((l,u)=>{const d=r.clientWidth;e(l,u),d<r.clientWidth&&e()},window),a=new ResizeObserver(l=>{const u=l[0],d=u.contentRect.width,f=u.contentRect.height;d===0&&f===0||s(d,f)});return a.observe(r),QD(n,s),a}function pu(n,t,e){e&&e.disconnect(),t==="resize"&&JD(n)}function eC(n,t,e){const i=n.canvas,r=Hp(s=>{n.ctx!==null&&e(KD(s,n))},n);return jD(i,t,r),r}class nC extends Fm{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(qD(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Ea])return!1;const i=e[Ea].initial;["height","width"].forEach(s=>{const a=i[s];vt(a)?e.removeAttribute(s):e.setAttribute(s,a)});const r=i.style||{};return Object.keys(r).forEach(s=>{e.style[s]=r[s]}),e.width=e.width,delete e[Ea],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),a={attach:XD,detach:ZD,resize:tC}[e]||eC;r[e]=a(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:pu,detach:pu,resize:pu}[e]||GD)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return Yk(t,e,i,r)}isAttached(t){const e=t&&ru(t);return!!(e&&e.isConnected)}}function iC(n){return!iu()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?VD:nC}class Ve{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return Oi(this.x)&&Oi(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}function rC(n,t){const e=n.options.ticks,i=sC(n),r=Math.min(e.maxTicksLimit||i,i),s=e.major.enabled?aC(t):[],a=s.length,l=s[0],u=s[a-1],d=[];if(a>r)return lC(t,d,s,a/r),d;const f=oC(s,t,r);if(a>0){let m,g;const _=a>1?Math.round((u-l)/(a-1)):null;for(Ia(t,d,f,vt(_)?0:l-_,l),m=0,g=a-1;m<g;m++)Ia(t,d,f,s[m],s[m+1]);return Ia(t,d,f,u,vt(_)?t.length:u+_),d}return Ia(t,d,f),d}function sC(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function oC(n,t,e){const i=cC(n),r=t.length/e;if(!i)return Math.max(r,1);const s=GM(i);for(let a=0,l=s.length-1;a<l;a++){const u=s[a];if(u>r)return u}return Math.max(r,1)}function aC(n){const t=[];let e,i;for(e=0,i=n.length;e<i;e++)n[e].major&&t.push(e);return t}function lC(n,t,e,i){let r=0,s=e[0],a;for(i=Math.ceil(i),a=0;a<n.length;a++)a===s&&(t.push(n[a]),r++,s=e[r*i])}function Ia(n,t,e,i,r){const s=Ct(i,0),a=Math.min(Ct(r,n.length),n.length);let l=0,u,d,f;for(e=Math.ceil(e),r&&(u=r-i,e=u/Math.floor(u/e)),f=s;f<0;)l++,f=Math.round(s+l*e);for(d=Math.max(s,0);d<a;d++)d===f&&(t.push(n[d]),l++,f=Math.round(s+l*e))}function cC(n){const t=n.length;let e,i;if(t<2)return!1;for(i=n[0],e=1;e<t;++e)if(n[e]-n[e-1]!==i)return!1;return i}const uC=n=>n==="left"?"right":n==="right"?"left":n,$m=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,Vm=(n,t)=>Math.min(t||n,n);function Ym(n,t){const e=[],i=n.length/t,r=n.length;let s=0;for(;s<r;s+=i)e.push(n[Math.floor(s)]);return e}function dC(n,t,e){const i=n.ticks.length,r=Math.min(t,i-1),s=n._startPixel,a=n._endPixel,l=1e-6;let u=n.getPixelForTick(r),d;if(!(e&&(i===1?d=Math.max(u-s,a-u):t===0?d=(n.getPixelForTick(1)-u)/2:d=(u-n.getPixelForTick(r-1))/2,u+=r<t?d:-d,u<s-l||u>a+l)))return u}function fC(n,t){Jt(n,e=>{const i=e.gc,r=i.length/2;let s;if(r>t){for(s=0;s<r;++s)delete e.data[i[s]];i.splice(0,r)}})}function ro(n){return n.drawTicks?n.tickLength:0}function qm(n,t){if(!n.display)return 0;const e=le(n.font,t),i=ve(n.padding);return(qt(n.text)?n.text.length:1)*e.lineHeight+i.height}function hC(n,t){return Ri(n,{scale:t,type:"scale"})}function pC(n,t,e){return Ri(n,{tick:e,index:t,type:"tick"})}function mC(n,t,e){let i=jc(n);return(e&&t!=="right"||!e&&t==="right")&&(i=uC(i)),i}function gC(n,t,e,i){const{top:r,left:s,bottom:a,right:l,chart:u}=n,{chartArea:d,scales:f}=u;let m=0,g,_,x;const w=a-r,v=l-s;if(n.isHorizontal()){if(_=We(i,s,l),It(e)){const C=Object.keys(e)[0],A=e[C];x=f[C].getPixelForValue(A)+w-t}else e==="center"?x=(d.bottom+d.top)/2+w-t:x=$m(n,e,t);g=l-s}else{if(It(e)){const C=Object.keys(e)[0],A=e[C];_=f[C].getPixelForValue(A)-v+t}else e==="center"?_=(d.left+d.right)/2-v+t:_=$m(n,e,t);x=We(i,a,r),m=e==="left"?-re:re}return{titleX:_,titleY:x,maxWidth:g,rotation:m}}class hr extends Ve{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:r}=this;return t=mn(t,Number.POSITIVE_INFINITY),e=mn(e,Number.NEGATIVE_INFINITY),i=mn(i,Number.POSITIVE_INFINITY),r=mn(r,Number.NEGATIVE_INFINITY),{min:mn(t,i),max:mn(e,r),minDefined:ae(t),maxDefined:ae(e)}}getMinMax(t){let{min:e,max:i,minDefined:r,maxDefined:s}=this.getUserBounds(),a;if(r&&s)return{min:e,max:i};const l=this.getMatchingVisibleMetas();for(let u=0,d=l.length;u<d;++u)a=l[u].controller.getMinMax(this,t),r||(e=Math.min(e,a.min)),s||(i=Math.max(i,a.max));return e=s&&e>i?i:e,i=r&&e>i?e:i,{min:mn(e,mn(i,e)),max:mn(i,mn(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Qt(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:s,ticks:a}=this.options,l=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Sk(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l<this.ticks.length;this._convertTicksToLabels(u?Ym(this.ticks,l):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source==="auto")&&(this.ticks=rC(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),u&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,e,i;this.isHorizontal()?(e=this.left,i=this.right):(e=this.top,i=this.bottom,t=!t),this._startPixel=e,this._endPixel=i,this._reversePixels=t,this._length=i-e,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Qt(this.options.afterUpdate,[this])}beforeSetDimensions(){Qt(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Qt(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Qt(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Qt(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,r,s;for(i=0,r=t.length;i<r;i++)s=t[i],s.label=Qt(e.callback,[s.value,i,t],this)}afterTickToLabelConversion(){Qt(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Qt(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=Vm(this.ticks.length,t.ticks.maxTicksLimit),r=e.minRotation||0,s=e.maxRotation;let a=r,l,u,d;if(!this._isVisible()||!e.display||r>=s||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const f=this._getLabelSizes(),m=f.widest.width,g=f.highest.height,_=Oe(this.chart.width-m,0,this.maxWidth);l=t.offset?this.maxWidth/i:_/(i-1),m+6>l&&(l=_/(i-(t.offset?.5:1)),u=this.maxHeight-ro(t.grid)-e.padding-qm(t.title,this.chart.options.font),d=Math.sqrt(m*m+g*g),a=wa(Math.min(Math.asin(Oe((f.highest.height+6)/l,-1,1)),Math.asin(Oe(u/d,-1,1))-Math.asin(Oe(g/d,-1,1)))),a=Math.max(r,Math.min(s,a))),this.labelRotation=a}afterCalculateLabelRotation(){Qt(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Qt(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:s}}=this,a=this._isVisible(),l=this.isHorizontal();if(a){const u=qm(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=ro(s)+u):(t.height=this.maxHeight,t.width=ro(s)+u),i.display&&this.ticks.length){const{first:d,last:f,widest:m,highest:g}=this._getLabelSizes(),_=i.padding*2,x=we(this.labelRotation),w=Math.cos(x),v=Math.sin(x);if(l){const C=i.mirror?0:v*m.width+w*g.height;t.height=Math.min(this.maxHeight,t.height+C+_)}else{const C=i.mirror?0:w*m.width+v*g.height;t.width=Math.min(this.maxWidth,t.width+C+_)}this._calculatePadding(d,f,v,w)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:s,padding:a},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const f=this.getPixelForTick(0)-this.left,m=this.right-this.getPixelForTick(this.ticks.length-1);let g=0,_=0;u?d?(g=r*t.width,_=i*e.height):(g=i*t.height,_=r*e.width):s==="start"?_=e.width:s==="end"?g=t.width:s!=="inner"&&(g=t.width/2,_=e.width/2),this.paddingLeft=Math.max((g-f+a)*this.width/(this.width-f),0),this.paddingRight=Math.max((_-m+a)*this.width/(this.width-m),0)}else{let f=e.height/2,m=t.height/2;s==="start"?(f=0,m=t.height):s==="end"&&(f=e.height,m=0),this.paddingTop=f+a,this.paddingBottom=m+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Qt(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e<i;e++)vt(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ym(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:r,_longestTextCache:s}=this,a=[],l=[],u=Math.floor(e/Vm(e,i));let d=0,f=0,m,g,_,x,w,v,C,A,z,I,L;for(m=0;m<e;m+=u){if(x=t[m].label,w=this._resolveTickFontOptions(m),r.font=v=w.string,C=s[v]=s[v]||{data:{},gc:[]},A=w.lineHeight,z=I=0,!vt(x)&&!qt(x))z=ka(r,C.data,C.gc,z,x),I=A;else if(qt(x))for(g=0,_=x.length;g<_;++g)L=x[g],!vt(L)&&!qt(L)&&(z=ka(r,C.data,C.gc,z,L),I+=A);a.push(z),l.push(I),d=Math.max(z,d),f=Math.max(I,f)}fC(s,e);const B=a.indexOf(d),F=l.indexOf(f),M=T=>({width:a[T]||0,height:l[T]||0});return{first:M(0),last:M(e-1),widest:M(B),highest:M(F),widths:a,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return QM(this._alignToPixels?lr(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=pC(this.getContext(),t,i))}return this.$context||(this.$context=hC(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,e=we(this.labelRotation),i=Math.abs(Math.cos(e)),r=Math.abs(Math.sin(e)),s=this._getLabelSizes(),a=t.autoSkipPadding||0,l=s?s.widest.width+a:0,u=s?s.highest.height+a:0;return this.isHorizontal()?u*i>l*r?l/i:u/r:u*r<l*i?u/i:l/r}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:s,position:a,border:l}=r,u=s.offset,d=this.isHorizontal(),m=this.ticks.length+(u?1:0),g=ro(s),_=[],x=l.setContext(this.getContext()),w=x.display?x.width:0,v=w/2,C=function(pt){return lr(i,pt,w)};let A,z,I,L,B,F,M,T,O,E,$,Q;if(a==="top")A=C(this.bottom),F=this.bottom-g,T=A-v,E=C(t.top)+v,Q=t.bottom;else if(a==="bottom")A=C(this.top),E=t.top,Q=C(t.bottom)-v,F=A+v,T=this.top+g;else if(a==="left")A=C(this.right),B=this.right-g,M=A-v,O=C(t.left)+v,$=t.right;else if(a==="right")A=C(this.left),O=t.left,$=C(t.right)-v,B=A+v,M=this.left+g;else if(e==="x"){if(a==="center")A=C((t.top+t.bottom)/2+.5);else if(It(a)){const pt=Object.keys(a)[0],dt=a[pt];A=C(this.chart.scales[pt].getPixelForValue(dt))}E=t.top,Q=t.bottom,F=A+v,T=F+g}else if(e==="y"){if(a==="center")A=C((t.left+t.right)/2);else if(It(a)){const pt=Object.keys(a)[0],dt=a[pt];A=C(this.chart.scales[pt].getPixelForValue(dt))}B=A-v,M=B-g,O=t.left,$=t.right}const lt=Ct(r.ticks.maxTicksLimit,m),ct=Math.max(1,Math.ceil(m/lt));for(z=0;z<m;z+=ct){const pt=this.getContext(z),dt=s.setContext(pt),gt=l.setContext(pt),rt=dt.lineWidth,ft=dt.color,j=gt.dash||[],N=gt.dashOffset,W=dt.tickWidth,it=dt.tickColor,ot=dt.tickBorderDash||[],K=dt.tickBorderDashOffset;I=dC(this,z,u),I!==void 0&&(L=lr(i,I,rt),d?B=M=O=$=L:F=T=E=Q=L,_.push({tx1:B,ty1:F,tx2:M,ty2:T,x1:O,y1:E,x2:$,y2:Q,width:rt,color:ft,borderDash:j,borderDashOffset:N,tickWidth:W,tickColor:it,tickBorderDash:ot,tickBorderDashOffset:K}))}return this._ticksLength=m,this._borderValue=A,_}_computeLabelItems(t){const e=this.axis,i=this.options,{position:r,ticks:s}=i,a=this.isHorizontal(),l=this.ticks,{align:u,crossAlign:d,padding:f,mirror:m}=s,g=ro(i.grid),_=g+f,x=m?-f:_,w=-we(this.labelRotation),v=[];let C,A,z,I,L,B,F,M,T,O,E,$,Q="middle";if(r==="top")B=this.bottom-x,F=this._getXAxisLabelAlignment();else if(r==="bottom")B=this.top+x,F=this._getXAxisLabelAlignment();else if(r==="left"){const ct=this._getYAxisLabelAlignment(g);F=ct.textAlign,L=ct.x}else if(r==="right"){const ct=this._getYAxisLabelAlignment(g);F=ct.textAlign,L=ct.x}else if(e==="x"){if(r==="center")B=(t.top+t.bottom)/2+_;else if(It(r)){const ct=Object.keys(r)[0],pt=r[ct];B=this.chart.scales[ct].getPixelForValue(pt)+_}F=this._getXAxisLabelAlignment()}else if(e==="y"){if(r==="center")L=(t.left+t.right)/2-_;else if(It(r)){const ct=Object.keys(r)[0],pt=r[ct];L=this.chart.scales[ct].getPixelForValue(pt)}F=this._getYAxisLabelAlignment(g).textAlign}e==="y"&&(u==="start"?Q="top":u==="end"&&(Q="bottom"));const lt=this._getLabelSizes();for(C=0,A=l.length;C<A;++C){z=l[C],I=z.label;const ct=s.setContext(this.getContext(C));M=this.getPixelForTick(C)+s.labelOffset,T=this._resolveTickFontOptions(C),O=T.lineHeight,E=qt(I)?I.length:1;const pt=E/2,dt=ct.color,gt=ct.textStrokeColor,rt=ct.textStrokeWidth;let ft=F;a?(L=M,F==="inner"&&(C===A-1?ft=this.options.reverse?"left":"right":C===0?ft=this.options.reverse?"right":"left":ft="center"),r==="top"?d==="near"||w!==0?$=-E*O+O/2:d==="center"?$=-lt.highest.height/2-pt*O+O:$=-lt.highest.height+O/2:d==="near"||w!==0?$=O/2:d==="center"?$=lt.highest.height/2-pt*O:$=lt.highest.height-E*O,m&&($*=-1),w!==0&&!ct.showLabelBackdrop&&(L+=O/2*Math.sin(w))):(B=M,$=(1-E)*O/2);let j;if(ct.showLabelBackdrop){const N=ve(ct.backdropPadding),W=lt.heights[C],it=lt.widths[C];let ot=$-N.top,K=0-N.left;switch(Q){case"middle":ot-=W/2;break;case"bottom":ot-=W;break}switch(F){case"center":K-=it/2;break;case"right":K-=it;break;case"inner":C===A-1?K-=it:C>0&&(K-=it/2);break}j={left:K,top:ot,width:it+N.width,height:W+N.height,color:ct.backdropColor}}v.push({label:I,font:T,textOffset:$,options:{rotation:w,color:dt,strokeColor:gt,strokeWidth:rt,textAlign:ft,textBaseline:Q,translation:[L,B],backdrop:j}})}return v}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-we(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=this._getLabelSizes(),l=t+s,u=a.widest.width;let d,f;return e==="left"?r?(f=this.right+s,i==="near"?d="left":i==="center"?(d="center",f+=u/2):(d="right",f+=u)):(f=this.right-l,i==="near"?d="right":i==="center"?(d="center",f-=u/2):(d="left",f=this.left)):e==="right"?r?(f=this.left+s,i==="near"?d="right":i==="center"?(d="center",f-=u/2):(d="left",f-=u)):(f=this.left+l,i==="near"?d="left":i==="center"?(d="center",f+=u/2):(d="right",f=this.right)):d="right",{textAlign:d,x:f}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:s,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,s,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(s=>s.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let s,a;const l=(u,d,f)=>{!f.width||!f.color||(i.save(),i.lineWidth=f.width,i.strokeStyle=f.color,i.setLineDash(f.borderDash||[]),i.lineDashOffset=f.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(s=0,a=r.length;s<a;++s){const u=r[s];e.drawOnChartArea&&l({x:u.x1,y:u.y1},{x:u.x2,y:u.y2},u),e.drawTicks&&l({x:u.tx1,y:u.ty1},{x:u.tx2,y:u.ty2},{color:u.tickColor,width:u.tickWidth,borderDash:u.tickBorderDash,borderDashOffset:u.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:r}}=this,s=i.setContext(this.getContext()),a=i.display?s.width:0;if(!a)return;const l=r.setContext(this.getContext(0)).lineWidth,u=this._borderValue;let d,f,m,g;this.isHorizontal()?(d=lr(t,this.left,a)-a/2,f=lr(t,this.right,l)+l/2,m=g=u):(m=lr(t,this.top,a)-a/2,g=lr(t,this.bottom,l)+l/2,d=f=u),e.save(),e.lineWidth=s.width,e.strokeStyle=s.color,e.beginPath(),e.moveTo(d,m),e.lineTo(f,g),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&Gs(i,r);const s=this.getLabelItems(t);for(const a of s){const l=a.options,u=a.font,d=a.label,f=a.textOffset;cr(i,d,0,f,u,l)}r&&Ks(i)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:r}}=this;if(!i.display)return;const s=le(i.font),a=ve(i.padding),l=i.align;let u=s.lineHeight/2;e==="bottom"||e==="center"||It(e)?(u+=a.bottom,qt(i.text)&&(u+=s.lineHeight*(i.text.length-1))):u+=a.top;const{titleX:d,titleY:f,maxWidth:m,rotation:g}=gC(this,u,e,l);cr(t,i.text,0,0,s,{color:i.color,maxWidth:m,rotation:g,textAlign:mC(l,e,r),textBaseline:"middle",translation:[d,f]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=Ct(t.grid&&t.grid.z,-1),r=Ct(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==hr.prototype.draw?[{z:e,draw:s=>{this.draw(s)}}]:[{z:i,draw:s=>{this.drawBackground(),this.drawGrid(s),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:s=>{this.drawLabels(s)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,a;for(s=0,a=e.length;s<a;++s){const l=e[s];l[i]===this.id&&(!t||l.type===t)&&r.push(l)}return r}_resolveTickFontOptions(t){const e=this.options.ticks.setContext(this.getContext(t));return le(e.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class La{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;bC(e)&&(i=this.register(e));const r=this.items,s=t.id,a=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+t);return s in r||(r[s]=t,yC(t,a,i),this.override&&se.override(t.id,t.overrides)),a}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,r=this.scope;i in e&&delete e[i],r&&i in se[r]&&(delete se[r][i],this.override&&delete ar[i])}}function yC(n,t,e){const i=Hs(Object.create(null),[e?se.get(e):{},se.get(t),n.defaults]);se.set(t,i),n.defaultRoutes&&_C(t,n.defaultRoutes),n.descriptors&&se.describe(t,n.descriptors)}function _C(n,t){Object.keys(t).forEach(e=>{const i=e.split("."),r=i.pop(),s=[n].concat(i).join("."),a=t[e].split("."),l=a.pop(),u=a.join(".");se.route(s,r,u,l)})}function bC(n){return"id"in n&&"defaults"in n}class xC{constructor(){this.controllers=new La(Ii,"datasets",!0),this.elements=new La(Ve,"elements"),this.plugins=new La(Object,"plugins"),this.scales=new La(hr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(t,s,r):Jt(r,a=>{const l=i||this._getRegistryForType(a);this._exec(t,l,a)})})}_exec(t,e,i){const r=Vc(t);Qt(i["before"+r],[],i),e[t](i),Qt(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const r=e.get(t);if(r===void 0)throw new Error('"'+t+'" is not a registered '+i+".");return r}}var jn=new xC;class wC{constructor(){this._init=void 0}notify(t,e,i,r){if(e==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install")),this._init===void 0)return;const s=r?this._descriptors(t).filter(r):this._descriptors(t),a=this._notify(s,t,e,i);return e==="afterDestroy"&&(this._notify(s,t,"stop"),this._notify(this._init,t,"uninstall"),this._init=void 0),a}_notify(t,e,i,r){r=r||{};for(const s of t){const a=s.plugin,l=a[i],u=[e,r,s.options];if(Qt(l,u,a)===!1&&r.cancelable)return!1}return!0}invalidate(){vt(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,r=Ct(i.options&&i.options.plugins,{}),s=vC(i);return r===!1&&!e?[]:TC(t,s,r,e)}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,r=(s,a)=>s.filter(l=>!a.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function vC(n){const t={},e=[],i=Object.keys(jn.plugins.items);for(let s=0;s<i.length;s++)e.push(jn.getPlugin(i[s]));const r=n.plugins||[];for(let s=0;s<r.length;s++){const a=r[s];e.indexOf(a)===-1&&(e.push(a),t[a.id]=!0)}return{plugins:e,localIds:t}}function SC(n,t){return!t&&n===!1?null:n===!0?{}:n}function TC(n,{plugins:t,localIds:e},i,r){const s=[],a=n.getContext();for(const l of t){const u=l.id,d=SC(i[u],r);d!==null&&s.push({plugin:l,options:MC(n.config,{plugin:l,local:e[u]},d,a)})}return s}function MC(n,{plugin:t,local:e},i,r){const s=n.pluginScopeKeys(t),a=n.getOptionScopes(i,s);return e&&t.defaults&&a.push(t.defaults),n.createResolver(a,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function mu(n,t){const e=se.datasets[n]||{};return((t.datasets||{})[n]||{}).indexAxis||t.indexAxis||e.indexAxis||"x"}function kC(n,t){let e=n;return n==="_index_"?e=t:n==="_value_"&&(e=t==="x"?"y":"x"),e}function DC(n,t){return n===t?"_index_":"_value_"}function jm(n){if(n==="x"||n==="y"||n==="r")return n}function CC(n){if(n==="top"||n==="bottom")return"x";if(n==="left"||n==="right")return"y"}function gu(n,...t){if(jm(n))return n;for(const e of t){const i=e.axis||CC(e.position)||n.length>1&&jm(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function Gm(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function OC(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return Gm(n,"x",e[0])||Gm(n,"y",e[0])}return{}}function AC(n,t){const e=ar[n.type]||{scales:{}},i=t.scales||{},r=mu(n.type,t),s=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!It(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const u=gu(a,l,OC(a,n),se.scales[l.type]),d=DC(u,r),f=e.scales||{};s[a]=Ws(Object.create(null),[{axis:u},l,f[u],f[d]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,u=a.indexAxis||mu(l,t),f=(ar[l]||{}).scales||{};Object.keys(f).forEach(m=>{const g=kC(m,u),_=a[g+"AxisID"]||g;s[_]=s[_]||Object.create(null),Ws(s[_],[{axis:g},i[_],f[m]])})}),Object.keys(s).forEach(a=>{const l=s[a];Ws(l,[se.scales[l.type],se.scale])}),s}function Km(n){const t=n.options||(n.options={});t.plugins=Ct(t.plugins,{}),t.scales=AC(n,t)}function Xm(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function RC(n){return n=n||{},n.data=Xm(n.data),Km(n),n}const Zm=new Map,Qm=new Set;function Na(n,t){let e=Zm.get(n);return e||(e=t(),Zm.set(n,e),Qm.add(e)),e}const so=(n,t,e)=>{const i=Di(t,e);i!==void 0&&n.add(i)};class EC{constructor(t){this._config=RC(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Xm(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Km(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Na(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Na(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Na(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return Na(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:s}=this,a=this._cachedScopes(t,i),l=a.get(e);if(l)return l;const u=new Set;e.forEach(f=>{t&&(u.add(t),f.forEach(m=>so(u,t,m))),f.forEach(m=>so(u,r,m)),f.forEach(m=>so(u,ar[s]||{},m)),f.forEach(m=>so(u,se,m)),f.forEach(m=>so(u,Xc,m))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),Qm.has(e)&&a.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,ar[e]||{},se.datasets[e]||{},{type:e},se,Xc]}resolveNamedOptions(t,e,i,r=[""]){const s={$shared:!0},{resolver:a,subPrefixes:l}=Jm(this._resolverCache,t,r);let u=a;if(IC(a,e)){s.$shared=!1,i=sn(i)?i():i;const d=this.createResolver(t,i,l);u=Yr(a,i,d)}for(const d of e)s[d]=u[d];return s}createResolver(t,e,i=[""],r){const{resolver:s}=Jm(this._resolverCache,t,i);return It(e)?Yr(s,e,void 0,r):s}}function Jm(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let s=i.get(r);return s||(s={resolver:tu(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,s)),s}const PC=n=>It(n)&&Object.getOwnPropertyNames(n).some(t=>sn(n[t]));function IC(n,t){const{isScriptable:e,isIndexable:i}=Zp(n);for(const r of t){const s=e(r),a=i(r),l=(a||s)&&n[r];if(s&&(sn(l)||PC(l))||a&&qt(l))return!0}return!1}var LC="4.5.1";const NC=["top","bottom","left","right","chartArea"];function tg(n,t){return n==="top"||n==="bottom"||NC.indexOf(n)===-1&&t==="x"}function eg(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function ng(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),Qt(e&&e.onComplete,[n],t)}function BC(n){const t=n.chart,e=t.options.animation;Qt(e&&e.onProgress,[n],t)}function ig(n){return iu()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const Ba={},rg=n=>{const t=ig(n);return Object.values(Ba).filter(e=>e.canvas===t).pop()};function FC(n,t,e){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=t){const a=n[r];delete n[r],(e>0||s>t)&&(n[s+e]=a)}}}function zC(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}let on=class{static defaults=se;static instances=Ba;static overrides=ar;static registry=jn;static version=LC;static getChart=rg;static register(...t){jn.add(...t),sg()}static unregister(...t){jn.remove(...t),sg()}constructor(t,e){const i=this.config=new EC(e),r=ig(t),s=rg(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||iC(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,a.aspectRatio),u=l&&l.canvas,d=u&&u.height,f=u&&u.width;if(this.id=UM(),this.ctx=l,this.canvas=u,this.width=f,this.height=d,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new wC,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=nk(m=>this.update(m),a.resizeDelay||0),this._dataChanges=[],Ba[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}li.listen(this,"complete",ng),li.listen(this,"progress",BC),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:s}=this;return vt(t)?e&&s?s:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return jn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():sm(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Gp(this.canvas,this.ctx),this}stop(){return li.stop(this),this}resize(t,e){li.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,s=i.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,t,e,s),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,sm(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),Qt(i.onResize,[this,a],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};Jt(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((a,l)=>(a[l]=!1,a),{});let s=[];e&&(s=s.concat(Object.keys(e).map(a=>{const l=e[a],u=gu(a,l),d=u==="r",f=u==="x";return{options:l,dposition:d?"chartArea":f?"bottom":"left",dtype:d?"radialLinear":f?"category":"linear"}}))),Jt(s,a=>{const l=a.options,u=l.id,d=gu(u,l),f=Ct(l.type,a.dtype);(l.position===void 0||tg(l.position,d)!==tg(a.dposition))&&(l.position=a.dposition),r[u]=!0;let m=null;if(u in i&&i[u].type===f)m=i[u];else{const g=jn.getScale(f);m=new g({id:u,type:f,ctx:this.ctx,chart:this}),i[m.id]=m}m.init(l,t)}),Jt(r,(a,l)=>{a||delete i[l]}),Jt(i,a=>{$e.configure(this,a,a.options),$e.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,s)=>r.index-s.index),i>e){for(let r=e;r<i;++r)this._destroyDatasetMeta(r);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(eg("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(s=>s===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i<r;i++){const s=e[i];let a=this.getDatasetMeta(i);const l=s.type||this.config.type;if(a.type&&a.type!==l&&(this._destroyDatasetMeta(i),a=this.getDatasetMeta(i)),a.type=l,a.indexAxis=s.indexAxis||mu(l,this.options),a.order=s.order||0,a.index=i,a.label=""+s.label,a.visible=this.isDatasetVisible(i),a.controller)a.controller.updateIndex(i),a.controller.linkScales();else{const u=jn.getController(l),{datasetElementType:d,dataElementType:f}=se.datasets[l];Object.assign(u,{dataElementType:jn.getElement(f),datasetElementType:d&&jn.getElement(d)}),a.controller=new u(this,i),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){Jt(this.data.datasets,(t,e)=>{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let d=0,f=this.data.datasets.length;d<f;d++){const{controller:m}=this.getDatasetMeta(d),g=!r&&s.indexOf(m)===-1;m.buildOrUpdateElements(g),a=Math.max(+m.getMaxOverflow(),a)}a=this._minPadding=i.layout.autoPadding?a:0,this._updateLayout(a),r||Jt(s,d=>{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(eg("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){Jt(this.scales,t=>{$e.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!Pp(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of e){const a=i==="_removeElements"?-s:s;FC(t,r,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=s=>new Set(t.filter(a=>a[0]===s).map((a,l)=>l+","+a.splice(1).join(","))),r=i(0);for(let s=1;s<e;s++)if(!Pp(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;$e.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],Jt(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e<i;++e)this.getDatasetMeta(e).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,sn(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),r={meta:i,index:t,mode:e,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",r)!==!1&&(i.controller._update(e),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(li.has(this)?this.attached&&!li.running(this)&&li.start(this):(this.draw(),ng({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(i,r)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let r,s;for(r=0,s=e.length;r<s;++r){const a=e[r];(!t||a.visible)&&i.push(a)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},r=mm(this,t);this.notifyPlugins("beforeDatasetDraw",i)!==!1&&(r&&Gs(e,r),t.controller.draw(),r&&Ks(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return ai(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const s=hu.modes[e];return typeof s=="function"?s(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(s=>s&&s._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Ri(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",s=this.getDatasetMeta(t),a=s.controller._resolveAnimations(void 0,r);rn(e)?(s.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),a.update(s,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),li.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Gp(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Ba[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(s,a)=>{e.addEventListener(this,s,a),t[s]=a},r=(s,a,l)=>{s.offsetX=a,s.offsetY=l,this._eventHandler(s)};Jt(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},s=(u,d)=>{this.canvas&&this.resize(u,d)};let a;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",s),i("detach",a)};a=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():a()}unbindEvents(){Jt(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},Jt(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let s,a,l,u;for(e==="dataset"&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l<u;++l){a=t[l];const d=a&&this.getDatasetMeta(a.datasetIndex).controller;d&&d[r+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map(({datasetIndex:s,index:a})=>{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[a],index:a}});!ya(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,s=(u,d)=>u.filter(f=>!d.some(m=>f.datasetIndex===m.datasetIndex&&f.index===m.index)),a=s(e,t),l=i?t:s(t,e);a.length&&this.updateHoverStyle(a,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const s=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:s}=this,a=e,l=this._getActiveElements(t,r,i,a),u=qM(t),d=zC(t,this._lastEvent,i,u);i&&(this._lastEvent=null,Qt(s.onHover,[t,l,this],this),u&&Qt(s.onClick,[t,l,this],this));const f=!ya(l,r);return(f||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,f}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,r)}};function sg(){return Jt(on.instances,n=>n._plugins.invalidate())}function UC(n,t,e){const{startAngle:i,x:r,y:s,outerRadius:a,innerRadius:l,options:u}=t,{borderWidth:d,borderJoinStyle:f}=u,m=Math.min(d/a,He(i-e));if(n.beginPath(),n.arc(r,s,a-d/2,i+m/2,e-m/2),l>0){const g=Math.min(d/l,He(i-e));n.arc(r,s,l+d/2,e-g/2,i+g/2,!0)}else{const g=Math.min(d/2,a*He(i-e));if(f==="round")n.arc(r,s,g,e-Et/2,i+Et/2,!0);else if(f==="bevel"){const _=2*g*g,x=-_*Math.cos(e+Et/2)+r,w=-_*Math.sin(e+Et/2)+s,v=_*Math.cos(i+Et/2)+r,C=_*Math.sin(i+Et/2)+s;n.lineTo(x,w),n.lineTo(v,C)}}n.closePath(),n.moveTo(0,0),n.rect(0,0,n.canvas.width,n.canvas.height),n.clip("evenodd")}function HC(n,t,e){const{startAngle:i,pixelMargin:r,x:s,y:a,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(s,a,l,i-d,e+d),u>r?(d=r/u,n.arc(s,a,u,e+d,i-d,!0)):n.arc(s,a,r,e+re,i-re),n.closePath(),n.clip()}function WC(n){return Jc(n,["outerStart","outerEnd","innerStart","innerEnd"])}function $C(n,t,e,i){const r=WC(n.options.borderRadius),s=(e-t)/2,a=Math.min(s,i*t/2),l=u=>{const d=(e-Math.min(s,u))*i/2;return Oe(u,0,Math.min(s,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:Oe(r.innerStart,0,a),innerEnd:Oe(r.innerEnd,0,a)}}function Gr(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function Fa(n,t,e,i,r,s){const{x:a,y:l,startAngle:u,pixelMargin:d,innerRadius:f}=t,m=Math.max(t.outerRadius+i+e-d,0),g=f>0?f+i+e+d:0;let _=0;const x=r-u;if(i){const ct=f>0?f-i:0,pt=m>0?m-i:0,dt=(ct+pt)/2,gt=dt!==0?x*dt/(dt+i):x;_=(x-gt)/2}const w=Math.max(.001,x*m-e/Et)/m,v=(x-w)/2,C=u+v+_,A=r-v-_,{outerStart:z,outerEnd:I,innerStart:L,innerEnd:B}=$C(t,g,m,A-C),F=m-z,M=m-I,T=C+z/F,O=A-I/M,E=g+L,$=g+B,Q=C+L/E,lt=A-B/$;if(n.beginPath(),s){const ct=(T+O)/2;if(n.arc(a,l,m,T,ct),n.arc(a,l,m,ct,O),I>0){const rt=Gr(M,O,a,l);n.arc(rt.x,rt.y,I,O,A+re)}const pt=Gr($,A,a,l);if(n.lineTo(pt.x,pt.y),B>0){const rt=Gr($,lt,a,l);n.arc(rt.x,rt.y,B,A+re,lt+Math.PI)}const dt=(A-B/g+(C+L/g))/2;if(n.arc(a,l,g,A-B/g,dt,!0),n.arc(a,l,g,dt,C+L/g,!0),L>0){const rt=Gr(E,Q,a,l);n.arc(rt.x,rt.y,L,Q+Math.PI,C-re)}const gt=Gr(F,C,a,l);if(n.lineTo(gt.x,gt.y),z>0){const rt=Gr(F,T,a,l);n.arc(rt.x,rt.y,z,C-re,T)}}else{n.moveTo(a,l);const ct=Math.cos(T)*m+a,pt=Math.sin(T)*m+l;n.lineTo(ct,pt);const dt=Math.cos(O)*m+a,gt=Math.sin(O)*m+l;n.lineTo(dt,gt)}n.closePath()}function VC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l}=t;let u=t.endAngle;if(s){Fa(n,t,e,i,u,r);for(let d=0;d<s;++d)n.fill();isNaN(l)||(u=a+(l%te||te))}return Fa(n,t,e,i,u,r),n.fill(),u}function YC(n,t,e,i,r){const{fullCircles:s,startAngle:a,circumference:l,options:u}=t,{borderWidth:d,borderJoinStyle:f,borderDash:m,borderDashOffset:g,borderRadius:_}=u,x=u.borderAlign==="inner";if(!d)return;n.setLineDash(m||[]),n.lineDashOffset=g,x?(n.lineWidth=d*2,n.lineJoin=f||"round"):(n.lineWidth=d,n.lineJoin=f||"bevel");let w=t.endAngle;if(s){Fa(n,t,e,i,w,r);for(let v=0;v<s;++v)n.stroke();isNaN(l)||(w=a+(l%te||te))}x&&HC(n,t,w),u.selfJoin&&w-a>=Et&&_===0&&f!=="miter"&&UC(n,t,w),s||(Fa(n,t,e,i,w,r),n.stroke())}class qC extends Ve{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.getProps(["x","y"],i),{angle:s,distance:a}=va(r,{x:t,y:e}),{startAngle:l,endAngle:u,innerRadius:d,outerRadius:f,circumference:m}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),g=(this.options.spacing+this.options.borderWidth)/2,_=Ct(m,u-l),x=Vs(s,l,u)&&l!==u,w=_>=te||x,v=si(a,d+g,f+g);return w&&v}getCenterPoint(t){const{x:e,y:i,startAngle:r,endAngle:s,innerRadius:a,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:u,spacing:d}=this.options,f=(r+s)/2,m=(a+l+d+u)/2;return{x:e+Math.cos(f)*m,y:i+Math.sin(f)*m}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,r=(e.offset||0)/4,s=(e.spacing||0)/2,a=e.circular;if(this.pixelMargin=e.borderAlign==="inner"?.33:0,this.fullCircles=i>te?Math.floor(i/te):0,i===0||this.innerRadius<0||this.outerRadius<0)return;t.save();const l=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(l)*r,Math.sin(l)*r);const u=1-Math.sin(Math.min(Et,i||0)),d=r*u;t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,VC(t,this,d,s,a),YC(t,this,d,s,a),t.restore()}}function og(n,t,e=t){n.lineCap=Ct(e.borderCapStyle,t.borderCapStyle),n.setLineDash(Ct(e.borderDash,t.borderDash)),n.lineDashOffset=Ct(e.borderDashOffset,t.borderDashOffset),n.lineJoin=Ct(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=Ct(e.borderWidth,t.borderWidth),n.strokeStyle=Ct(e.borderColor,t.borderColor)}function jC(n,t,e){n.lineTo(e.x,e.y)}function GC(n){return n.stepped?pk:n.tension||n.cubicInterpolationMode==="monotone"?mk:jC}function ag(n,t,e={}){const i=n.length,{start:r=0,end:s=i-1}=e,{start:a,end:l}=t,u=Math.max(r,a),d=Math.min(s,l),f=r<a&&s<a||r>l&&s>l;return{count:i,start:u,loop:t.loop,ilen:d<u&&!f?i+d-u:d-u}}function KC(n,t,e,i){const{points:r,options:s}=t,{count:a,start:l,loop:u,ilen:d}=ag(r,e,i),f=GC(s);let{move:m=!0,reverse:g}=i||{},_,x,w;for(_=0;_<=d;++_)x=r[(l+(g?d-_:_))%a],!x.skip&&(m?(n.moveTo(x.x,x.y),m=!1):f(n,w,x,g,s.stepped),w=x);return u&&(x=r[(l+(g?d:0))%a],f(n,w,x,g,s.stepped)),!!u}function XC(n,t,e,i){const r=t.points,{count:s,start:a,ilen:l}=ag(r,e,i),{move:u=!0,reverse:d}=i||{};let f=0,m=0,g,_,x,w,v,C;const A=I=>(a+(d?l-I:I))%s,z=()=>{w!==v&&(n.lineTo(f,v),n.lineTo(f,w),n.lineTo(f,C))};for(u&&(_=r[A(0)],n.moveTo(_.x,_.y)),g=0;g<=l;++g){if(_=r[A(g)],_.skip)continue;const I=_.x,L=_.y,B=I|0;B===x?(L<w?w=L:L>v&&(v=L),f=(m*f+I)/++m):(z(),n.lineTo(I,L),x=B,m=0,w=v=L),C=L}z()}function yu(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?XC:KC}function ZC(n){return n.stepped?jk:n.tension||n.cubicInterpolationMode==="monotone"?Gk:dr}function QC(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),og(n,t.options),n.stroke(r)}function JC(n,t,e,i){const{segments:r,options:s}=t,a=yu(t);for(const l of r)og(n,s,l.style),n.beginPath(),a(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const tO=typeof Path2D=="function";function eO(n,t,e,i){tO&&!t.options.segment?QC(n,t,e,i):JC(n,t,e,i)}class za extends Ve{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;zk(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=tD(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],s=this.points,a=fm(this,{property:e,start:r,end:r});if(!a.length)return;const l=[],u=ZC(i);let d,f;for(d=0,f=a.length;d<f;++d){const{start:m,end:g}=a[d],_=s[m],x=s[g];if(_===x){l.push(_);continue}const w=Math.abs((r-_[e])/(x[e]-_[e])),v=u(_,x,w,i.stepped);v[e]=t[e],l.push(v)}return l.length===1?l[0]:l}pathSegment(t,e,i){return yu(this)(t,this,e,i)}path(t,e,i){const r=this.segments,s=yu(this);let a=this._loop;e=e||0,i=i||this.points.length-e;for(const l of r)a&=s(t,this,l,{start:e,end:e+i-1});return!!a}draw(t,e,i,r){const s=this.options||{};(this.points||[]).length&&s.borderWidth&&(t.save(),eO(t,this,i,r),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function lg(n,t,e,i){const r=n.options,{[e]:s}=n.getProps([e],i);return Math.abs(t-s)<r.radius+r.hitRadius}class nO extends Ve{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const r=this.options,{x:s,y:a}=this.getProps(["x","y"],i);return Math.pow(t-s,2)+Math.pow(e-a,2)<Math.pow(r.hitRadius+r.radius,2)}inXRange(t,e){return lg(this,t,"x",e)}inYRange(t,e){return lg(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){t=t||this.options||{};let e=t.radius||0;e=Math.max(e,e&&t.hoverRadius||0);const i=e&&t.borderWidth||0;return(e+i)*2}draw(t,e){const i=this.options;this.skip||i.radius<.1||!ai(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Qc(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function cg(n,t){const{x:e,y:i,base:r,width:s,height:a}=n.getProps(["x","y","base","width","height"],t);let l,u,d,f,m;return n.horizontal?(m=a/2,l=Math.min(e,r),u=Math.max(e,r),d=i-m,f=i+m):(m=s/2,l=e-m,u=e+m,d=Math.min(i,r),f=Math.max(i,r)),{left:l,top:d,right:u,bottom:f}}function Li(n,t,e,i){return n?0:Oe(t,e,i)}function iO(n,t,e){const i=n.options.borderWidth,r=n.borderSkipped,s=Xp(i);return{t:Li(r.top,s.top,0,e),r:Li(r.right,s.right,0,t),b:Li(r.bottom,s.bottom,0,e),l:Li(r.left,s.left,0,t)}}function rO(n,t,e){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=Ai(r),a=Math.min(t,e),l=n.borderSkipped,u=i||It(r);return{topLeft:Li(!u||l.top||l.left,s.topLeft,0,a),topRight:Li(!u||l.top||l.right,s.topRight,0,a),bottomLeft:Li(!u||l.bottom||l.left,s.bottomLeft,0,a),bottomRight:Li(!u||l.bottom||l.right,s.bottomRight,0,a)}}function sO(n){const t=cg(n),e=t.right-t.left,i=t.bottom-t.top,r=iO(n,e/2,i/2),s=rO(n,e/2,i/2);return{outer:{x:t.left,y:t.top,w:e,h:i,radius:s},inner:{x:t.left+r.l,y:t.top+r.t,w:e-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}function _u(n,t,e,i){const r=t===null,s=e===null,l=n&&!(r&&s)&&cg(n,i);return l&&(r||si(t,l.left,l.right))&&(s||si(e,l.top,l.bottom))}function oO(n){return n.topLeft||n.topRight||n.bottomLeft||n.bottomRight}function aO(n,t){n.rect(t.x,t.y,t.w,t.h)}function bu(n,t,e={}){const i=n.x!==e.x?-t:0,r=n.y!==e.y?-t:0,s=(n.x+n.w!==e.x+e.w?t:0)-i,a=(n.y+n.h!==e.y+e.h?t:0)-r;return{x:n.x+i,y:n.y+r,w:n.w+s,h:n.h+a,radius:n.radius}}class lO extends Ve{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:a}=sO(this),l=oO(a.radius)?Vr:aO;t.save(),(a.w!==s.w||a.h!==s.h)&&(t.beginPath(),l(t,bu(a,e,s)),t.clip(),l(t,bu(s,-e,a)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),l(t,bu(s,e)),t.fillStyle=r,t.fill(),t.restore()}inRange(t,e,i){return _u(this,t,e,i)}inXRange(t,e){return _u(this,t,null,e)}inYRange(t,e){return _u(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],t);return{x:s?(e+r)/2:e,y:s?i:(i+r)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}var cO=Object.freeze({__proto__:null,ArcElement:qC,BarElement:lO,LineElement:za,PointElement:nO});const xu=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],ug=xu.map(n=>n.replace("rgb(","rgba(").replace(")",", 0.5)"));function dg(n){return xu[n%xu.length]}function fg(n){return ug[n%ug.length]}function uO(n,t){return n.borderColor=dg(t),n.backgroundColor=fg(t),++t}function dO(n,t){return n.backgroundColor=n.data.map(()=>dg(t++)),t}function fO(n,t){return n.backgroundColor=n.data.map(()=>fg(t++)),t}function hO(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof Qs?t=dO(e,t):r instanceof Om?t=fO(e,t):r&&(t=uO(e,t))}}function hg(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function pO(n){return n&&(n.borderColor||n.backgroundColor)}function mO(){return se.borderColor!=="rgba(0,0,0,0.1)"||se.backgroundColor!=="rgba(0,0,0,0.1)"}var gO={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:s}=r,a=hg(i)||pO(r)||s&&hg(s)||mO();if(!e.forceOverride&&a)return;const l=hO(n);i.forEach(l)}};function yO(n,t,e,i,r){const s=r.samples||i;if(s>=e)return n.slice(t,t+e);const a=[],l=(e-2)/(s-2);let u=0;const d=t+e-1;let f=t,m,g,_,x,w;for(a[u++]=n[f],m=0;m<s-2;m++){let v=0,C=0,A;const z=Math.floor((m+1)*l)+1+t,I=Math.min(Math.floor((m+2)*l)+1,e)+t,L=I-z;for(A=z;A<I;A++)v+=n[A].x,C+=n[A].y;v/=L,C/=L;const B=Math.floor(m*l)+1+t,F=Math.min(Math.floor((m+1)*l)+1,e)+t,{x:M,y:T}=n[f];for(_=x=-1,A=B;A<F;A++)x=.5*Math.abs((M-v)*(n[A].y-T)-(M-n[A].x)*(C-T)),x>_&&(_=x,g=n[A],w=A);a[u++]=g,f=w}return a[u++]=n[d],a}function _O(n,t,e,i){let r=0,s=0,a,l,u,d,f,m,g,_,x,w;const v=[],C=t+e-1,A=n[t].x,I=n[C].x-A;for(a=t;a<t+e;++a){l=n[a],u=(l.x-A)/I*i,d=l.y;const L=u|0;if(L===f)d<x?(x=d,m=a):d>w&&(w=d,g=a),r=(s*r+l.x)/++s;else{const B=a-1;if(!vt(m)&&!vt(g)){const F=Math.min(m,g),M=Math.max(m,g);F!==_&&F!==B&&v.push({...n[F],x:r}),M!==_&&M!==B&&v.push({...n[M],x:r})}a>0&&B!==_&&v.push(n[B]),v.push(l),f=L,s=0,x=w=d,m=g=_=a}}return v}function pg(n){if(n._decimated){const t=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function mg(n){n.data.datasets.forEach(t=>{pg(t)})}function bO(n,t){const e=t.length;let i=0,r;const{iScale:s}=n,{min:a,max:l,minDefined:u,maxDefined:d}=s.getUserBounds();return u&&(i=Oe(oi(t,s.axis,a).lo,0,e-1)),d?r=Oe(oi(t,s.axis,l).hi+1,i,e)-i:r=e-i,{start:i,count:r}}var xO={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,t,e)=>{if(!e.enabled){mg(n);return}const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:a,indexAxis:l}=r,u=n.getDatasetMeta(s),d=a||r.data;if(Xs([l,n.options.indexAxis])==="y"||!u.controller.supportsDecimation)return;const f=n.scales[u.xAxisID];if(f.type!=="linear"&&f.type!=="time"||n.options.parsing)return;let{start:m,count:g}=bO(u,d);const _=e.threshold||4*i;if(g<=_){pg(r);return}vt(a)&&(r._data=d,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(w){this._data=w}}));let x;switch(e.algorithm){case"lttb":x=yO(d,m,g,i,e);break;case"min-max":x=_O(d,m,g,i);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}r._decimated=x})},destroy(n){mg(n)}};function wO(n,t,e){const i=n.segments,r=n.points,s=t.points,a=[];for(const l of i){let{start:u,end:d}=l;d=Ua(u,d,r);const f=wu(e,r[u],r[d],l.loop);if(!t.segments){a.push({source:l,target:f,start:r[u],end:r[d]});continue}const m=fm(t,f);for(const g of m){const _=wu(e,s[g.start],s[g.end],g.loop),x=dm(l,r,_);for(const w of x)a.push({source:w,target:g,start:{[e]:gg(f,_,"start",Math.max)},end:{[e]:gg(f,_,"end",Math.min)}})}}return a}function wu(n,t,e,i){if(i)return;let r=t[n],s=e[n];return n==="angle"&&(r=He(r),s=He(s)),{property:n,start:r,end:s}}function vO(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,s=[];return t.segments.forEach(({start:a,end:l})=>{l=Ua(a,l,r);const u=r[a],d=r[l];i!==null?(s.push({x:u.x,y:i}),s.push({x:d.x,y:i})):e!==null&&(s.push({x:e,y:u.y}),s.push({x:e,y:d.y}))}),s}function Ua(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function gg(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function yg(n,t){let e=[],i=!1;return qt(n)?(i=!0,e=n):e=vO(n,t),e.length?new za({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function _g(n){return n&&n.fill!==!1}function SO(n,t,e){let r=n[t].fill;const s=[t];let a;if(!e)return r;for(;r!==!1&&s.indexOf(r)===-1;){if(!ae(r))return r;if(a=n[r],!a)return!1;if(a.visible)return r;s.push(r),r=a.fill}return!1}function TO(n,t,e){const i=CO(n);if(It(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return ae(r)&&Math.floor(r)===r?MO(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function MO(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function kO(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:It(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function DO(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:It(n)?i=n.value:i=t.getBaseValue(),i}function CO(n){const t=n.options,e=t.fill;let i=Ct(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function OO(n){const{scale:t,index:e,line:i}=n,r=[],s=i.segments,a=i.points,l=AO(t,e);l.push(yg({x:null,y:t.bottom},i));for(let u=0;u<s.length;u++){const d=s[u];for(let f=d.start;f<=d.end;f++)RO(r,a[f],l)}return new za({points:r,options:{}})}function AO(n,t){const e=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===t)break;s.hidden||e.unshift(s.dataset)}return e}function RO(n,t,e){const i=[];for(let r=0;r<e.length;r++){const s=e[r],{first:a,last:l,point:u}=EO(s,t,"x");if(!(!u||a&&l)){if(a)i.unshift(u);else if(n.push(u),!l)break}}n.push(...i)}function EO(n,t,e){const i=n.interpolate(t,e);if(!i)return{};const r=i[e],s=n.segments,a=n.points;let l=!1,u=!1;for(let d=0;d<s.length;d++){const f=s[d],m=a[f.start][e],g=a[f.end][e];if(si(r,m,g)){l=r===m,u=r===g;break}}return{first:l,last:u,point:i}}class bg{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:r,y:s,radius:a}=this;return e=e||{start:0,end:te},t.arc(r,s,a,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:r}=this,s=t.angle;return{x:e+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function PO(n){const{chart:t,fill:e,line:i}=n;if(ae(e))return IO(t,e);if(e==="stack")return OO(n);if(e==="shape")return!0;const r=LO(n);return r instanceof bg?r:yg(r,i)}function IO(n,t){const e=n.getDatasetMeta(t);return e&&n.isDatasetVisible(t)?e.dataset:null}function LO(n){return(n.scale||{}).getPointPositionForValue?BO(n):NO(n)}function NO(n){const{scale:t={},fill:e}=n,i=kO(e,t);if(ae(i)){const r=t.isHorizontal();return{x:r?i:null,y:r?null:i}}return null}function BO(n){const{scale:t,fill:e}=n,i=t.options,r=t.getLabels().length,s=i.reverse?t.max:t.min,a=DO(e,t,s),l=[];if(i.grid.circular){const u=t.getPointPositionForValue(0,s);return new bg({x:u.x,y:u.y,radius:t.getDistanceFromCenterForValue(a)})}for(let u=0;u<r;++u)l.push(t.getPointPositionForValue(u,a));return l}function vu(n,t,e){const i=PO(t),{chart:r,index:s,line:a,scale:l,axis:u}=t,d=a.options,f=d.fill,m=d.backgroundColor,{above:g=m,below:_=m}=f||{},x=r.getDatasetMeta(s),w=mm(r,x);i&&a.points.length&&(Gs(n,e),FO(n,{line:a,target:i,above:g,below:_,area:e,scale:l,axis:u,clip:w}),Ks(n))}function FO(n,t){const{line:e,target:i,above:r,below:s,area:a,scale:l,clip:u}=t,d=e._loop?"angle":t.axis;n.save();let f=s;s!==r&&(d==="x"?(xg(n,i,a.top),Su(n,{line:e,target:i,color:r,scale:l,property:d,clip:u}),n.restore(),n.save(),xg(n,i,a.bottom)):d==="y"&&(wg(n,i,a.left),Su(n,{line:e,target:i,color:s,scale:l,property:d,clip:u}),n.restore(),n.save(),wg(n,i,a.right),f=r)),Su(n,{line:e,target:i,color:f,scale:l,property:d,clip:u}),n.restore()}function xg(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,f=r[u],m=r[Ua(u,d,r)];s?(n.moveTo(f.x,f.y),s=!1):(n.lineTo(f.x,e),n.lineTo(f.x,f.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(m.x,e)}n.lineTo(t.first().x,e),n.closePath(),n.clip()}function wg(n,t,e){const{segments:i,points:r}=t;let s=!0,a=!1;n.beginPath();for(const l of i){const{start:u,end:d}=l,f=r[u],m=r[Ua(u,d,r)];s?(n.moveTo(f.x,f.y),s=!1):(n.lineTo(e,f.y),n.lineTo(f.x,f.y)),a=!!t.pathSegment(n,l,{move:a}),a?n.closePath():n.lineTo(e,m.y)}n.lineTo(e,t.first().y),n.closePath(),n.clip()}function Su(n,t){const{line:e,target:i,property:r,color:s,scale:a,clip:l}=t,u=wO(e,i,r);for(const{source:d,target:f,start:m,end:g}of u){const{style:{backgroundColor:_=s}={}}=d,x=i!==!0;n.save(),n.fillStyle=_,zO(n,a,l,x&&wu(r,m,g)),n.beginPath();const w=!!e.pathSegment(n,d);let v;if(x){w?n.closePath():vg(n,i,g,r);const C=!!i.pathSegment(n,f,{move:w,reverse:!0});v=w&&C,v||vg(n,i,m,r)}n.closePath(),n.fill(v?"evenodd":"nonzero"),n.restore()}}function zO(n,t,e,i){const r=t.chart.chartArea,{property:s,start:a,end:l}=i||{};if(s==="x"||s==="y"){let u,d,f,m;s==="x"?(u=a,d=r.top,f=l,m=r.bottom):(u=r.left,d=a,f=r.right,m=l),n.beginPath(),e&&(u=Math.max(u,e.left),f=Math.min(f,e.right),d=Math.max(d,e.top),m=Math.min(m,e.bottom)),n.rect(u,d,f-u,m-d),n.clip()}}function vg(n,t,e,i){const r=t.interpolate(e,i);r&&n.lineTo(r.x,r.y)}var UO={id:"filler",afterDatasetsUpdate(n,t,e){const i=(n.data.datasets||[]).length,r=[];let s,a,l,u;for(a=0;a<i;++a)s=n.getDatasetMeta(a),l=s.dataset,u=null,l&&l.options&&l instanceof za&&(u={visible:n.isDatasetVisible(a),index:a,fill:TO(l,a,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:l}),s.$filler=u,r.push(u);for(a=0;a<i;++a)u=r[a],!(!u||u.fill===!1)&&(u.fill=SO(r,a,e.propagate))},beforeDraw(n,t,e){const i=e.drawTime==="beforeDraw",r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let a=r.length-1;a>=0;--a){const l=r[a].$filler;l&&(l.line.updateControlPoints(s,l.axis),i&&l.fill&&vu(n.ctx,l,s))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;_g(s)&&vu(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!_g(i)||e.drawTime!=="beforeDatasetDraw"||vu(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Sg=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},HO=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class Tg extends Ve{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Qt(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=le(i.font),s=r.size,a=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=Sg(i,s);let d,f;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,f=this._fitRows(a,s,l,u)+10):(f=this.maxHeight,d=this._fitCols(a,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(f,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:s,maxWidth:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],f=r+l;let m=t;s.textAlign="left",s.textBaseline="middle";let g=-1,_=-f;return this.legendItems.forEach((x,w)=>{const v=i+e/2+s.measureText(x.text).width;(w===0||d[d.length-1]+v+2*l>a)&&(m+=f,d[d.length-(w>0?0:1)]=0,_+=f,g++),u[w]={left:0,top:_,row:g,width:v,height:r},d[d.length-1]+=v+l}),m}_fitCols(t,e,i,r){const{ctx:s,maxHeight:a,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],f=a-t;let m=l,g=0,_=0,x=0,w=0;return this.legendItems.forEach((v,C)=>{const{itemWidth:A,itemHeight:z}=WO(i,e,s,v,r);C>0&&_+z+2*l>f&&(m+=g+l,d.push({width:g,height:_}),x+=g+l,w++,g=_=0),u[C]={left:x,top:_,col:w,width:A,height:z},g=Math.max(g,A),_+=z+l}),m+=g,d.push({width:g,height:_}),m}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:s}}=this,a=jr(s,this.left,this.width);if(this.isHorizontal()){let l=0,u=We(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=We(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=a.leftForLtr(a.x(u),d.width),u+=d.width+r}else{let l=0,u=We(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=We(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=a.leftForLtr(a.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Gs(t,this),this._draw(),Ks(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:s,labels:a}=t,l=se.color,u=jr(t.rtl,this.left,this.width),d=le(a.font),{padding:f}=a,m=d.size,g=m/2;let _;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:x,boxHeight:w,itemHeight:v}=Sg(a,m),C=function(B,F,M){if(isNaN(x)||x<=0||isNaN(w)||w<0)return;r.save();const T=Ct(M.lineWidth,1);if(r.fillStyle=Ct(M.fillStyle,l),r.lineCap=Ct(M.lineCap,"butt"),r.lineDashOffset=Ct(M.lineDashOffset,0),r.lineJoin=Ct(M.lineJoin,"miter"),r.lineWidth=T,r.strokeStyle=Ct(M.strokeStyle,l),r.setLineDash(Ct(M.lineDash,[])),a.usePointStyle){const O={radius:w*Math.SQRT2/2,pointStyle:M.pointStyle,rotation:M.rotation,borderWidth:T},E=u.xPlus(B,x/2),$=F+g;Kp(r,O,E,$,a.pointStyleWidth&&x)}else{const O=F+Math.max((m-w)/2,0),E=u.leftForLtr(B,x),$=Ai(M.borderRadius);r.beginPath(),Object.values($).some(Q=>Q!==0)?Vr(r,{x:E,y:O,w:x,h:w,radius:$}):r.rect(E,O,x,w),r.fill(),T!==0&&r.stroke()}r.restore()},A=function(B,F,M){cr(r,M.text,B,F+v/2,d,{strikethrough:M.hidden,textAlign:u.textAlign(M.textAlign)})},z=this.isHorizontal(),I=this._computeTitleHeight();z?_={x:We(s,this.left+f,this.right-i[0]),y:this.top+f+I,line:0}:_={x:this.left+f,y:We(s,this.top+I+f,this.bottom-e[0].height),line:0},am(this.ctx,t.textDirection);const L=v+f;this.legendItems.forEach((B,F)=>{r.strokeStyle=B.fontColor,r.fillStyle=B.fontColor;const M=r.measureText(B.text).width,T=u.textAlign(B.textAlign||(B.textAlign=a.textAlign)),O=x+g+M;let E=_.x,$=_.y;u.setWidth(this.width),z?F>0&&E+O+f>this.right&&($=_.y+=L,_.line++,E=_.x=We(s,this.left+f,this.right-i[_.line])):F>0&&$+L>this.bottom&&(E=_.x=E+e[_.line].width+f,_.line++,$=_.y=We(s,this.top+I+f,this.bottom-e[_.line].height));const Q=u.x(E);if(C(Q,$,B),E=ik(T,E+x+g,z?E+O:this.right,t.rtl),A(u.x(E),$,B),z)_.x+=O+f;else if(typeof B.text!="string"){const lt=d.lineHeight;_.y+=Mg(B,lt)+f}else _.y+=L}),lm(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=le(e.font),r=ve(e.padding);if(!e.display)return;const s=jr(t.rtl,this.left,this.width),a=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let f,m=this.left,g=this.width;if(this.isHorizontal())g=Math.max(...this.lineWidths),f=this.top+d,m=We(t.align,m,this.right-g);else{const x=this.columnSizes.reduce((w,v)=>Math.max(w,v.height),0);f=d+We(t.align,this.top,this.bottom-x-t.labels.padding-this._computeTitleHeight())}const _=We(l,m,m+g);a.textAlign=s.textAlign(jc(l)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=i.string,cr(a,e.text,_,f,i)}_computeTitleHeight(){const t=this.options.title,e=le(t.font),i=ve(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,s;if(si(t,this.left,this.right)&&si(e,this.top,this.bottom)){for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],si(t,r.left,r.left+r.width)&&si(e,r.top,r.top+r.height))return this.legendItems[i]}return null}handleEvent(t){const e=this.options;if(!YO(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const r=this._hoveredItem,s=HO(r,i);r&&!s&&Qt(e.onLeave,[t,r,this],this),this._hoveredItem=i,i&&!s&&Qt(e.onHover,[t,i,this],this)}else i&&Qt(e.onClick,[t,i,this],this)}}function WO(n,t,e,i,r){const s=$O(i,n,t,e),a=VO(r,i,t.lineHeight);return{itemWidth:s,itemHeight:a}}function $O(n,t,e,i){let r=n.text;return r&&typeof r!="string"&&(r=r.reduce((s,a)=>s.length>a.length?s:a)),t+e.size/2+i.measureText(r).width}function VO(n,t,e){let i=n;return typeof t.text!="string"&&(i=Mg(t,e)),i}function Mg(n,t){const e=n.text?n.text.length:0;return t*e}function YO(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var qO={id:"legend",_element:Tg,start(n,t,e){const i=n.legend=new Tg({ctx:n.ctx,options:e,chart:n});$e.configure(n,i,e),$e.addBox(n,i)},stop(n){$e.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;$e.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:s,useBorderRadius:a,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),f=ve(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:s,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(f.width+f.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:a&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Tu extends Ve{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const r=qt(i.text)?i.text.length:1;this._padding=ve(i.padding);const s=r*le(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:i,bottom:r,right:s,options:a}=this,l=a.align;let u=0,d,f,m;return this.isHorizontal()?(f=We(l,i,s),m=e+t,d=s-i):(a.position==="left"?(f=i+t,m=We(l,r,e),u=Et*-.5):(f=s-t,m=We(l,e,r),u=Et*.5),d=r-e),{titleX:f,titleY:m,maxWidth:d,rotation:u}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=le(e.font),s=i.lineHeight/2+this._padding.top,{titleX:a,titleY:l,maxWidth:u,rotation:d}=this._drawArgs(s);cr(t,e.text,0,0,i,{color:e.color,maxWidth:u,rotation:d,textAlign:jc(e.align),textBaseline:"middle",translation:[a,l]})}}function jO(n,t){const e=new Tu({ctx:n.ctx,options:t,chart:n});$e.configure(n,e,t),$e.addBox(n,e),n.titleBlock=e}var GO={id:"title",_element:Tu,start(n,t,e){jO(n,e)},stop(n){const t=n.titleBlock;$e.removeBox(n,t),delete n.titleBlock},beforeUpdate(n,t,e){const i=n.titleBlock;$e.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Ha=new WeakMap;var KO={id:"subtitle",start(n,t,e){const i=new Tu({ctx:n.ctx,options:e,chart:n});$e.configure(n,i,e),$e.addBox(n,i),Ha.set(n,i)},stop(n){$e.removeBox(n,Ha.get(n)),Ha.delete(n)},beforeUpdate(n,t,e){const i=Ha.get(n);$e.configure(n,i,e),i.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const oo={average(n){if(!n.length)return!1;let t,e,i=new Set,r=0,s=0;for(t=0,e=n.length;t<e;++t){const l=n[t].element;if(l&&l.hasValue()){const u=l.tooltipPosition();i.add(u.x),r+=u.y,++s}}return s===0||i.size===0?!1:{x:[...i].reduce((l,u)=>l+u)/i.size,y:r/s}},nearest(n,t){if(!n.length)return!1;let e=t.x,i=t.y,r=Number.POSITIVE_INFINITY,s,a,l;for(s=0,a=n.length;s<a;++s){const u=n[s].element;if(u&&u.hasValue()){const d=u.getCenterPoint(),f=$r(t,d);f<r&&(r=f,l=u)}}if(l){const u=l.tooltipPosition();e=u.x,i=u.y}return{x:e,y:i}}};function Gn(n,t){return t&&(qt(t)?Array.prototype.push.apply(n,t):n.push(t)),n}function ci(n){return(typeof n=="string"||n instanceof String)&&n.indexOf(`
2
2
  `)>-1?n.split(`
3
3
  `):n}function XO(n,t){const{element:e,datasetIndex:i,index:r}=t,s=n.getDatasetMeta(i).controller,{label:a,value:l}=s.getLabelAndValue(r);return{chart:n,label:a,parsed:s.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:l,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:e}}function kg(n,t){const e=n.chart.ctx,{body:i,footer:r,title:s}=n,{boxWidth:a,boxHeight:l}=t,u=le(t.bodyFont),d=le(t.titleFont),f=le(t.footerFont),m=s.length,g=r.length,_=i.length,x=ve(t.padding);let w=x.height,v=0,C=i.reduce((I,L)=>I+L.before.length+L.lines.length+L.after.length,0);if(C+=n.beforeBody.length+n.afterBody.length,m&&(w+=m*d.lineHeight+(m-1)*t.titleSpacing+t.titleMarginBottom),C){const I=t.displayColors?Math.max(l,u.lineHeight):u.lineHeight;w+=_*I+(C-_)*u.lineHeight+(C-1)*t.bodySpacing}g&&(w+=t.footerMarginTop+g*f.lineHeight+(g-1)*t.footerSpacing);let A=0;const z=function(I){v=Math.max(v,e.measureText(I).width+A)};return e.save(),e.font=d.string,Jt(n.title,z),e.font=u.string,Jt(n.beforeBody.concat(n.afterBody),z),A=t.displayColors?a+2+t.boxPadding:0,Jt(i,I=>{Jt(I.before,z),Jt(I.lines,z),Jt(I.after,z)}),A=0,e.font=f.string,Jt(n.footer,z),e.restore(),v+=x.width,{width:v,height:w}}function ZO(n,t){const{y:e,height:i}=t;return e<i/2?"top":e>n.height-i/2?"bottom":"center"}function QO(n,t,e,i){const{x:r,width:s}=i,a=e.caretSize+e.caretPadding;if(n==="left"&&r+s+a>t.width||n==="right"&&r-s-a<0)return!0}function JO(n,t,e,i){const{x:r,width:s}=e,{width:a,chartArea:{left:l,right:u}}=n;let d="center";return i==="center"?d=r<=(l+u)/2?"left":"right":r<=s/2?d="left":r>=a-s/2&&(d="right"),QO(d,n,t,e)&&(d="center"),d}function Dg(n,t,e){const i=e.yAlign||t.yAlign||ZO(n,e);return{xAlign:e.xAlign||t.xAlign||JO(n,t,e,i),yAlign:i}}function tA(n,t){let{x:e,width:i}=n;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function eA(n,t,e){let{y:i,height:r}=n;return t==="top"?i+=e:t==="bottom"?i-=r+e:i-=r/2,i}function Cg(n,t,e,i){const{caretSize:r,caretPadding:s,cornerRadius:a}=n,{xAlign:l,yAlign:u}=e,d=r+s,{topLeft:f,topRight:m,bottomLeft:g,bottomRight:_}=Ai(a);let x=tA(t,l);const w=eA(t,u,d);return u==="center"?l==="left"?x+=d:l==="right"&&(x-=d):l==="left"?x-=Math.max(f,g)+r:l==="right"&&(x+=Math.max(m,_)+r),{x:Oe(x,0,i.width-t.width),y:Oe(w,0,i.height-t.height)}}function Wa(n,t,e){const i=ve(e.padding);return t==="center"?n.x+n.width/2:t==="right"?n.x+n.width-i.right:n.x+i.left}function Og(n){return Gn([],ci(n))}function nA(n,t,e){return Ri(n,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Ag(n,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?n.override(e):n}const Rg={beforeTitle:ri,title(n){if(n.length>0){const t=n[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex<i)return e[t.dataIndex]}return""},afterTitle:ri,beforeBody:ri,beforeLabel:ri,label(n){if(this&&this.options&&this.options.mode==="dataset")return n.label+": "+n.formattedValue||n.formattedValue;let t=n.dataset.label||"";t&&(t+=": ");const e=n.formattedValue;return vt(e)||(t+=e),t},labelColor(n){const e=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(n){const e=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:ri,afterBody:ri,beforeFooter:ri,footer:ri,afterFooter:ri};function an(n,t,e,i){const r=n[t].call(e,i);return typeof r>"u"?Rg[t].call(e,i):r}class Eg extends Ve{static positioners=oo;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&e.options.animation&&i.animations,s=new su(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=nA(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,r=an(i,"beforeTitle",this,t),s=an(i,"title",this,t),a=an(i,"afterTitle",this,t);let l=[];return l=Gn(l,ci(r)),l=Gn(l,ci(s)),l=Gn(l,ci(a)),l}getBeforeBody(t,e){return Og(an(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,r=[];return Jt(t,s=>{const a={before:[],lines:[],after:[]},l=Ag(i,s);Gn(a.before,ci(an(l,"beforeLabel",this,s))),Gn(a.lines,an(l,"label",this,s)),Gn(a.after,ci(an(l,"afterLabel",this,s))),r.push(a)}),r}getAfterBody(t,e){return Og(an(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,r=an(i,"beforeFooter",this,t),s=an(i,"footer",this,t),a=an(i,"afterFooter",this,t);let l=[];return l=Gn(l,ci(r)),l=Gn(l,ci(s)),l=Gn(l,ci(a)),l}_createItems(t){const e=this._active,i=this.chart.data,r=[],s=[],a=[];let l=[],u,d;for(u=0,d=e.length;u<d;++u)l.push(XO(this.chart,e[u]));return t.filter&&(l=l.filter((f,m,g)=>t.filter(f,m,g,i))),t.itemSort&&(l=l.sort((f,m)=>t.itemSort(f,m,i))),Jt(l,f=>{const m=Ag(t.callbacks,f);r.push(an(m,"labelColor",this,f)),s.push(an(m,"labelPointStyle",this,f)),a.push(an(m,"labelTextColor",this,f))}),this.labelColors=r,this.labelPointStyles=s,this.labelTextColors=a,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),r=this._active;let s,a=[];if(!r.length)this.opacity!==0&&(s={opacity:0});else{const l=oo[i.position].call(this,r,this._eventPosition);a=this._createItems(i),this.title=this.getTitle(a,i),this.beforeBody=this.getBeforeBody(a,i),this.body=this.getBody(a,i),this.afterBody=this.getAfterBody(a,i),this.footer=this.getFooter(a,i);const u=this._size=kg(this,i),d=Object.assign({},l,u),f=Dg(this.chart,i,d),m=Cg(i,d,f,this.chart);this.xAlign=f.xAlign,this.yAlign=f.yAlign,s={opacity:1,x:m.x,y:m.y,width:u.width,height:u.height,caretX:l.x,caretY:l.y}}this._tooltipItems=a,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,r){const s=this.getCaretPosition(t,i,r);e.lineTo(s.x1,s.y1),e.lineTo(s.x2,s.y2),e.lineTo(s.x3,s.y3)}getCaretPosition(t,e,i){const{xAlign:r,yAlign:s}=this,{caretSize:a,cornerRadius:l}=i,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:m}=Ai(l),{x:g,y:_}=t,{width:x,height:w}=e;let v,C,A,z,I,L;return s==="center"?(I=_+w/2,r==="left"?(v=g,C=v-a,z=I+a,L=I-a):(v=g+x,C=v+a,z=I-a,L=I+a),A=v):(r==="left"?C=g+Math.max(u,f)+a:r==="right"?C=g+x-Math.max(d,m)-a:C=this.caretX,s==="top"?(z=_,I=z-a,v=C-a,A=C+a):(z=_+w,I=z+a,v=C+a,A=C-a),L=z),{x1:v,x2:C,x3:A,y1:z,y2:I,y3:L}}drawTitle(t,e,i){const r=this.title,s=r.length;let a,l,u;if(s){const d=jr(i.rtl,this.x,this.width);for(t.x=Wa(this,i.titleAlign,i),e.textAlign=d.textAlign(i.titleAlign),e.textBaseline="middle",a=le(i.titleFont),l=i.titleSpacing,e.fillStyle=i.titleColor,e.font=a.string,u=0;u<s;++u)e.fillText(r[u],d.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,u+1===s&&(t.y+=i.titleMarginBottom-l)}}_drawColorBox(t,e,i,r,s){const a=this.labelColors[i],l=this.labelPointStyles[i],{boxHeight:u,boxWidth:d}=s,f=le(s.bodyFont),m=Wa(this,"left",s),g=r.x(m),_=u<f.lineHeight?(f.lineHeight-u)/2:0,x=e.y+_;if(s.usePointStyle){const w={radius:Math.min(d,u)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},v=r.leftForLtr(g,d)+d/2,C=x+u/2;t.strokeStyle=s.multiKeyBackground,t.fillStyle=s.multiKeyBackground,Qc(t,w,v,C),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Qc(t,w,v,C)}else{t.lineWidth=It(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const w=r.leftForLtr(g,d),v=r.leftForLtr(r.xPlus(g,1),d-2),C=Ai(a.borderRadius);Object.values(C).some(A=>A!==0)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,Vr(t,{x:w,y:x,w:d,h:u,radius:C}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Vr(t,{x:v,y:x+1,w:d-2,h:u-2,radius:C}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(w,x,d,u),t.strokeRect(w,x,d,u),t.fillStyle=a.backgroundColor,t.fillRect(v,x+1,d-2,u-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:r}=this,{bodySpacing:s,bodyAlign:a,displayColors:l,boxHeight:u,boxWidth:d,boxPadding:f}=i,m=le(i.bodyFont);let g=m.lineHeight,_=0;const x=jr(i.rtl,this.x,this.width),w=function(M){e.fillText(M,x.x(t.x+_),t.y+g/2),t.y+=g+s},v=x.textAlign(a);let C,A,z,I,L,B,F;for(e.textAlign=a,e.textBaseline="middle",e.font=m.string,t.x=Wa(this,v,i),e.fillStyle=i.bodyColor,Jt(this.beforeBody,w),_=l&&v!=="right"?a==="center"?d/2+f:d+2+f:0,I=0,B=r.length;I<B;++I){for(C=r[I],A=this.labelTextColors[I],e.fillStyle=A,Jt(C.before,w),z=C.lines,l&&z.length&&(this._drawColorBox(e,t,I,x,i),g=Math.max(m.lineHeight,u)),L=0,F=z.length;L<F;++L)w(z[L]),g=m.lineHeight;Jt(C.after,w)}_=0,g=m.lineHeight,Jt(this.afterBody,w),t.y-=s}drawFooter(t,e,i){const r=this.footer,s=r.length;let a,l;if(s){const u=jr(i.rtl,this.x,this.width);for(t.x=Wa(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=u.textAlign(i.footerAlign),e.textBaseline="middle",a=le(i.footerFont),e.fillStyle=i.footerColor,e.font=a.string,l=0;l<s;++l)e.fillText(r[l],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+i.footerSpacing}}drawBackground(t,e,i,r){const{xAlign:s,yAlign:a}=this,{x:l,y:u}=t,{width:d,height:f}=i,{topLeft:m,topRight:g,bottomLeft:_,bottomRight:x}=Ai(r.cornerRadius);e.fillStyle=r.backgroundColor,e.strokeStyle=r.borderColor,e.lineWidth=r.borderWidth,e.beginPath(),e.moveTo(l+m,u),a==="top"&&this.drawCaret(t,e,i,r),e.lineTo(l+d-g,u),e.quadraticCurveTo(l+d,u,l+d,u+g),a==="center"&&s==="right"&&this.drawCaret(t,e,i,r),e.lineTo(l+d,u+f-x),e.quadraticCurveTo(l+d,u+f,l+d-x,u+f),a==="bottom"&&this.drawCaret(t,e,i,r),e.lineTo(l+_,u+f),e.quadraticCurveTo(l,u+f,l,u+f-_),a==="center"&&s==="left"&&this.drawCaret(t,e,i,r),e.lineTo(l,u+m),e.quadraticCurveTo(l,u,l+m,u),e.closePath(),e.fill(),r.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,r=i&&i.x,s=i&&i.y;if(r||s){const a=oo[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=kg(this,t),u=Object.assign({},a,this._size),d=Dg(e,t,u),f=Cg(t,u,d,e);(r._to!==f.x||s._to!==f.y)&&(this.xAlign=d.xAlign,this.yAlign=d.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,f))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const r={width:this.width,height:this.height},s={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const a=ve(e.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(s,t,r,e),am(t,e.textDirection),s.y+=a.top,this.drawTitle(s,t,e),this.drawBody(s,t,e),this.drawFooter(s,t,e),lm(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,r=t.map(({datasetIndex:l,index:u})=>{const d=this.chart.getDatasetMeta(l);if(!d)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:d.data[u],index:u}}),s=!ya(i,r),a=this._positionChanged(r,e);(s||a)&&(this._active=r,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,s=this._active||[],a=this._getActiveElements(t,s,e,i),l=this._positionChanged(a,t),u=e||!ya(a,s)||l;return u&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),u}_getActiveElements(t,e,i,r){const s=this.options;if(t.type==="mouseout")return[];if(!r)return e.filter(l=>this.chart.data.datasets[l.datasetIndex]&&this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,s.mode,s,i);return s.reverse&&a.reverse(),a}_positionChanged(t,e){const{caretX:i,caretY:r,options:s}=this,a=oo[s.position].call(this,t,e);return a!==!1&&(i!==a.x||r!==a.y)}}var Ye={id:"tooltip",_element:Eg,positioners:oo,afterInit(n,t,e){e&&(n.tooltip=new Eg({chart:n,options:e}))},beforeUpdate(n,t,e){n.tooltip&&n.tooltip.initialize(e)},reset(n,t,e){n.tooltip&&n.tooltip.initialize(e)},afterDraw(n){const t=n.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(n.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",e)}},afterEvent(n,t){if(n.tooltip){const e=t.replay;n.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,t)=>t.bodyFont.size,boxWidth:(n,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Rg},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>n!=="filter"&&n!=="itemSort"&&n!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},iA=Object.freeze({__proto__:null,Colors:gO,Decimation:xO,Filler:UO,Legend:qO,SubTitle:KO,Title:GO,Tooltip:Ye});const rA=(n,t,e,i)=>(typeof t=="string"?(e=n.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function sA(n,t,e,i){const r=n.indexOf(t);if(r===-1)return rA(n,t,e,i);const s=n.lastIndexOf(t);return r!==s?e:r}const oA=(n,t)=>n===null?null:Oe(Math.round(n),0,t);function Pg(n){const t=this.getLabels();return n>=0&&n<t.length?t[n]:n}class aA extends hr{static id="category";static defaults={ticks:{callback:Pg}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const i=this.getLabels();for(const{index:r,label:s}of e)i[r]===s&&i.splice(r,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(vt(t))return null;const i=this.getLabels();return e=isFinite(e)&&i[e]===t?e:sA(i,t,Ct(e,t),this._addedLabels),oA(e,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:r}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(i=0),e||(r=this.getLabels().length-1)),this.min=i,this.max=r}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,r=[];let s=this.getLabels();s=t===0&&e===s.length-1?s:s.slice(t,e+1),this._valueRange=Math.max(s.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let a=t;a<=e;a++)r.push({value:a});return r}getLabelForValue(t){return Pg.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function lA(n,t){const e=[],{bounds:r,step:s,min:a,max:l,precision:u,count:d,maxTicks:f,maxDigits:m,includeBounds:g}=n,_=s||1,x=f-1,{min:w,max:v}=t,C=!vt(a),A=!vt(l),z=!vt(d),I=(v-w)/(m+1);let L=Ip((v-w)/x/_)*_,B,F,M,T;if(L<1e-14&&!C&&!A)return[{value:w},{value:v}];T=Math.ceil(v/L)-Math.floor(w/L),T>x&&(L=Ip(T*L/x/_)*_),vt(u)||(B=Math.pow(10,u),L=Math.ceil(L*B)/B),r==="ticks"?(F=Math.floor(w/L)*L,M=Math.ceil(v/L)*L):(F=w,M=v),C&&A&&s&&XM((l-a)/s,L/1e3)?(T=Math.round(Math.min((l-a)/L,f)),L=(l-a)/T,F=a,M=l):z?(F=C?a:F,M=A?l:M,T=d-1,L=(M-F)/T):(T=(M-F)/L,$s(T,Math.round(T),L/1e3)?T=Math.round(T):T=Math.ceil(T));const O=Math.max(Np(L),Np(F));B=Math.pow(10,vt(u)?O:u),F=Math.round(F*B)/B,M=Math.round(M*B)/B;let E=0;for(C&&(g&&F!==a?(e.push({value:a}),F<a&&E++,$s(Math.round((F+E*L)*B)/B,a,Ig(a,I,n))&&E++):F<a&&E++);E<T;++E){const $=Math.round((F+E*L)*B)/B;if(A&&$>l)break;e.push({value:$})}return A&&g&&M!==l?e.length&&$s(e[e.length-1].value,l,Ig(l,I,n))?e[e.length-1].value=l:e.push({value:l}):(!A||M===l)&&e.push({value:M}),e}function Ig(n,t,{horizontal:e,minRotation:i}){const r=we(i),s=(e?Math.sin(r):Math.cos(r))||.001,a=.75*t*(""+n).length;return Math.min(t/s,a)}class $a extends hr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return vt(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const a=u=>r=e?r:u,l=u=>s=i?s:u;if(t){const u=qn(r),d=qn(s);u<0&&d<0?l(0):u>0&&d>0&&a(0)}if(r===s){let u=s===0?1:Math.abs(s*.05);l(s+u),t||a(r-u)}this.min=r,this.max=s}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),e=e||11),e&&(r=Math.min(e,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},s=this._range||this,a=lA(r,s);return t.bounds==="ticks"&&Lp(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-e)/Math.max(t.length-1,1)/2;e-=r,i+=r}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return qs(t,this.chart.options.locale,this.options.ticks.format)}}class cA extends $a{static id="linear";static defaults={ticks:{callback:Ma.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=ae(t)?t:0,this.max=ae(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=we(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,s.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const ao=n=>Math.floor(Ci(n)),pr=(n,t)=>Math.pow(10,ao(n)+t);function Lg(n){return n/Math.pow(10,ao(n))===1}function Ng(n,t,e){const i=Math.pow(10,e),r=Math.floor(n/i);return Math.ceil(t/i)-r}function uA(n,t){const e=t-n;let i=ao(e);for(;Ng(n,t,i)>10;)i++;for(;Ng(n,t,i)<10;)i--;return Math.min(i,ao(n))}function dA(n,{min:t,max:e}){t=mn(n.min,t);const i=[],r=ao(t);let s=uA(t,e),a=s<0?Math.pow(10,Math.abs(s)):1;const l=Math.pow(10,s),u=r>s?Math.pow(10,r):0,d=Math.round((t-u)*a)/a,f=Math.floor((t-u)/l/10)*l*10;let m=Math.floor((d-f)/Math.pow(10,s)),g=mn(n.min,Math.round((u+f+m*Math.pow(10,s))*a)/a);for(;g<e;)i.push({value:g,major:Lg(g),significand:m}),m>=10?m=m<15?15:20:m++,m>=20&&(s++,m=2,a=s>=0?1:a),g=Math.round((u+f+m*Math.pow(10,s))*a)/a;const _=mn(n.max,g);return i.push({value:_,major:Lg(_),significand:m}),i}class fA extends hr{static id="logarithmic";static defaults={ticks:{callback:Ma.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=$a.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return ae(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=ae(t)?Math.max(0,t):null,this.max=ae(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!ae(this._userMin)&&(this.min=t===pr(this.min,0)?pr(this.min,-1):pr(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=t?i:l,a=l=>r=e?r:l;i===r&&(i<=0?(s(1),a(10)):(s(pr(i,-1)),a(pr(r,1)))),i<=0&&s(pr(r,-1)),r<=0&&a(pr(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=dA(e,this);return t.bounds==="ticks"&&Lp(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":qs(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=Ci(t),this._valueRange=Ci(this.max)-Ci(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Ci(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Mu(n){const t=n.ticks;if(t.display&&n.display){const e=ve(t.backdropPadding);return Ct(t.font&&t.font.size,se.font.size)+e.height}return 0}function hA(n,t,e){return e=qt(e)?e:[e],{w:hk(n,t.string,e),h:e.length*t.lineHeight}}function Bg(n,t,e,i,r){return n===i||n===r?{start:t-e/2,end:t+e/2}:n<i||n>r?{start:t-e,end:t}:{start:t,end:t+e}}function pA(n){const t={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},e=Object.assign({},t),i=[],r=[],s=n._pointLabels.length,a=n.options.pointLabels,l=a.centerPointLabels?Et/s:0;for(let u=0;u<s;u++){const d=a.setContext(n.getPointLabelContext(u));r[u]=d.padding;const f=n.getPointPosition(u,n.drawingArea+r[u],l),m=le(d.font),g=hA(n.ctx,m,n._pointLabels[u]);i[u]=g;const _=He(n.getIndexAngle(u)+l),x=Math.round(wa(_)),w=Bg(x,f.x,g.w,0,180),v=Bg(x,f.y,g.h,90,270);mA(e,t,_,w,v)}n.setCenterPoint(t.l-e.l,e.r-t.r,t.t-e.t,e.b-t.b),n._pointLabelItems=_A(n,i,r)}function mA(n,t,e,i,r){const s=Math.abs(Math.sin(e)),a=Math.abs(Math.cos(e));let l=0,u=0;i.start<t.l?(l=(t.l-i.start)/s,n.l=Math.min(n.l,t.l-l)):i.end>t.r&&(l=(i.end-t.r)/s,n.r=Math.max(n.r,t.r+l)),r.start<t.t?(u=(t.t-r.start)/a,n.t=Math.min(n.t,t.t-u)):r.end>t.b&&(u=(r.end-t.b)/a,n.b=Math.max(n.b,t.b+u))}function gA(n,t,e){const i=n.drawingArea,{extra:r,additionalAngle:s,padding:a,size:l}=e,u=n.getPointPosition(t,i+r+a,s),d=Math.round(wa(He(u.angle+re))),f=wA(u.y,l.h,d),m=bA(d),g=xA(u.x,l.w,m);return{visible:!0,x:u.x,y:f,textAlign:m,left:g,top:f,right:g+l.w,bottom:f+l.h}}function yA(n,t){if(!t)return!0;const{left:e,top:i,right:r,bottom:s}=n;return!(ai({x:e,y:i},t)||ai({x:e,y:s},t)||ai({x:r,y:i},t)||ai({x:r,y:s},t))}function _A(n,t,e){const i=[],r=n._pointLabels.length,s=n.options,{centerPointLabels:a,display:l}=s.pointLabels,u={extra:Mu(s)/2,additionalAngle:a?Et/r:0};let d;for(let f=0;f<r;f++){u.padding=e[f],u.size=t[f];const m=gA(n,f,u);i.push(m),l==="auto"&&(m.visible=yA(m,d),m.visible&&(d=m))}return i}function bA(n){return n===0||n===180?"center":n<180?"left":"right"}function xA(n,t,e){return e==="right"?n-=t:e==="center"&&(n-=t/2),n}function wA(n,t,e){return e===90||e===270?n-=t/2:(e>270||e<90)&&(n-=t),n}function vA(n,t,e){const{left:i,top:r,right:s,bottom:a}=e,{backdropColor:l}=t;if(!vt(l)){const u=Ai(t.borderRadius),d=ve(t.backdropPadding);n.fillStyle=l;const f=i-d.left,m=r-d.top,g=s-i+d.width,_=a-r+d.height;Object.values(u).some(x=>x!==0)?(n.beginPath(),Vr(n,{x:f,y:m,w:g,h:_,radius:u}),n.fill()):n.fillRect(f,m,g,_)}}function SA(n,t){const{ctx:e,options:{pointLabels:i}}=n;for(let r=t-1;r>=0;r--){const s=n._pointLabelItems[r];if(!s.visible)continue;const a=i.setContext(n.getPointLabelContext(r));vA(e,a,s);const l=le(a.font),{x:u,y:d,textAlign:f}=s;cr(e,n._pointLabels[r],u,d+l.lineHeight/2,l,{color:a.color,textAlign:f,textBaseline:"middle"})}}function Fg(n,t,e,i){const{ctx:r}=n;if(e)r.arc(n.xCenter,n.yCenter,t,0,te);else{let s=n.getPointPosition(0,t);r.moveTo(s.x,s.y);for(let a=1;a<i;a++)s=n.getPointPosition(a,t),r.lineTo(s.x,s.y)}}function TA(n,t,e,i,r){const s=n.ctx,a=t.circular,{color:l,lineWidth:u}=t;!a&&!i||!l||!u||e<0||(s.save(),s.strokeStyle=l,s.lineWidth=u,s.setLineDash(r.dash||[]),s.lineDashOffset=r.dashOffset,s.beginPath(),Fg(n,e,a,i),s.closePath(),s.stroke(),s.restore())}function MA(n,t,e){return Ri(n,{label:e,index:t,type:"pointLabel"})}class kA extends $a{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ma.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ve(Mu(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=ae(t)&&!isNaN(t)?t:0,this.max=ae(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Mu(this.options))}generateTickLabels(t){$a.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map((e,i)=>{const r=Qt(this.options.pointLabels.callback,[e,i],this);return r||r===0?r:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?pA(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,r))}getIndexAngle(t){const e=te/(this._pointLabels.length||1),i=this.options.startAngle||0;return He(t*e+we(i))}getDistanceFromCenterForValue(t){if(vt(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(vt(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return MA(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const r=this.getIndexAngle(t)-re+i;return{x:Math.cos(r)*e+this.xCenter,y:Math.sin(r)*e+this.yCenter,angle:r}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:r,bottom:s}=this._pointLabelItems[t];return{left:e,top:i,right:r,bottom:s}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Fg(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:r,border:s}=e,a=this._pointLabels.length;let l,u,d;if(e.pointLabels.display&&SA(this,a),r.display&&this.ticks.forEach((f,m)=>{if(m!==0||m===0&&this.min<0){u=this.getDistanceFromCenterForValue(f.value);const g=this.getContext(m),_=r.setContext(g),x=s.setContext(g);TA(this,_,u,a,x)}}),i.display){for(t.save(),l=a-1;l>=0;l--){const f=i.setContext(this.getPointLabelContext(l)),{color:m,lineWidth:g}=f;!g||!m||(t.lineWidth=g,t.strokeStyle=m,t.setLineDash(f.borderDash),t.lineDashOffset=f.borderDashOffset,u=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),d=this.getPointPosition(l,u),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(d.x,d.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,u)=>{if(u===0&&this.min>=0&&!e.reverse)return;const d=i.setContext(this.getContext(u)),f=le(d.font);if(s=this.getDistanceFromCenterForValue(this.ticks[u].value),d.showLabelBackdrop){t.font=f.string,a=t.measureText(l.label).width,t.fillStyle=d.backdropColor;const m=ve(d.backdropPadding);t.fillRect(-a/2-m.left,-s-f.size/2-m.top,a+m.width,f.size+m.height)}cr(t,l.label,0,-s,f,{color:d.color,strokeColor:d.textStrokeColor,strokeWidth:d.textStrokeWidth})}),t.restore()}drawTitle(){}}const Va={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ln=Object.keys(Va);function zg(n,t){return n-t}function Ug(n,t){if(vt(t))return null;const e=n._adapter,{parser:i,round:r,isoWeekday:s}=n._parseOpts;let a=t;return typeof i=="function"&&(a=i(a)),ae(a)||(a=typeof i=="string"?e.parse(a,i):e.parse(a)),a===null?null:(r&&(a=r==="week"&&(Oi(s)||s===!0)?e.startOf(a,"isoWeek",s):e.startOf(a,r)),+a)}function Hg(n,t,e,i){const r=ln.length;for(let s=ln.indexOf(n);s<r-1;++s){const a=Va[ln[s]],l=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((e-t)/(l*a.size))<=i)return ln[s]}return ln[r-1]}function DA(n,t,e,i,r){for(let s=ln.length-1;s>=ln.indexOf(e);s--){const a=ln[s];if(Va[a].common&&n._adapter.diff(r,i,a)>=t-1)return a}return ln[e?ln.indexOf(e):0]}function CA(n){for(let t=ln.indexOf(n)+1,e=ln.length;t<e;++t)if(Va[ln[t]].common)return ln[t]}function Wg(n,t,e){if(!e)n[t]=!0;else if(e.length){const{lo:i,hi:r}=qc(e,t),s=e[i]>=t?e[i]:e[r];n[s]=!0}}function OA(n,t,e,i){const r=n._adapter,s=+r.startOf(t[0].value,i),a=t[t.length-1].value;let l,u;for(l=s;l<=a;l=+r.add(l,1,i))u=e[l],u>=0&&(t[u].major=!0);return t}function $g(n,t,e){const i=[],r={},s=t.length;let a,l;for(a=0;a<s;++a)l=t[a],r[l]=a,i.push({value:l,major:!1});return s===0||!e?i:OA(n,i,r,e)}class ku extends hr{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),r=this._adapter=new Rm._date(t.adapters.date);r.init(e),Ws(i.displayFormats,r.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return t===void 0?null:Ug(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:r,max:s,minDefined:a,maxDefined:l}=this.getUserBounds();function u(d){!a&&!isNaN(d.min)&&(r=Math.min(r,d.min)),!l&&!isNaN(d.max)&&(s=Math.max(s,d.max))}(!a||!l)&&(u(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&u(this.getMinMax(!1))),r=ae(r)&&!isNaN(r)?r:+e.startOf(Date.now(),i),s=ae(s)&&!isNaN(s)?s:+e.endOf(Date.now(),i)+1,this.min=Math.min(r,s-1),this.max=Math.max(r+1,s)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,r=i.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const s=this.min,a=this.max,l=tk(r,s,a);return this._unit=e.unit||(i.autoSkip?Hg(e.minUnit,this.min,this.max,this._getLabelCapacity(s)):DA(this,l.length,e.minUnit,this.min,this.max)),this._majorUnit=!i.major.enabled||this._unit==="year"?void 0:CA(this._unit),this.initOffsets(r),t.reverse&&l.reverse(),$g(this,l,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let e=0,i=0,r,s;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?e=1-r:e=(this.getDecimalForValue(t[1])-r)/2,s=this.getDecimalForValue(t[t.length-1]),t.length===1?i=s:i=(s-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;e=Oe(e,0,a),i=Oe(i,0,a),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,r=this.options,s=r.time,a=s.unit||Hg(s.minUnit,e,i,this._getLabelCapacity(e)),l=Ct(r.ticks.stepSize,1),u=a==="week"?s.isoWeekday:!1,d=Oi(u)||u===!0,f={};let m=e,g,_;if(d&&(m=+t.startOf(m,"isoWeek",u)),m=+t.startOf(m,d?"day":a),t.diff(i,e,a)>1e5*l)throw new Error(e+" and "+i+" are too far apart with stepSize of "+l+" "+a);const x=r.ticks.source==="data"&&this.getDataTimestamps();for(g=m,_=0;g<i;g=+t.add(g,l,a),_++)Wg(f,g,x);return(g===i||r.bounds==="ticks"||_===1)&&Wg(f,g,x),Object.keys(f).sort(zg).map(w=>+w)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const r=this.options.time.displayFormats,s=this._unit,a=e||r[s];return this._adapter.format(t,a)}_tickFormatFunction(t,e,i,r){const s=this.options,a=s.ticks.callback;if(a)return Qt(a,[t,e,i],this);const l=s.time.displayFormats,u=this._unit,d=this._majorUnit,f=u&&l[u],m=d&&l[d],g=i[e],_=d&&m&&g&&g.major;return this._adapter.format(t,r||(_?m:f))}generateTickLabels(t){let e,i,r;for(e=0,i=t.length;e<i;++e)r=t[e],r.label=this._tickFormatFunction(r.value,e,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,r=we(this.isHorizontal()?e.maxRotation:e.minRotation),s=Math.cos(r),a=Math.sin(r),l=this._resolveTickFontOptions(0).size;return{w:i*s+l*a,h:i*a+l*s}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,r=i[e.unit]||i.millisecond,s=this._tickFormatFunction(t,0,$g(this,[t],this._majorUnit),r),a=this._getLabelSize(s),l=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return l>0?l:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(e=0,i=r.length;e<i;++e)t=t.concat(r[e].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const r=this.getLabels();for(e=0,i=r.length;e<i;++e)t.push(Ug(this,r[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return zp(t.sort(zg))}}function Ya(n,t,e){let i=0,r=n.length-1,s,a,l,u;e?(t>=n[i].pos&&t<=n[r].pos&&({lo:i,hi:r}=oi(n,"pos",t)),{pos:s,time:l}=n[i],{pos:a,time:u}=n[r]):(t>=n[i].time&&t<=n[r].time&&({lo:i,hi:r}=oi(n,"time",t)),{time:s,pos:l}=n[i],{time:a,pos:u}=n[r]);const d=a-s;return d?l+(u-l)*(t-s)/d:l}class AA extends ku{static id="timeseries";static defaults=ku.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ya(e,this.min),this._tableRange=Ya(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,r=[],s=[];let a,l,u,d,f;for(a=0,l=t.length;a<l;++a)d=t[a],d>=e&&d<=i&&r.push(d);if(r.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(a=0,l=r.length;a<l;++a)f=r[a+1],u=r[a-1],d=r[a],Math.round((f+u)/2)!==d&&s.push({time:d,pos:a/(l-1)});return s}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return(!i.includes(t)||!i.length)&&i.splice(0,0,t),(!i.includes(e)||i.length===1)&&i.push(e),i.sort((r,s)=>r-s)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ya(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ya(this._table,i*this._tableRange+this._minPos,!0)}}var RA=Object.freeze({__proto__:null,CategoryScale:aA,LinearScale:cA,LogarithmicScale:fA,RadialLinearScale:kA,TimeScale:ku,TimeSeriesScale:AA});const EA=[ED,cO,iA,RA];function PA(n){const e=`barChartTooltipPosition-${n.tooltipState.chartID}`,i={enabled:!1,position:e,callbacks:{label:u=>({label:u.dataset.label,value:u.label})}};Ye.positioners[e]=function(u,d){if(!u.length||n.tooltipState.interactionMode==="interactive"||d.x===null||d.y===null)return!1;const f=this.chart.canvas.getBoundingClientRect(),m=n.tooltipState.width||this.width,g=f.width/2,_=Xa(d,m,g),x=d.y,w=d.x<g?"left":"center";return{x:_-n.tooltipState.offsetX,y:x-n.tooltipState.offsetY,xAlign:w}},hu.modes.customInteractionMode=function(u,d){const f=Ei(d,u),m=[];return hu.evaluateInteractionItems(u,u.options.indexAxis||"x",f,(g,_,x)=>{u.options.indexAxis==="y"&&g.inYRange(f.y,!0)&&u.data.datasets[_].data[x]&&m.push({element:g,datasetIndex:_,index:x}),u.options.indexAxis==="x"&&f.x!==null&&g.inXRange(f.x,!0)&&u.data.datasets[_].data[x]&&m.push({element:g,datasetIndex:_,index:x})}),m};const r=n.numLabels.value>25?ry:sy,s=({chart:u,index:d})=>{const f=u.data;return{size:r,style:f?.isLabelEmpty?.[d]?"italic":"normal"}},a=(u,d,f)=>u.chart.options.indexAxis===u.axis?(d=u.getLabelForValue(f),d&&d.length>Za?d.slice(0,Za)+"...":d):u.getLabelForValue(Number(d)),l=p.computed(()=>({indexAxis:n.indexAxis,skipNull:!0,scales:{x:{stacked:n.stacked.value,grid:{offset:!1,drawOnChartArea:!1,drawBorder:!1,drawTicks:!0},ticks:{maxRotation:90,autoSkip:!1,font:s,callback:function(u,d){return a(this,u,d)}},title:{display:n.indexAxis==="y"?!vt(n.metricAxesTitle?.value):!vt(n.dimensionAxesTitle?.value),text:n.indexAxis==="y"?n.metricAxesTitle?.value:n.dimensionAxesTitle?.value,padding:{top:3,bottom:0,left:0,right:0},font:{weight:"bold"}}},y:{stacked:n.stacked.value,beginAtZero:!0,grid:{offset:!1,drawOnChartArea:!1,drawBorder:!1,drawTicks:!0},ticks:{padding:0,font:s,callback:function(u,d){return a(this,u,d)}},title:{display:n.indexAxis==="x"?!vt(n.metricAxesTitle?.value):!vt(n.dimensionAxesTitle?.value),text:n.indexAxis==="x"?n.metricAxesTitle?.value:n.dimensionAxesTitle?.value,padding:{bottom:3,top:0,left:0,right:0},font:{weight:"bold"}}}},plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},tooltip:{...i,external:u=>{ey(n.tooltipState,u)}}},interaction:{mode:"customInteractionMode",intersect:!0},maxBarThickness:60,maintainAspectRatio:!1,layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.getCurrentInstance()&&p.onUnmounted(()=>{Ye.positioners[e]&&delete Ye.positioners[e]}),l}on.register(...EA);const IA=(n,t)=>{const e=t.datasets.map(r=>r.label),i=n.datasets.map(r=>r.label);return n.datasets.length===t.datasets.length&&e.every((r,s)=>r===i[s])};function LA(n,t,e,i,r){const s=p.shallowRef(null),a=(l,u)=>{if(t.value)return new on(t.value,{type:n,data:l,plugins:i,options:u})};return p.onMounted(()=>{s.value=a(e.value,r.value)}),p.onBeforeUnmount(()=>{vt(s.value)||s.value.destroy()}),p.watch(e,(l,u)=>{if(IA(u,l)&&!vt(s.value)){for(const[d,f]of l.datasets.entries())Object.assign(s.value.data.datasets[d],f);s.value.data.labels=l.labels,s.value.update()}else vt(s.value)||s.value.destroy(),s.value=a(l,r.value)}),p.watch(t,()=>{vt(s.value)||s.value.destroy(),s.value=a(e.value,r.value)}),p.watch(r,(l,u)=>{(l.indexAxis!==u.indexAxis||JSON.stringify(l.scales.x.title)!==JSON.stringify(u.scales.x.title)||JSON.stringify(l.scales.y.title)!==JSON.stringify(u.scales.y.title))&&(vt(s.value)||s.value.destroy(),s.value=a(e.value,l))}),s}const Vg=1e3,NA=1e4,Yg=1e6,qg=1e9,jg=1e12,lo=(n,t)=>{if(t.separator===!1||n<1e3)return n.toString();const e=typeof t.separator=="string"?t.separator:",",i=[];return Math.round(n).toString().split("").reverse().forEach((s,a)=>{a&&a%3===0&&i.push(e),i.push(s)}),i.reverse().join("")},Kr=(n,t,e)=>{const i=n/t,r=e.round?"round":"floor";if(e.decimal===!1)return Math[r](i).toString();let s;e.precision?s=i:s=i<10?Math[r](i*10)/10:Math[r](i);let a=s.toString();return typeof e.decimal=="string"&&(a=a.replace(".",e.decimal)),a};function co(n,t={}){let e;const i=n<0;i&&(n=Math.abs(n)),t.precision&&(n=parseFloat(n.toPrecision(t.precision)));const r=t.min10k?NA:Vg;return n<r||t.precision&&t.precision>Math.log10(n)?e=lo(Kr(n,1,t),t):n<Yg?e=`${Kr(n,Vg,t)}k`:n<qg?e=`${Kr(n,Yg,t)}m`:n<jg?e=`${lo(Kr(n,qg,t),t)}b`:e=`${lo(Kr(n,jg,t),t)}t`,i&&(e=`-${e}`),t.capital&&(e=e.toUpperCase()),t.prefix&&(e=`${t.prefix}${e}`),t.suffix&&(e=`${e}${t.suffix}`),e}co.addCommas=lo;function BA(n,t,e){const{i18n:i}=Mt.useI18n(),{formatBytes:r}=ni({i18n:i}),{translateUnit:s}=Mt.useTranslatedUnits();return{legendValues:p.computed(()=>n.value.datasets.reduce((l,u)=>{const d=u.total?u.total:u.data.reduce((m,g)=>m+(typeof g=="number"?Number(g)||0:Number(g&&g.y)||0),0);let f;if(e.value==="bytes")f=r(d);else{const m=s(e.value,d);f=i&&i.t("legend.datapointValueDisplay",{value:co(d,{capital:!0}),unit:m})||`${co(d,{capital:!0})} ${e.value}`}return{...l,[u.label]:{raw:d,formatted:f,isThreshold:u.isThreshold}}},{}))}}function FA(n){return p.computed(()=>{if(!n.value?.meta)return"";const e=n.value.meta.start,i=n.value.meta.end;return e&&i?`${Nh(new Date(e))} - ${Nh(new Date(i),{includeTZ:!0})}`:""})}function zA(n){const e=`donutChartTooltipPosition-${n.tooltipState.chartID}`,i={enabled:!1,position:e,callbacks:{label:s=>({label:s.dataset.label,value:s.label})}};Ye.positioners[e]=function(s,a){if(!s.length||a.x===null||a.y===null)return!1;const l=this.chart.canvas.getBoundingClientRect(),u=n.tooltipState.width||this.width,d=l.width/2,f=Xa(a,u,d),m=a.y,g=a.x<d?"left":"center";return{x:f-n.tooltipState.offsetX,y:m,xAlign:g}};const r=p.computed(()=>({cutout:"65%",responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},tooltip:{...i,external:s=>{ey(n.tooltipState,s)}}},layout:{padding:{left:0,right:0,top:5,bottom:0}}}));return p.onUnmounted(()=>{Ye.positioners[e]&&delete Ye.positioners[e]}),{options:r}}function UA(n){const t=p.computed(()=>({type:"timeseries",display:!0,grid:{display:!0,drawOnChartArea:!1,drawTicks:!0,drawBorder:!1},ticks:{padding:0,autoSkipPadding:100,source:"auto",maxRotation:0,callback:u=>{const d=new Date(u);return Sy({tickValue:d,granularity:n.granularity.value,dayBoundaryCrossed:a.value})}},title:{display:!vt(n.dimensionAxesTitle?.value),text:n.dimensionAxesTitle?.value,padding:{top:3},font:{weight:"bold"}},border:{display:!1},stacked:n.stacked.value})),e=p.computed(()=>({title:{display:!vt(n.metricAxesTitle?.value),text:n.metricAxesTitle?.value,padding:{bottom:3},font:{weight:"bold"}},ticks:{maxTicksLimit:5},grid:{drawBorder:!1},id:"main-y-axis",beginAtZero:!0,border:{display:!1},stacked:n.stacked.value})),r=`lineChartTooltipPosition-${n.tooltipState.chartID}`,s={enabled:!1,position:r};Ye.positioners[r]=function(u,d){if(!u.length||n.tooltipState.interactionMode==="interactive"||d.x===null||d.y===null)return!1;const f=this.chart.canvas.getBoundingClientRect(),m=n.tooltipState.width||this.width,g=n.tooltipState.height||this.height,_=f.width/2,x=f.height/2,w=Xa(d,m,_);let v=ny(d,g,x);const C=d.y<x?"top":"bottom",A=d.x<_?"left":"center";return g>f.height&&(v=0),{x:w,y:v,xAlign:A,yAlign:C}};const a=p.computed(()=>{const u=Number(n.timeRangeMs.value),d=new Date,f=new Date(d.getTime()-u);return bp(u)>24||f.getDate()!==d.getDate()}),l=p.computed(()=>({hover:{mode:"index",intersect:!1},elements:{point:{radius:n.pointsWithoutHover?.value?3:0,hitRadius:4,hoverRadius:4}},animation:{duration:250,easing:"linear"},scales:{x:t.value,y:e.value},responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},streaming:!1,tooltip:{...s,external:u=>{Du(n.tooltipState,u,n.granularity.value)}},thresholdPlugin:{threshold:n.threshold?.value}},interaction:{mode:"index",intersect:!1},layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.onUnmounted(()=>{Ye.positioners[r]&&delete Ye.positioners[r]}),{options:l}}const HA=["usd","bytes"],WA="usd";function $A(n){const{i18n:t}=Mt.useI18n(),{formatUnit:e}=ni({i18n:t}),i=(_,x)=>!x||!HA.includes(x)?_:_===0&&x===WA?t.formatNumber(0,{style:"currency",currency:"USD"}):e(_,x),r=p.computed(()=>{const _=Number(n.timeRangeMs.value),x=new Date,w=new Date(x.getTime()-_);return bp(_)>24||w.getDate()!==x.getDate()}),s=p.computed(()=>({display:!vt(n.dimensionAxesTitle?.value),text:n.dimensionAxesTitle?.value,padding:{top:3},font:{weight:"bold"}})),a=p.computed(()=>({type:"linear",display:!0,beginAtZero:!0,grid:{display:!0,drawOnChartArea:!1,drawTicks:!0,drawBorder:!1},ticks:{maxRotation:0,maxTicksLimit:7,callback:_=>i(_,n.xMetricUnit?.value)},title:s.value,border:{display:!1}})),l=p.computed(()=>({type:"time",display:!0,grid:{display:!0,drawOnChartArea:!1,drawTicks:!0,drawBorder:!1},ticks:{padding:0,autoSkipPadding:100,source:"auto",maxRotation:0,callback:_=>Sy({tickValue:new Date(_),granularity:n.granularity.value,dayBoundaryCrossed:r.value})},title:s.value,border:{display:!1}})),u=p.computed(()=>({title:{display:!vt(n.metricAxesTitle?.value),text:n.metricAxesTitle?.value,padding:{bottom:3},font:{weight:"bold"}},ticks:{maxTicksLimit:5,callback:_=>i(_,n.metricUnit?.value)},grid:{drawBorder:!1},id:"main-y-axis",beginAtZero:!0,border:{display:!1}})),d=(_,x,w)=>{const v=w?.timestamp;return v===void 0?"":Jr({tickValue:new Date(v),granularity:x})},m=`scatterChartTooltipPosition-${n.tooltipState.chartID}`;Ye.positioners[m]=function(_,x){if(!_.length||n.tooltipState.interactionMode==="interactive"||x.x===null||x.y===null)return!1;const w=this.chart.canvas.getBoundingClientRect(),v=n.tooltipState.width||this.width,C=n.tooltipState.height||this.height,A=w.width/2,z=w.height/2,I=Xa(x,v,A);let L=ny(x,C,z);const B=x.y<z?"top":"bottom",F=x.x<A?"left":"center";return C>w.height&&(L=0),{x:I,y:L,xAlign:F,yAlign:B}};const g=p.computed(()=>({hover:{mode:"nearest",intersect:!1},interaction:{mode:"nearest",intersect:!1},animation:{duration:250,easing:"linear"},scales:{x:n.xMetric?.value?a.value:l.value,y:u.value},responsive:!0,maintainAspectRatio:!1,plugins:{htmlLegend:{containerID:n.legendID},legend:{display:!1},streaming:!1,tooltip:{enabled:!1,position:m,external:_=>{Du(n.tooltipState,_,n.granularity.value,{...n.xMetric?.value?{contextFormatter:d}:{}})}},outlierBandPlugin:{value:n.outlierValue?.value,color:n.themeColors.value.outlierBand},referenceLinePlugin:{lines:n.referenceLines?.value}},layout:{padding:{left:0,right:0,top:0,bottom:0}}}));return p.onUnmounted(()=>{Ye.positioners[m]&&delete Ye.positioners[m]}),{options:g}}function VA(n){const{isMultiMetric:t,hasDimensions:e,metricNames:i,barSegmentLabels:r,pivotRecords:s,rowLabels:a,colorPalette:l}=n,{i18n:u}=Mt.useI18n();return t?i.map(f=>({label:u&&u.te(`chartLabels.${f}`)&&u.t(`chartLabels.${f}`)||f,backgroundColor:Ou(i.indexOf(f),Kn),data:a.map((m,g)=>e?s[`${m.id},${f}`]||0:s[`${g},${f}`]||null)})):Array.from(r).flatMap((f,m)=>{if(!f)return[];const g=Au(m,f.name,f.id==="empty",l);return{label:u&&u.te(`chartLabels.${f.name}`)&&u.t(`chartLabels.${f.name}`)||f.name,backgroundColor:g,data:a.map(_=>s[`${_.id},${f.id}`]||null),isSegmentEmpty:f.id==="empty"}})}function YA(n,t){const{i18n:e}=Mt.useI18n();return p.computed(()=>{try{if(t.value&&"meta"in t.value&&"data"in t.value){const r=t.value.data,{display:s,metric_names:a}=t.value.meta,l=s&&Object.keys(s),u=a&&a.length>1,d=s&&l&&l.length>0,f=d&&l.length>1;if(!r.length||!a)return{datasets:[],labels:[]};const m=d&&l||a,g=m[0],_=m.length>1?m[1]:m[0],x=Object.fromEntries(u?r.flatMap(T=>a.map((O,E)=>{const $=T.event[g],Q=d?`${$},${O}`:`${E},${O}`,lt=T.event[O];return[Q,lt]})):r.map(T=>{const O=d?`${T.event[g]},${T.event[_]}`:`${g},${_}`,E=T.event[a[0]];return[O,E]})),w=Object.keys(x).reduce((T,O)=>{const[E]=O.split(","),$=x[O];return T[E]?T[E]+=$:T[E]=$,T},{}),v=Object.entries(w).sort(([,T],[,O])=>Number(O)-Number(T)).map(([T])=>T),C=s[g],A=s[_];let z=d&&C&&Object.entries(C).map(([T,O])=>({id:T,name:O.name}))||a.map(T=>({id:T,name:T})),I=d&&A&&Object.entries(A).map(([T,O])=>({id:T,name:O.name}))||a.map(T=>({id:T,name:T}));if(d&&g==="country_code"&&(z=z.map(T=>({...T,name:Mc(T.id)||T.name}))),d&&_==="country_code"&&(I=I.map(T=>({...T,name:Mc(T.id)||T.name}))),g!=="status_code"&&g!=="status_code_grouped"&&(z.sort((T,O)=>v.indexOf(T.id)-v.indexOf(O.id)),I.sort((T,O)=>v.indexOf(T.id)-v.indexOf(O.id))),!z||!I)return{labels:[],datasets:[]};const L=VA({isMultiMetric:u,hasDimensions:d,metricNames:a,dimensionFieldNames:m,barSegmentLabels:I,pivotRecords:x,rowLabels:z,colorPalette:n.colorPalette||Kn}),B=d?z.map(T=>e&&e.te(`chartLabels.${T.name}`)&&e.t(`chartLabels.${T.name}`)||T.name):a.map(T=>e&&e.te(`chartLabels.${T}`)&&e.t(`chartLabels.${T}`)||T),F=z.map(T=>T.id==="empty");return{labels:B,datasets:L,isLabelEmpty:F,isMultiDimension:f}}}catch(r){return console.error(r),{datasets:[],labels:[]}}return{labels:[],datasets:[]}})}const qA=(n,t,e=1)=>Array(Math.ceil((t-n)/e)).fill(n).map((i,r)=>i+r*e),jA=n=>{if(typeof n=="string"){const t=+n;if(t)return t;try{return xp(n).getTime()}catch(e){if(e instanceof RangeError)return 0;throw e}}return n},GA=(n,t,e,i,r)=>{const a=Math.max(t-6e4,Math.max(...(r||[]).map(d=>new Date(d.timestamp).valueOf()))),l=Math.floor((n-i)/e)*e+i,u=Math.floor((a-i)/e)*e+i+e;return qA(l,u,e)};function KA(n,t){const{i18n:e}=Mt.useI18n();return p.computed(()=>{try{if(t.value&&"meta"in t.value&&"data"in t.value){const r=t.value.data,{display:s,metric_names:a,start:l,end:u}=t.value.meta,d=new Date(l).getTime(),f=new Date(u).getTime();if(!a)return console.error("Cannot build chart data from this explore result. Missing metric names."),{datasets:[]};const m=s&&Object.keys(s)||a,g=m&&m[0],_=s?.[g],x=!!_&&a.length>1;let w=s&&_&&Object.keys(_).map(B=>({id:B,name:_[B].name}))||a.map(B=>({id:B,name:B}));g==="country_code"&&(w=w.map(B=>({...B,name:Mc(B.id)||B.name})));const v=t.value.meta.granularity_ms;if(typeof v!="number"||isNaN(v)||!isFinite(v)||v===0)return console.error("Invalid step value:",v),{datasets:[],labels:[]};if(!r.length)return{datasets:[],labels:[]};const C=jA(d),A=GA(d,f,v,C,r),z=r?.length?r.reduce((B,F)=>{const M=new Date(F.timestamp).valueOf(),T=F.event;for(const O of a)M in B||(B[M]={}),O in B[M]||(B[M][O]={});for(const O of a)w.forEach(E=>{(_?T[g]===E.id:O===E.id)?(B[M][O]||(B[M][O]={}),B[M][O][E.id]=Math.round(Number(T[O])*1e3)/1e3):m.length||(B[M][O]||(B[M][O]={}),B[M][O][E.id]=Math.round(Number(T[E.id])*1e3)/1e3)});return B},{}):{},L=[..._||a.length===1?a.flatMap(B=>w.map(F=>[B,F.id,F.name,F.id==="empty"])):w.map(B=>[B.name,B.id,B.name,B.id==="empty"])].map(([B,F,M,T],O)=>{const E=A.map(gt=>gt in z&&B in z[gt]?{x:gt,y:z[gt][B][F]||0}:{x:gt,y:0});let{colorPalette:$,fill:Q}=n;vt($)&&($=Kn);const lt=Au(O,M,T,$),ct=Oy(M)?e.t(`chartLabels.${M}`):M,pt=Oy(B)?e.t(`chartLabels.${B}`):B,dt=a.findIndex(gt=>gt===B);return{rawDimension:M,rawMetric:B,label:x?`${ct} — ${pt}`:ct,borderColor:lt,backgroundColor:lt,data:E,total:E.reduce((gt,{y:rt})=>gt+Number(rt),0),...LR,...x?{borderDash:dt===0?[]:[dt*4,2]}:{},fill:Q,borderWidth:Q?BR:NR,isSegmentEmpty:T}});return g==="status_code"||g==="status_code_grouped"?L.sort((B,F)=>(B.label??"")<(F.label??"")?-1:1):L.sort((B,F)=>Number(B.total)<Number(F.total)?-1:1),{datasets:L}}}catch(r){return console.error(r),{labels:[],datasets:[]}}return{labels:[],datasets:[]}})}const XA=2,ZA=.6,Gg=1,QA=2,Kg=50,JA=[6,4],tR=[2,3],eR=(n,t)=>{const e=Math.sin(t)*1e4;return(e-Math.floor(e))*n};function nR(n,t){const{i18n:e}=Mt.useI18n(),i=(r,s)=>s||(r===Kg?e.t("scatter.median"):e.t("scatter.percentile",{value:r}));return p.computed(()=>{try{const r=t.value;if(!r?.points?.length)return{datasets:[]};const{metric:s,dimension:a,display:l,xMetric:u,xMetricUnit:d}=r,f=u?e.te(`chartLabels.${u}`)&&e.t(`chartLabels.${u}`)||u:"",m=n.scatter||{},g=m.jitterMs??0,_=m.pointRadius??XA,x=m.pointOpacity??ZA,w=new Map,v=[];r.points.forEach(E=>{const $=E.group??s,Q=w.get($)||[];let lt,ct;E.x!==void 0?(lt={x:E.x,timestamp:E.timestamp},ct=[{label:f,value:E.x,...d?{unit:d}:{}},...E.extras??[]]):(lt={x:E.timestamp+eR(g,E.timestamp+E.value)},ct=E.extras??[]),Q.push({...lt,y:E.value,...ct.length?{extras:ct}:{}}),w.set($,Q),v.push(E.value)});const C=m.percentileLines||[],A=[...C.map(E=>E.percentile),...m.outlierPercentile!==void 0?[m.outlierPercentile]:[]],z=A.length?kE(v,A):new Map,I=m.outlierPercentile!==void 0?z.get(m.outlierPercentile):void 0,L=I!==void 0&&Number.isFinite(I),B=vt(n.colorPalette)?Kn:n.colorPalette,F=n.themeColors?.value??qu(),M=[],T=E=>{const $=E?.y;return L&&Number.isFinite($)&&$>I};Array.from(w.entries()).forEach(([E,$],Q)=>{const lt=a&&l?.[E]?.name||E,ct=E==="empty",pt=Au(Q,lt,ct,B),dt=Yu(pt,x),gt=e.te(`chartLabels.${lt}`)&&e.t(`chartLabels.${lt}`)||lt;M.push({type:"scatter",rawDimension:lt,rawMetric:s,label:gt,borderColor:rt=>T(rt.raw)?F.outlier:pt,backgroundColor:rt=>T(rt.raw)?F.outlier:dt,pointRadius:rt=>T(rt.raw)?_+Gg:_,pointHoverRadius:rt=>(T(rt.raw)?_+Gg:_)+QA,data:$,pointBorderWidth:0,showLine:!1,isSegmentEmpty:ct})});const O=[];return C.forEach(E=>{const $=z.get(E.percentile);if($===void 0||!Number.isFinite($))return;const Q=E.percentile===Kg;O.push({percentile:E.percentile,label:i(E.percentile,E.label),value:$,color:E.color||(Q?F.medianLine:F.outlier),borderDash:E.borderDash||(Q?JA:tR)})}),{datasets:M,...L?{outlier:{value:I,label:e.t("scatter.outlier",{label:i(m.outlierPercentile)}),color:F.outlier}}:{},...O.length?{referenceLines:O}:{}}}catch(r){return console.warn(r),{datasets:[]}}})}const iR=(n,t)=>{p.watch([n,t],(e,i,r)=>{const[s,a]=e;!a||!window||(window._AnalyticsChartDataInternal||(window._AnalyticsChartDataInternal=new Map),window._AnalyticsChartDataInternal.set(a,s),r(()=>{window._AnalyticsChartDataInternal?.delete(a)}))},{immediate:!0})};function rR(){const{i18n:n}=Mt.useI18n();return{translateUnit:(e,i)=>{const r=i===1,s=`chartUnits.${e}`;return po(e)?"":n.te(s)?n.t(s,{plural:r?"":"s"}):e}}}const sR="analytics-query-provider",Xg=2;function oR(){const n=p.inject(sR);return{evaluateFeatureFlag:(e,i)=>n?n.evaluateFeatureFlagFn(e,i):i}}function Zg(n,t){return p.getCurrentScope()?(p.onScopeDispose(n,t),!0):!1}const Qg=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const aR=n=>n!=null,lR=Object.prototype.toString,cR=n=>lR.call(n)==="[object Object]";function qa(n){return Array.isArray(n)?n:[n]}function uR(n){return p.getCurrentInstance()}function dR(n,t={}){if(!p.isRef(n))return p.toRefs(n);const e=Array.isArray(n.value)?Array.from({length:n.value.length}):{};for(const i in n.value)e[i]=p.customRef(()=>({get(){return n.value[i]},set(r){var s;if(!((s=p.toValue(t.replaceRef))!==null&&s!==void 0)||s)if(Array.isArray(n.value)){const a=[...n.value];a[i]=r,n.value=a}else{const a={...n.value,[i]:r};Object.setPrototypeOf(a,Object.getPrototypeOf(n.value)),n.value=a}else n.value[i]=r}}));return e}function fR(n,t=!0,e){uR()?p.onMounted(n,e):t?n():p.nextTick(n)}function hR(n,t,e){return p.watch(n,t,{...e,immediate:!0})}const ja=Qg?window:void 0;function Xr(n){var t;const e=p.toValue(n);return(t=e?.$el)!==null&&t!==void 0?t:e}function uo(...n){const t=(i,r,s,a)=>(i.addEventListener(r,s,a),()=>i.removeEventListener(r,s,a)),e=p.computed(()=>{const i=qa(p.toValue(n[0])).filter(r=>r!=null);return i.every(r=>typeof r!="string")?i:void 0});return hR(()=>{var i,r;return[(i=(r=e.value)===null||r===void 0?void 0:r.map(s=>Xr(s)))!==null&&i!==void 0?i:[ja].filter(s=>s!=null),qa(p.toValue(e.value?n[1]:n[0])),qa(p.unref(e.value?n[2]:n[1])),p.toValue(e.value?n[3]:n[2])]},([i,r,s,a],l,u)=>{if(!i?.length||!r?.length||!s?.length)return;const d=cR(a)?{...a}:a,f=i.flatMap(m=>r.flatMap(g=>s.map(_=>t(m,g,_,d))));u(()=>{f.forEach(m=>m())})},{flush:"post"})}function pR(){const n=p.shallowRef(!1),t=p.getCurrentInstance();return t&&p.onMounted(()=>{n.value=!0},t),n}function Jg(n){const t=pR();return p.computed(()=>(t.value,!!n()))}function mR(n,t,e={}){const{window:i=ja,...r}=e;let s;const a=Jg(()=>i&&"MutationObserver"in i),l=()=>{s&&(s.disconnect(),s=void 0)},u=p.watch(p.computed(()=>{const m=qa(p.toValue(n)).map(Xr).filter(aR);return new Set(m)}),m=>{l(),a.value&&m.size&&(s=new MutationObserver(t),m.forEach(g=>s.observe(g,r)))},{immediate:!0,flush:"post"}),d=()=>s?.takeRecords(),f=()=>{u(),l()};return Zg(f),{isSupported:a,stop:f,takeRecords:d}}const Ga={speed:2,margin:30,direction:"both"};function gR(n){n.scrollLeft>n.scrollWidth-n.clientWidth&&(n.scrollLeft=Math.max(0,n.scrollWidth-n.clientWidth)),n.scrollTop>n.scrollHeight-n.clientHeight&&(n.scrollTop=Math.max(0,n.scrollHeight-n.clientHeight))}function yR(n,t={}){var e,i,r,s;const{pointerTypes:a,preventDefault:l,stopPropagation:u,exact:d,onMove:f,onEnd:m,onStart:g,initialValue:_,axis:x="both",draggingElement:w=ja,containerElement:v,handle:C=n,buttons:A=[0],restrictInView:z,autoScroll:I=!1}=t,L=p.ref((e=p.toValue(_))!==null&&e!==void 0?e:{x:0,y:0}),B=p.ref(),F=j=>a?a.includes(j.pointerType):!0,M=j=>{p.toValue(l)&&j.preventDefault(),p.toValue(u)&&j.stopPropagation()},T=p.toValue(I),O=typeof T=="object"?{speed:(i=p.toValue(T.speed))!==null&&i!==void 0?i:Ga.speed,margin:(r=p.toValue(T.margin))!==null&&r!==void 0?r:Ga.margin,direction:(s=T.direction)!==null&&s!==void 0?s:Ga.direction}:Ga,E=j=>typeof j=="number"?[j,j]:[j.x,j.y],$=(j,N,W)=>{const{clientWidth:it,clientHeight:ot,scrollLeft:K,scrollTop:tt,scrollWidth:st,scrollHeight:q}=j,[et,at]=E(O.margin),[xt,Lt]=E(O.speed);let wt=0,Ot=0;(O.direction==="x"||O.direction==="both")&&(W.x<et&&K>0?wt=-xt:W.x+N.width>it-et&&K<st-it&&(wt=xt)),(O.direction==="y"||O.direction==="both")&&(W.y<at&&tt>0?Ot=-Lt:W.y+N.height>ot-at&&tt<q-ot&&(Ot=Lt)),(wt||Ot)&&j.scrollBy({left:wt,top:Ot,behavior:"auto"})};let Q=null;const lt=()=>{const j=p.toValue(v);j&&!Q&&(Q=setInterval(()=>{const N=p.toValue(n).getBoundingClientRect(),{x:W,y:it}=L.value,ot={x:W-j.scrollLeft,y:it-j.scrollTop};ot.x>=0&&ot.y>=0&&($(j,N,ot),ot.x+=j.scrollLeft,ot.y+=j.scrollTop,L.value=ot)},1e3/60))},ct=()=>{Q&&(clearInterval(Q),Q=null)},pt=(j,N,W,it)=>{const[ot,K]=typeof W=="number"?[W,W]:[W.x,W.y],{clientWidth:tt,clientHeight:st}=N;return j.x<ot||j.x+it.width>tt-ot||j.y<K||j.y+it.height>st-K},dt=()=>{if(p.toValue(t.disabled)||!B.value)return;const j=p.toValue(v);if(!j)return;const N=p.toValue(n).getBoundingClientRect(),{x:W,y:it}=L.value,ot={x:W-j.scrollLeft,y:it-j.scrollTop};pt(ot,j,O.margin,N)?lt():ct()};p.toValue(I)&&p.watch(L,dt);const gt=j=>{var N;if(!p.toValue(A).includes(j.button)||p.toValue(t.disabled)||!F(j)||p.toValue(d)&&j.target!==p.toValue(n))return;const W=p.toValue(v),it=W==null||(N=W.getBoundingClientRect)===null||N===void 0?void 0:N.call(W),ot=p.toValue(n).getBoundingClientRect(),K={x:j.clientX-(W?ot.left-it.left+(I?0:W.scrollLeft):ot.left),y:j.clientY-(W?ot.top-it.top+(I?0:W.scrollTop):ot.top)};g?.(K,j)!==!1&&(B.value=K,M(j))},rt=j=>{if(p.toValue(t.disabled)||!F(j)||!B.value)return;const N=p.toValue(v);N instanceof HTMLElement&&gR(N);const W=p.toValue(n).getBoundingClientRect();let{x:it,y:ot}=L.value;if((x==="x"||x==="both")&&(it=j.clientX-B.value.x,N&&(it=Math.min(Math.max(0,it),N.scrollWidth-W.width))),(x==="y"||x==="both")&&(ot=j.clientY-B.value.y,N&&(ot=Math.min(Math.max(0,ot),N.scrollHeight-W.height))),p.toValue(I)&&N&&(Q===null&&$(N,W,{x:it,y:ot}),it+=N.scrollLeft,ot+=N.scrollTop),N&&(z||I)){if(x!=="y"){const K=it-N.scrollLeft;K<0?it=N.scrollLeft:K>N.clientWidth-W.width&&(it=N.clientWidth-W.width+N.scrollLeft)}if(x!=="x"){const K=ot-N.scrollTop;K<0?ot=N.scrollTop:K>N.clientHeight-W.height&&(ot=N.clientHeight-W.height+N.scrollTop)}}L.value={x:it,y:ot},f?.(L.value,j),M(j)},ft=j=>{p.toValue(t.disabled)||!F(j)||B.value&&(B.value=void 0,I&&ct(),m?.(L.value,j),M(j))};if(Qg){const j=()=>{var N;return{capture:(N=t.capture)!==null&&N!==void 0?N:!0,passive:!p.toValue(l)}};uo(C,"pointerdown",gt,j),uo(w,"pointermove",rt,j),uo(w,["pointerup","pointercancel"],ft,j)}return{...dR(L),position:L,isDragging:p.computed(()=>!!B.value),style:p.computed(()=>`
4
4
  left: ${L.value.x}px;