import{c5 as nt,_ as w}from"./index-b5c8f851.js";import{E as te,P as ot,N as lt,G as ht,z as ut,Y as ct,f as dt,m as v,w as ie,Q as q,a as qe,b as Z,V as bt,$ as re,W as ze,_ as J,r as ge,i as A,c as _t,o as ft,M as me,d as se,D as gt,B as X,y as De,e as pt,v as ae,O as Ie,g as Te,h as mt,q as ue,j as pe,t as yt,s as Ze,k as Je,l as Ce,J as vt,u as Q,p as K,X as U,n as wt,x as H,I as xt,A as C,C as de,F as be,S as Re,H as Pt,K as Fe,L as Ot,R as kt,T as V,U as Ye,Z as Et,a0 as Mt,a1 as St,a2 as Tt,a3 as ee,a4 as xe,a5 as jt,a6 as He,a7 as je,a8 as Ke,a9 as Dt,aa as Ct,ab as Qe,ac as et,ad as Bt,ae as At,af as Lt,ag as zt,ah as le,ai as Pe}from"./Theme-f4ff95b9.js";import{u as Ve}from"./Tooltip-e2b1a7fb.js";import{s as It}from"./DefaultTheme-4ab4ae6c.js";class Rt{constructor(){Object.defineProperty(this,"_observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_targets",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this._observer=new ResizeObserver(e=>{v(e,t=>{v(this._targets,i=>{i.target===t.target&&i.callback()})})})}addTarget(e,t){this._observer.observe(e,{box:"border-box"}),this._targets.push({target:e,callback:t})}removeTarget(e){this._observer.unobserve(e),me(this._targets,t=>t.target!==e)}}class ye{constructor(){Object.defineProperty(this,"_timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_targets",{enumerable:!0,configurable:!0,writable:!0,value:[]})}addTarget(e,t){if(this._timer===null){let r=null;const a=()=>{const s=Date.now();(r===null||s>r+ye.delay)&&(r=s,v(this._targets,n=>{let u=n.target.getBoundingClientRect();u.width===n.size.width&&u.height===n.size.height||(n.size=u,n.callback())})),this._targets.length===0?this._timer=null:this._timer=requestAnimationFrame(a)};this._timer=requestAnimationFrame(a)}let i={width:0,height:0,left:0,right:0,top:0,bottom:0,x:0,y:0};this._targets.push({target:e,callback:t,size:i})}removeTarget(e){me(this._targets,t=>t.target!==e),this._targets.length===0&&this._timer!==null&&(cancelAnimationFrame(this._timer),this._timer=null)}}Object.defineProperty(ye,"delay",{enumerable:!0,configurable:!0,writable:!0,value:200});let Oe=null;function Ft(){return Oe===null&&(Oe=typeof ResizeObserver<"u"?new Rt:new ye),Oe}class Yt{constructor(e,t){Object.defineProperty(this,"_sensor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_listener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_disposed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),this._sensor=Ft(),this._element=e,this._listener=Ze(t),this._sensor.addTarget(e,t)}isDisposed(){return this._disposed}dispose(){this._disposed||(this._disposed=!0,this._sensor.removeTarget(this._element),this._listener.dispose())}get sensor(){return this._sensor}}class fe extends te{}Object.defineProperty(fe,"className",{enumerable:!0,configurable:!0,writable:!0,value:"InterfaceColors"}),Object.defineProperty(fe,"classNames",{enumerable:!0,configurable:!0,writable:!0,value:te.classNames.concat([fe.className])});class Ht extends te{_setDefaults(){this._setDefault("negativeBase",0),this._setDefault("numberFormat","#,###.#####"),this._setDefault("smallNumberThreshold",1);const e="_big_number_suffix_",t="_small_number_suffix_",i="_byte_suffix_";this._setDefault("bigNumberPrefixes",[{number:1e3,suffix:this._t(e+"3")},{number:1e6,suffix:this._t(e+"6")},{number:1e9,suffix:this._t(e+"9")},{number:1e12,suffix:this._t(e+"12")},{number:1e15,suffix:this._t(e+"15")},{number:1e18,suffix:this._t(e+"18")},{number:1e21,suffix:this._t(e+"21")},{number:1e24,suffix:this._t(e+"24")}]),this._setDefault("smallNumberPrefixes",[{number:1e-24,suffix:this._t(t+"24")},{number:1e-21,suffix:this._t(t+"21")},{number:1e-18,suffix:this._t(t+"18")},{number:1e-15,suffix:this._t(t+"15")},{number:1e-12,suffix:this._t(t+"12")},{number:1e-9,suffix:this._t(t+"9")},{number:1e-6,suffix:this._t(t+"6")},{number:.001,suffix:this._t(t+"3")}]),this._setDefault("bytePrefixes",[{number:1,suffix:this._t(i+"B")},{number:1024,suffix:this._t(i+"KB")},{number:1048576,suffix:this._t(i+"MB")},{number:1073741824,suffix:this._t(i+"GB")},{number:1099511627776,suffix:this._t(i+"TB")},{number:0x4000000000000,suffix:this._t(i+"PB")}]),super._setDefaults()}_beforeChanged(){super._beforeChanged()}format(e,t,i){let r;(t==null||pe(t)&&t.toLowerCase()==="number")&&(t=this.get("numberFormat",""));let a=Number(e);if(Je(t))try{return this.get("intlLocales")?new Intl.NumberFormat(this.get("intlLocales"),t).format(a):new Intl.NumberFormat(void 0,t).format(a)}catch{return"Invalid"}else{t=Ce(t);let s,n=this.parseFormat(t,this._root.language);s=a>this.get("negativeBase")?n.positive:a{if(u.parsed)return;let h=u.source;h.toLowerCase()==="number"&&(h=this.get("numberFormat","#,###.#####"));let g=U.chunk(h,!0);for(let c=0;c=0?e.toExponential(t.decimals.passive).split("e"):e.toExponential().split("e"),e=Number(c[0]),a="e"+c[1],t.modSpacing&&(a=" "+a)}else if(t.decimals.passive===0)e=Math.round(e);else if(t.decimals.passive>0){let c=Math.pow(10,t.decimals.passive);e=Math.round(e*c)/c}let n="",u=wt(e).split("."),h=u[0];if(h.length0){let c=[],b=h.split("").reverse().join("");for(let l=0,m=h.length;l<=m;l+=t.thousands.interval){let o=b.substr(l,t.thousands.interval).split("").reverse().join("");o!==""&&c.unshift(o)}h=c.join(t.thousands.separator)}n+=h,u.length===1&&u.push("");let g=u[1];return g.length{switch(g.type){case"year":t=+g.value;break;case"month":i=+g.value-1;break;case"day":r=+g.value;break;case"hour":a=+g.value;break;case"minute":s=+g.value;break;case"second":n=+g.value;break;case"fractionalSecond":u=+g.value;break;case"weekday":switch(g.value){case"Sun":h=0;break;case"Mon":h=1;break;case"Tue":h=2;break;case"Wed":h=3;break;case"Thu":h=4;break;case"Fri":h=5;break;case"Sat":h=6}}}),a===24&&(a=0),{year:t,month:i,day:r,hour:a,minute:s,second:n,millisecond:u,weekday:h}}function We(d,e){const{year:t,month:i,day:r,hour:a,minute:s,second:n,millisecond:u}=tt(d,e);return Date.UTC(t,i,r,a,s,n,u)}class Vt{constructor(e,t){if(Object.defineProperty(this,"_utc",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_dtf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),!t)throw new Error("You cannot use `new Class()`, instead use `Class.new()`");this.name=e,this._utc=new Intl.DateTimeFormat("UTC",{hour12:!1,timeZone:"UTC",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",weekday:"short",fractionalSecondDigits:3}),this._dtf=new Intl.DateTimeFormat("UTC",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",weekday:"short",fractionalSecondDigits:3})}static new(e){return new this(e,!0)}convertLocal(e){const t=this.offsetUTC(e),i=e.getTimezoneOffset(),r=new Date(e);r.setUTCMinutes(r.getUTCMinutes()-(t-i));const a=r.getTimezoneOffset();return i!=a&&r.setUTCMinutes(r.getUTCMinutes()+a-i),r}offsetUTC(e){return(We(this._utc,e)-We(this._dtf,e))/6e4}parseDate(e){return tt(this._dtf,e)}}class Wt extends te{_setDefaults(){this._setDefault("capitalize",!0),this._setDefault("dateFormat","yyyy-MM-dd"),super._setDefaults()}_beforeChanged(){super._beforeChanged()}format(e,t){let i;t!==void 0&&t!==""||(t=this.get("dateFormat","yyyy-MM-dd"));let r=e;if(Je(t))try{const n=this.get("intlLocales");return n?new Intl.DateTimeFormat(n,t).format(r):new Intl.DateTimeFormat(void 0,t).format(r)}catch{return"Invalid"}let a=this.parseFormat(t);const s=this._root.timezone;return s&&!this._root.utc&&(r=s.convertLocal(r)),H(r.getTime())?(i=this.applyFormat(r,a),this.get("capitalize")&&(i=i.replace(/^.{1}/,i.substr(0,1).toUpperCase())),i):"Invalid date"}applyFormat(e,t){let i,r,a,s,n,u,h,g,c=t.template,b=e.getTime();this._root.utc?(i=e.getUTCFullYear(),r=e.getUTCMonth(),a=e.getUTCDay(),s=e.getUTCDate(),n=e.getUTCHours(),u=e.getUTCMinutes(),h=e.getUTCSeconds(),g=e.getUTCMilliseconds()):(i=e.getFullYear(),r=e.getMonth(),a=e.getDay(),s=e.getDate(),n=e.getHours(),u=e.getMinutes(),h=e.getSeconds(),g=e.getMilliseconds());for(let l=0,m=t.parts.length;l=12?this._t("PM"):this._t("AM");break;case"aa":o=n>=12?this._t("P.M."):this._t("A.M.");break;case"aaa":o=n>=12?this._t("P"):this._t("A");break;case"h":o=be(n).toString();break;case"hh":o=C(be(n),2,"0");break;case"H":o=n.toString();break;case"HH":o=C(n,2,"0");break;case"K":o=be(n,0).toString();break;case"KK":o=C(be(n,0),2,"0");break;case"k":o=(n+1).toString();break;case"kk":o=C(n+1,2,"0");break;case"m":o=u.toString();break;case"mm":o=C(u,2,"0");break;case"s":o=h.toString();break;case"ss":o=C(h,2,"0");break;case"S":case"SS":case"SSS":o=Math.round(g/1e3*Math.pow(10,t.parts[l].length)).toString();break;case"x":o=b.toString();break;case"n":case"nn":case"nnn":o=C(g,t.parts[l].length,"0");break;case"z":o=de(e,!1,!1,this._root.utc,this._root.timezone?this._root.timezone.name:void 0);break;case"zz":o=de(e,!0,!1,this._root.utc,this._root.timezone?this._root.timezone.name:void 0);break;case"zzz":o=de(e,!1,!0,this._root.utc,this._root.timezone?this._root.timezone.name:void 0);break;case"zzzz":o=de(e,!0,!0,this._root.utc,this._root.timezone?this._root.timezone.name:void 0);break;case"Z":case"ZZ":let p=this._root.utc?"UTC":this._root.timezone;p instanceof Vt&&(p=p.name);const x=p?xt(p):e.getTimezoneOffset();let y=Math.abs(x)/60,_=Math.floor(y),P=60*y-60*_;this._root.utc&&(_=0,P=0),t.parts[l]=="Z"?(o="GMT",o+=x>0?"-":"+",o+=C(_,2)+":"+C(P,2)):(o=x>0?"-":"+",o+=C(_,2)+C(P,2));break;case"i":o=e.toISOString();break;case"I":o=e.toUTCString()}c=c.replace(Q,o)}return c}parseFormat(e){let t={template:"",parts:[]},i=U.chunk(e,!0);for(let r=0;r-1&&(n.year=parseInt(c[s.year])),s.year3>-1){let b=parseInt(c[s.year3]);b+=1e3,n.year=b}if(s.year2>-1){let b=parseInt(c[s.year2]);b+=b>50?1e3:2e3,n.year=b}if(s.year1>-1){let b=parseInt(c[s.year1]);b=10*Math.floor(new Date().getFullYear()/10)+b,n.year=b}if(s.monthLong>-1&&(n.month=this.resolveMonth(c[s.monthLong])),s.monthShort>-1&&(n.month=this.resolveShortMonth(c[s.monthShort])),s.month>-1&&(n.month=parseInt(c[s.month])-1),s.week>-1&&s.day===-1&&(n.month=0,n.day=kt(parseInt(c[s.week]),n.year,1,this._root.utc)),s.day>-1&&(n.day=parseInt(c[s.day])),s.yearDay>-1&&(n.month=0,n.day=parseInt(c[s.yearDay])),s.hourBase0>-1&&(n.hour=parseInt(c[s.hourBase0])),s.hourBase1>-1&&(n.hour=parseInt(c[s.hourBase1])-1),s.hour12Base0>-1){let b=parseInt(c[s.hour12Base0]);b==11&&(b=0),s.am>-1&&!this.isAm(c[s.am])&&(b+=12),n.hour=b}if(s.hour12Base1>-1){let b=parseInt(c[s.hour12Base1]);b==12&&(b=0),s.am>-1&&!this.isAm(c[s.am])&&(b+=12),n.hour=b}if(s.minute>-1&&(n.minute=parseInt(c[s.minute])),s.second>-1&&(n.second=parseInt(c[s.second])),s.millisecond>-1){let b=parseInt(c[s.millisecond]);s.millisecondDigits==2?b*=10:s.millisecondDigits==1&&(b*=100),n.millisecond=b}if(s.timestamp>-1){n.timestamp=parseInt(c[s.timestamp]);const b=new Date(n.timestamp);n.year=b.getUTCFullYear(),n.month=b.getUTCMonth(),n.day=b.getUTCDate(),n.hour=b.getUTCHours(),n.minute=b.getUTCMinutes(),n.second=b.getUTCSeconds(),n.millisecond=b.getUTCMilliseconds()}s.zone>-1&&(n.offset=this.resolveTimezoneOffset(new Date(n.year,n.month,n.day),c[s.zone])),s.iso>-1&&(n.year=V(c[s.iso+0]),n.month=V(c[s.iso+1])-1,n.day=V(c[s.iso+2]),n.hour=V(c[s.iso+3]),n.minute=V(c[s.iso+4]),n.second=V(c[s.iso+5]),n.millisecond=V(c[s.iso+6]),c[s.iso+7]=="Z"||c[s.iso+7]=="z"?n.utc=!0:c[s.iso+7]!=""&&(n.offset=this.resolveTimezoneOffset(new Date(n.year,n.month,n.day),c[s.iso+7]))),i=n.utc?new Date(Date.UTC(n.year,n.month,n.day,n.hour,n.minute,n.second,n.millisecond)):new Date(n.year,n.month,n.day,n.hour,n.minute+n.offset,n.second,n.millisecond)}else i=new Date(e);return i}resolveTimezoneOffset(e,t){if(t.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/)){let i=t.match(/([+\-]?)([0-9]{2}):?([0-9]{2})/),r=i[1],a=i[2],s=i[3],n=60*parseInt(a)+parseInt(s);return r=="+"&&(n*=-1),n-(e||new Date).getTimezoneOffset()}return 0}resolveMonth(e){let t=this._months().indexOf(e);return t>-1||!this._root.language.isDefault()&&(t=this._root.language.translateAll(this._months()).indexOf(e),t>-1)?t:0}resolveShortMonth(e){let t=this._shortMonths().indexOf(e);return t>-1?t:(t=this._months().indexOf(e),t>-1||this._root.language&&!this._root.language.isDefault()&&(t=this._root.language.translateAll(this._shortMonths()).indexOf(e),t>-1)?t:0)}isAm(e){return this.getStringList(["AM","A.M.","A"]).indexOf(e.toUpperCase())>-1}getStringList(e){let t=[];for(let i=0;ithis.get("negativeBase")?s.positive:n{if(n.parsed)return;let u=n.source,h=[];h=n.source.match(/^\[([^\]]*)\]/),h&&h.length&&h[0]!==""&&(u=n.source.substr(h[0].length),n.color=h[1]);let g=U.chunk(u,!0);for(let c=0;c{if(a==t||i){if(r/s<=1)return i||(i=a),!1;i=a}return!0}),i}getMilliseconds(e,t){return t||(t=this.get("baseUnit")),e*this._getUnitValue(t)}_getUnitValue(e){return this._getUnitValues()[e]}_getUnitValues(){return{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:2592e6,year:31536e6}}}const it={firstDayOfWeek:1,_decimalSeparator:".",_thousandSeparator:",",_percentPrefix:null,_percentSuffix:"%",_big_number_suffix_3:"k",_big_number_suffix_6:"M",_big_number_suffix_9:"G",_big_number_suffix_12:"T",_big_number_suffix_15:"P",_big_number_suffix_18:"E",_big_number_suffix_21:"Z",_big_number_suffix_24:"Y",_small_number_suffix_3:"m",_small_number_suffix_6:"μ",_small_number_suffix_9:"n",_small_number_suffix_12:"p",_small_number_suffix_15:"f",_small_number_suffix_18:"a",_small_number_suffix_21:"z",_small_number_suffix_24:"y",_byte_suffix_B:"B",_byte_suffix_KB:"KB",_byte_suffix_MB:"MB",_byte_suffix_GB:"GB",_byte_suffix_TB:"TB",_byte_suffix_PB:"PB",_date:"yyyy-MM-dd",_date_millisecond:"mm:ss SSS",_date_millisecond_full:"HH:mm:ss SSS",_date_second:"HH:mm:ss",_date_second_full:"HH:mm:ss",_date_minute:"HH:mm",_date_minute_full:"HH:mm - MMM dd, yyyy",_date_hour:"HH:mm",_date_hour_full:"HH:mm - MMM dd, yyyy",_date_day:"MMM dd",_date_day_full:"MMM dd, yyyy",_date_week:"ww",_date_week_full:"MMM dd, yyyy",_date_month:"MMM",_date_month_full:"MMM, yyyy",_date_year:"yyyy",_duration_millisecond:"SSS",_duration_millisecond_second:"ss.SSS",_duration_millisecond_minute:"mm:ss SSS",_duration_millisecond_hour:"hh:mm:ss SSS",_duration_millisecond_day:"d'd' mm:ss SSS",_duration_millisecond_week:"d'd' mm:ss SSS",_duration_millisecond_month:"M'm' dd'd' mm:ss SSS",_duration_millisecond_year:"y'y' MM'm' dd'd' mm:ss SSS",_duration_second:"ss",_duration_second_minute:"mm:ss",_duration_second_hour:"hh:mm:ss",_duration_second_day:"d'd' hh:mm:ss",_duration_second_week:"d'd' hh:mm:ss",_duration_second_month:"M'm' dd'd' hh:mm:ss",_duration_second_year:"y'y' MM'm' dd'd' hh:mm:ss",_duration_minute:"mm",_duration_minute_hour:"hh:mm",_duration_minute_day:"d'd' hh:mm",_duration_minute_week:"d'd' hh:mm",_duration_minute_month:"M'm' dd'd' hh:mm",_duration_minute_year:"y'y' MM'm' dd'd' hh:mm",_duration_hour:"hh'h'",_duration_hour_day:"d'd' hh'h'",_duration_hour_week:"d'd' hh'h'",_duration_hour_month:"M'm' dd'd' hh'h'",_duration_hour_year:"y'y' MM'm' dd'd' hh'h'",_duration_day:"d'd'",_duration_day_week:"d'd'",_duration_day_month:"M'm' dd'd'",_duration_day_year:"y'y' MM'm' dd'd'",_duration_week:"w'w'",_duration_week_month:"w'w'",_duration_week_year:"w'w'",_duration_month:"M'm'",_duration_month_year:"y'y' MM'm'",_duration_year:"y'y'",_era_ad:"AD",_era_bc:"BC",A:"",P:"",AM:"",PM:"","A.M.":"","P.M.":"",January:"",February:"",March:"",April:"",May:"",June:"",July:"",August:"",September:"",October:"",November:"",December:"",Jan:"",Feb:"",Mar:"",Apr:"","May(short)":"May",Jun:"",Jul:"",Aug:"",Sep:"",Oct:"",Nov:"",Dec:"",Sunday:"",Monday:"",Tuesday:"",Wednesday:"",Thursday:"",Friday:"",Saturday:"",Sun:"",Mon:"",Tue:"",Wed:"",Thu:"",Fri:"",Sat:"",_dateOrd:function(d){let e="th";if(d<11||d>13)switch(d%10){case 1:e="st";break;case 2:e="nd";break;case 3:e="rd"}return e},"Zoom Out":"",Play:"",Stop:"",Legend:"","Press ENTER to toggle":"",Loading:"",Home:"",Chart:"","Serial chart":"","X/Y chart":"","Pie chart":"","Gauge chart":"","Radar chart":"","Sankey diagram":"","Flow diagram":"","Chord diagram":"","TreeMap chart":"","Force directed tree":"","Sliced chart":"",Series:"","Candlestick Series":"","OHLC Series":"","Column Series":"","Line Series":"","Pie Slice Series":"","Funnel Series":"","Pyramid Series":"","X/Y Series":"",Map:"","Press ENTER to zoom in":"","Press ENTER to zoom out":"","Use arrow keys to zoom in and out":"","Use plus and minus keys on your keyboard to zoom in and out":"",Export:"",Image:"",Data:"",Print:"","Press ENTER or use arrow keys to navigate":"","Press ENTER to open":"","Press ENTER to print.":"","Press ENTER to export as %1.":"","(Press ESC to close this message)":"","Image Export Complete":"","Export operation took longer than expected. Something might have gone wrong.":"","Saved from":"",PNG:"",JPG:"",GIF:"",SVG:"",PDF:"",JSON:"",CSV:"",XLSX:"",HTML:"","Use TAB to select grip buttons or left and right arrows to change selection":"","Use left and right arrows to move selection":"","Use left and right arrows to move left selection":"","Use left and right arrows to move right selection":"","Use TAB select grip buttons or up and down arrows to change selection":"","Use up and down arrows to move selection":"","Use up and down arrows to move lower selection":"","Use up and down arrows to move upper selection":"","From %1 to %2":"","From %1":"","To %1":"","No parser available for file: %1":"","Error parsing file: %1":"","Unable to load file: %1":"","Invalid date":"",Close:"",Minimize:""};class $t extends te{_setDefaults(){this.setPrivate("defaultLocale",it),super._setDefaults()}translate(e,t,...i){t||(t=this._root.locale||this.getPrivate("defaultLocale"));let r=e,a=t[e];if(a===null)r="";else if(a!=null)a&&(r=a);else if(t!==this.getPrivate("defaultLocale"))return this.translate(e,this.getPrivate("defaultLocale"),...i);if(i.length)for(let s=i.length,n=0;n{this.setTranslationAny(i,r,t)})}translateEmpty(e,t,...i){let r=this.translate(e,t,...i);return r==e?"":r}translateFunc(e,t){return this._root.locale[e]?this._root.locale[e]:t!==this.getPrivate("defaultLocale")?this.translateFunc(e,this.getPrivate("defaultLocale")):()=>""}translateAll(e,t){return this.isDefault()?e:Mt(e,i=>this.translate(i,t))}isDefault(){return this.getPrivate("defaultLocale")===this._root.locale}}class ke{constructor(e=1,t=0,i=0,r=1,a=0,s=0){Object.defineProperty(this,"a",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"b",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"c",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"d",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ty",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.a=e,this.b=t,this.c=i,this.d=r,this.tx=a,this.ty=s}setTransform(e,t,i,r,a,s=1){this.a=Math.cos(a)*s,this.b=Math.sin(a)*s,this.c=-Math.sin(a)*s,this.d=Math.cos(a)*s,this.tx=e-(i*this.a+r*this.c),this.ty=t-(i*this.b+r*this.d)}apply(e){return{x:this.a*e.x+this.c*e.y+this.tx,y:this.b*e.x+this.d*e.y+this.ty}}applyInverse(e){const t=1/(this.a*this.d+this.c*-this.b);return{x:this.d*t*e.x+-this.c*t*e.y+(this.ty*this.c-this.tx*this.d)*t,y:this.a*t*e.y+-this.b*t*e.x+(-this.ty*this.a+this.tx*this.b)*t}}append(e){const t=this.a,i=this.b,r=this.c,a=this.d;this.a=e.a*t+e.b*r,this.b=e.a*i+e.b*a,this.c=e.c*t+e.d*r,this.d=e.c*i+e.d*a,this.tx=e.tx*t+e.ty*r+this.tx,this.ty=e.tx*i+e.ty*a+this.ty}prepend(e){const t=this.tx;if(e.a!==1||e.b!==0||e.c!==0||e.d!==1){const i=this.a,r=this.c;this.a=i*e.a+this.b*e.c,this.b=i*e.b+this.b*e.d,this.c=r*e.a+this.d*e.c,this.d=r*e.b+this.d*e.d}this.tx=t*e.a+this.ty*e.c+e.tx,this.ty=t*e.b+this.ty*e.d+e.ty}copyFrom(e){this.a=e.a,this.b=e.b,this.c=e.c,this.d=e.d,this.tx=e.tx,this.ty=e.ty}}var Xt=function(){function d(e,t){var i=[],r=!0,a=!1,s=void 0;try{for(var n,u=e[Symbol.iterator]();!(r=(n=u.next()).done)&&(i.push(n.value),!t||i.length!==t);r=!0);}catch(h){a=!0,s=h}finally{try{!r&&u.return&&u.return()}finally{if(a)throw s}}return i}return function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return d(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),he=2*Math.PI,Ee=function(d,e,t,i,r,a,s){var n=d.x,u=d.y;return{x:i*(n*=e)-r*(u*=t)+a,y:r*n+i*u+s}},Nt=function(d,e){var t=e===1.5707963267948966?.551915024494:e===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(e/4),i=Math.cos(d),r=Math.sin(d),a=Math.cos(d+e),s=Math.sin(d+e);return[{x:i-r*t,y:r+i*t},{x:a+s*t,y:s-a*t},{x:a,y:s}]},Ue=function(d,e,t,i){var r=d*t+e*i;return r>1&&(r=1),r<-1&&(r=-1),(d*i-e*t<0?-1:1)*Math.acos(r)},Gt=function(d,e,t,i,r,a,s,n,u,h,g,c){var b=Math.pow(r,2),l=Math.pow(a,2),m=Math.pow(g,2),o=Math.pow(c,2),f=b*l-b*o-l*m;f<0&&(f=0),f/=b*o+l*m;var p=(f=Math.sqrt(f)*(s===n?-1:1))*r/a*c,x=f*-a/r*g,y=h*p-u*x+(d+t)/2,_=u*p+h*x+(e+i)/2,P=(g-p)/r,E=(c-x)/a,S=(-g-p)/r,T=(-c-x)/a,D=Ue(1,0,P,E),O=Ue(P,E,S,T);return n===0&&O>0&&(O-=he),n===1&&O<0&&(O+=he),[y,_,D,O]},qt=function(d){var e=d.px,t=d.py,i=d.cx,r=d.cy,a=d.rx,s=d.ry,n=d.xAxisRotation,u=n===void 0?0:n,h=d.largeArcFlag,g=h===void 0?0:h,c=d.sweepFlag,b=c===void 0?0:c,l=[];if(a===0||s===0)return[];var m=Math.sin(u*he/360),o=Math.cos(u*he/360),f=o*(e-i)/2+m*(t-r)/2,p=-m*(e-i)/2+o*(t-r)/2;if(f===0&&p===0)return[];a=Math.abs(a),s=Math.abs(s);var x=Math.pow(f,2)/Math.pow(a,2)+Math.pow(p,2)/Math.pow(s,2);x>1&&(a*=Math.sqrt(x),s*=Math.sqrt(x));var y=Gt(e,t,i,r,a,s,g,b,m,o,f,p),_=Xt(y,4),P=_[0],E=_[1],S=_[2],T=_[3],D=Math.abs(T)/(he/4);Math.abs(1-D)<1e-7&&(D=1);var O=Math.max(Math.ceil(D),1);T/=O;for(var I=0;I1){const r=/^([01])([01])(.*)$/.exec(i);r!==null&&(d.splice(t,0,r[1]),++t,d.splice(t,0,r[2]),++t,r[3].length>0?d[t]=r[3]:d.splice(t,1))}if(++t,i=d[t],i.length>1){const r=/^([01])(.+)$/.exec(i);r!==null&&(d.splice(t,0,r[1]),++t,d[t]=r[2])}}}function $e(d){if(d===0||d===1)return d;throw new Error("Flag must be 0 or 1")}function Kt(d){const e=[0,0,0];for(let t=0;t<24;t++)e[t%3]<<=1,e[t%3]|=1&d,d>>=1;return(0|e[2])+(e[1]<<8)+(e[0]<<16)}function _e(d,e){for(;(!d.interactive||e(d))&&d._parent;)d=d._parent}function Qt(d,e,t){return A(d,je(e),i=>{const r=Ke(i);let a=i.touches;a?(a.length==0&&(a=i.changedTouches),t(Dt(a),r)):t([i],r)})}function Xe(d){const e=document.createElement("canvas");e.width=1,e.height=1;const t=e.getContext("2d",{willReadFrequently:!0});t.drawImage(d,0,0,1,1);try{return t.getImageData(0,0,1,1),!1}catch{return console.warn('Image "'+d.src+'" is loaded from different host and is not covered by CORS policy. For more information about the implications read here: https://www.amcharts.com/docs/v5/concepts/cors'),!0}}function oe(d){d.width=0,d.height=0,d.style.width="0px",d.style.height="0px"}class ei{constructor(){Object.defineProperty(this,"_x",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_y",{enumerable:!0,configurable:!0,writable:!0,value:0})}get x(){return this._x}get y(){return this._y}set x(e){this._x=e}set y(e){this._y=e}}class ve extends Lt{constructor(e){super(),Object.defineProperty(this,"_layer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"mask",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"visible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"exportable",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"interactive",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"inactive",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"wheelable",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"cancelTouch",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isMeasured",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"buttonMode",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"alpha",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"compoundAlpha",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"angle",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"scale",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"crisp",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"pivot",{enumerable:!0,configurable:!0,writable:!0,value:new ei}),Object.defineProperty(this,"filter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cursorOverStyle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_replacedCursorStyle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_localMatrix",{enumerable:!0,configurable:!0,writable:!0,value:new ke}),Object.defineProperty(this,"_matrix",{enumerable:!0,configurable:!0,writable:!0,value:new ke}),Object.defineProperty(this,"_uMatrix",{enumerable:!0,configurable:!0,writable:!0,value:new ke}),Object.defineProperty(this,"_renderer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_localBounds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bounds",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_colorId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._renderer=e}_dispose(){this._renderer._removeObject(this),this.getLayer().dirty=!0}getCanvas(){return this.getLayer().view}getLayer(){let e=this;for(;;){if(e._layer)return e._layer;if(!e._parent)return this._renderer.defaultLayer;e=e._parent}}setLayer(e,t){e==null?this._layer=void 0:(this._layer=this._renderer.getLayer(e,!0),this._layer.visible=!0,this._layer.margin=t,t&&J(this._layer.view,!1),this._renderer._ghostLayer.setMargin(this._renderer.layers),this._parent&&this._parent.registerChildLayer(this._layer),this._layer.dirty=!0,this._renderer.resizeLayer(this._layer),this._renderer.resizeGhost())}markDirtyLayer(){this.getLayer().dirty=!0}clear(){this.invalidateBounds()}invalidateBounds(){this._localBounds=void 0}_addBounds(e){}_getColorId(){return this._colorId===void 0&&(this._colorId=this._renderer.paintId(this)),this._colorId}_isInteractive(){return this.inactive==0&&(this.interactive||this._renderer._forceInteractive>0)}_isInteractiveMask(){return this._isInteractive()}contains(e){for(;;){if(e===this)return!0;if(!e._parent)return!1;e=e._parent}}toGlobal(e){return this._matrix.apply(e)}toLocal(e){return this._matrix.applyInverse(e)}getLocalMatrix(){return this._uMatrix.setTransform(0,0,this.pivot.x,this.pivot.y,this.angle*Math.PI/180,this.scale),this._uMatrix}getLocalBounds(){return this._localBounds||(this._localBounds={left:1e7,top:1e7,right:-1e7,bottom:-1e7},this._addBounds(this._localBounds)),this._localBounds}getAdjustedBounds(e){this._setMatrix();const t=this.getLocalMatrix(),i=t.apply({x:e.left,y:e.top}),r=t.apply({x:e.right,y:e.top}),a=t.apply({x:e.right,y:e.bottom}),s=t.apply({x:e.left,y:e.bottom});return{left:Math.min(i.x,r.x,a.x,s.x),top:Math.min(i.y,r.y,a.y,s.y),right:Math.max(i.x,r.x,a.x,s.x),bottom:Math.max(i.y,r.y,a.y,s.y)}}on(e,t,i){return this.interactive?this._renderer._addEvent(this,e,t,i):new X(()=>{})}_setMatrix(){this._localMatrix.setTransform(this.x,this.y,this.pivot.x,this.pivot.y,this.angle*Math.PI/180,this.scale),this._matrix.copyFrom(this._localMatrix),this._parent&&this._matrix.prepend(this._parent._matrix)}_transform(e,t){const i=this._matrix;let r=i.tx*t,a=i.ty*t;this.crisp&&(r=Math.floor(r)+.5,a=Math.floor(a)+.5),e.setTransform(i.a*t,i.b*t,i.c*t,i.d*t,r,a)}_transformMargin(e,t,i){const r=this._matrix;e.setTransform(r.a*t,r.b*t,r.c*t,r.d*t,(r.tx+i.left)*t,(r.ty+i.top)*t)}_transformLayer(e,t,i){i.margin?this._transformMargin(e,i.scale||t,i.margin):this._transform(e,i.scale||t)}render(e){if(this.visible&&(this.exportable!==!1||!this._renderer._omitTainted)){this._setMatrix();const t=this._renderer.resolution,i=this._renderer.layers,r=this._renderer._ghostLayer,a=r.context,s=this.mask;s&&s._setMatrix(),v(i,n=>{if(n){const u=n.context;u.save(),s&&(s._transformLayer(u,t,n),s._runPath(u),u.clip()),u.globalAlpha=this.compoundAlpha*this.alpha,this._transformLayer(u,t,n),this.filter&&(u.filter=this.filter)}}),a.save(),s&&this._isInteractiveMask()&&(s._transformMargin(a,t,r.margin),s._runPath(a),a.clip()),this._transformMargin(a,t,r.margin),this._render(e),a.restore(),v(i,n=>{n&&n.context.restore()})}}_render(e){this.exportable===!1&&((this._layer||e).tainted=!0)}hovering(){return this._renderer._hovering.has(this)}dragging(){return this._renderer._dragging.some(e=>e.value===this)}shouldCancelTouch(){const e=this._renderer;return!(e.tapToActivate&&!e._touchActive)&&(!!this.cancelTouch||!!this._parent&&this._parent.shouldCancelTouch())}}class ti extends ve{constructor(){super(...arguments),Object.defineProperty(this,"interactiveChildren",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"_childLayers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_children",{enumerable:!0,configurable:!0,writable:!0,value:[]})}_isInteractiveMask(){return this.interactiveChildren||super._isInteractiveMask()}addChild(e){e._parent=this,this._children.push(e),e._layer&&this.registerChildLayer(e._layer)}addChildAt(e,t){e._parent=this,this._children.splice(t,0,e),e._layer&&this.registerChildLayer(e._layer)}removeChild(e){e._parent=void 0,De(this._children,e)}_render(e){super._render(e);const t=this._renderer;this.interactive&&this.interactiveChildren&&++t._forceInteractive;const i=this._layer||e;v(this._children,r=>{r.compoundAlpha=this.compoundAlpha*this.alpha,r.render(i)}),this.interactive&&this.interactiveChildren&&--t._forceInteractive}registerChildLayer(e){this._childLayers||(this._childLayers=[]),Te(this._childLayers,e),this._parent&&this._parent.registerChildLayer(e)}markDirtyLayer(e=!1){super.markDirtyLayer(),e&&this._childLayers&&v(this._childLayers,t=>t.dirty=!0)}_dispose(){super._dispose(),this._childLayers&&v(this._childLayers,e=>{e.dirty=!0})}}function M(d,e){d.left=Math.min(d.left,e.x),d.top=Math.min(d.top,e.y),d.right=Math.max(d.right,e.x),d.bottom=Math.max(d.bottom,e.y)}class j{colorize(e,t){}path(e){}addBounds(e){}}class ii extends j{colorize(e,t){e.beginPath()}}class Me extends j{constructor(e){super(),Object.defineProperty(this,"color",{enumerable:!0,configurable:!0,writable:!0,value:e})}colorize(e,t){e.fillStyle=t!==void 0?t:this.color}}class ri extends j{constructor(e){super(),Object.defineProperty(this,"clearShadow",{enumerable:!0,configurable:!0,writable:!0,value:e})}colorize(e,t){e.fill(),this.clearShadow&&(e.shadowColor="",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0)}}class si extends j{colorize(e,t){e.stroke()}}class Se extends j{constructor(e,t,i){super(),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"color",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"lineJoin",{enumerable:!0,configurable:!0,writable:!0,value:i})}colorize(e,t){e.strokeStyle=t!==void 0?t:this.color,e.lineWidth=this.width,this.lineJoin&&(e.lineJoin=this.lineJoin)}}class ai extends j{constructor(e){super(),Object.defineProperty(this,"dash",{enumerable:!0,configurable:!0,writable:!0,value:e})}colorize(e,t){e.setLineDash(this.dash)}}class ni extends j{constructor(e){super(),Object.defineProperty(this,"dashOffset",{enumerable:!0,configurable:!0,writable:!0,value:e})}colorize(e,t){e.lineDashOffset=this.dashOffset}}class oi extends j{constructor(e,t,i,r){super(),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,writable:!0,value:r})}path(e){e.rect(this.x,this.y,this.width,this.height)}addBounds(e){const t=this.x,i=this.y,r=t+this.width,a=i+this.height;M(e,{x:t,y:i}),M(e,{x:r,y:i}),M(e,{x:t,y:a}),M(e,{x:r,y:a})}}class li extends j{constructor(e,t,i){super(),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"radius",{enumerable:!0,configurable:!0,writable:!0,value:i})}path(e){e.moveTo(this.x+this.radius,this.y),e.arc(this.x,this.y,this.radius,0,2*Math.PI)}addBounds(e){M(e,{x:this.x-this.radius,y:this.y-this.radius}),M(e,{x:this.x+this.radius,y:this.y+this.radius})}}class hi extends j{constructor(e,t,i,r){super(),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"radiusX",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"radiusY",{enumerable:!0,configurable:!0,writable:!0,value:r})}path(e){e.ellipse(0,0,this.radiusX,this.radiusY,0,0,2*Math.PI)}addBounds(e){M(e,{x:this.x-this.radiusX,y:this.y-this.radiusY}),M(e,{x:this.x+this.radiusX,y:this.y+this.radiusY})}}class ui extends j{constructor(e,t,i,r,a,s){super(),Object.defineProperty(this,"cx",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"cy",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"radius",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"startAngle",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"endAngle",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"anticlockwise",{enumerable:!0,configurable:!0,writable:!0,value:s})}path(e){this.radius>0&&e.arc(this.cx,this.cy,this.radius,this.startAngle,this.endAngle,this.anticlockwise)}addBounds(e){let t=zt(this.cx,this.cy,this.startAngle*le,this.endAngle*le,this.radius);M(e,{x:t.left,y:t.top}),M(e,{x:t.right,y:t.bottom})}}class ci extends j{constructor(e,t,i,r,a){super(),Object.defineProperty(this,"x1",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y1",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"x2",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"y2",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"radius",{enumerable:!0,configurable:!0,writable:!0,value:a})}path(e){this.radius>0&&e.arcTo(this.x1,this.y1,this.x2,this.y2,this.radius)}addBounds(e){}}class di extends j{constructor(e,t){super(),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:t})}path(e){e.lineTo(this.x,this.y)}addBounds(e){M(e,{x:this.x,y:this.y})}}class bi extends j{constructor(e,t){super(),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:t})}path(e){e.moveTo(this.x,this.y)}addBounds(e){M(e,{x:this.x,y:this.y})}}class _i extends j{path(e){e.closePath()}}class fi extends j{constructor(e,t,i,r,a,s){super(),Object.defineProperty(this,"cpX",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"cpY",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"cpX2",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"cpY2",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"toX",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"toY",{enumerable:!0,configurable:!0,writable:!0,value:s})}path(e){e.bezierCurveTo(this.cpX,this.cpY,this.cpX2,this.cpY2,this.toX,this.toY)}addBounds(e){M(e,{x:this.cpX,y:this.cpY}),M(e,{x:this.cpX2,y:this.cpY2}),M(e,{x:this.toX,y:this.toY})}}class gi extends j{constructor(e,t,i,r){super(),Object.defineProperty(this,"cpX",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"cpY",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"toX",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"toY",{enumerable:!0,configurable:!0,writable:!0,value:r})}path(e){e.quadraticCurveTo(this.cpX,this.cpY,this.toX,this.toY)}addBounds(e){M(e,{x:this.cpX,y:this.cpY}),M(e,{x:this.toX,y:this.toY})}}class pi extends j{constructor(e,t,i,r,a){super(),Object.defineProperty(this,"color",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"blur",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"offsetX",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"offsetY",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"opacity",{enumerable:!0,configurable:!0,writable:!0,value:a})}colorize(e,t){this.opacity&&(e.fillStyle=this.color),e.shadowColor=this.color,e.shadowBlur=this.blur,e.shadowOffsetX=this.offsetX,e.shadowOffsetY=this.offsetY}}class mi extends j{constructor(e,t,i,r,a){super(),Object.defineProperty(this,"image",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:a})}path(e){e.drawImage(this.image,this.x,this.y,this.width,this.height)}addBounds(e){M(e,{x:this.x,y:this.y}),M(e,{x:this.width,y:this.height})}}class yi extends ve{constructor(){super(...arguments),Object.defineProperty(this,"_operations",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"blendMode",{enumerable:!0,configurable:!0,writable:!0,value:Ct.NORMAL}),Object.defineProperty(this,"_hasShadows",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_fillAlpha",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_strokeAlpha",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}clear(){super.clear(),this._operations.length=0}_pushOp(e){this._operations.push(e)}beginFill(e,t=1){this._fillAlpha=t,e?e instanceof ee?this._pushOp(new Me(e.toCSS(t))):(this.isMeasured=!0,this._pushOp(new Me(e))):this._pushOp(new Me("rgba(0, 0, 0, "+t+")"))}endFill(){this._pushOp(new ri(this._hasShadows))}endStroke(){this._pushOp(new si)}beginPath(){this._pushOp(new ii)}lineStyle(e=0,t,i=1,r){this._strokeAlpha=i,t?t instanceof ee?this._pushOp(new Se(e,t.toCSS(i),r)):this._pushOp(new Se(e,t,r)):this._pushOp(new Se(e,"rgba(0, 0, 0, "+i+")",r))}setLineDash(e){this._pushOp(new ai(e||[]))}setLineDashOffset(e=0){this._pushOp(new ni(e))}drawRect(e,t,i,r){this._pushOp(new oi(e,t,i,r))}drawCircle(e,t,i){this._pushOp(new li(e,t,i))}drawEllipse(e,t,i,r){this._pushOp(new hi(e,t,i,r))}arc(e,t,i,r,a,s=!1){this._pushOp(new ui(e,t,i,r,a,s))}arcTo(e,t,i,r,a){this._pushOp(new ci(e,t,i,r,a))}lineTo(e,t){this._pushOp(new di(e,t))}moveTo(e,t){this._pushOp(new bi(e,t))}bezierCurveTo(e,t,i,r,a,s){this._pushOp(new fi(e,t,i,r,a,s))}quadraticCurveTo(e,t,i,r){this._pushOp(new gi(e,t,i,r))}closePath(){this._pushOp(new _i)}shadow(e,t=0,i=0,r=0,a){this._hasShadows=!0,this._pushOp(new pi(a?e.toCSS(a):e.toCSS(this._fillAlpha||this._strokeAlpha),t,i,r))}image(e,t,i,r,a){this._pushOp(new mi(e,t,i,r,a))}svgPath(e){let t=0,i=0,r=null,a=null,s=null,n=null;const u=/([MmZzLlHhVvCcSsQqTtAa])([^MmZzLlHhVvCcSsQqTtAa]*)/g,h=/[\u0009\u0020\u000A\u000C\u000D]*([\+\-]?[0-9]*\.?[0-9]+(?:[eE][\+\-]?[0-9]+)?)[\u0009\u0020\u000A\u000C\u000D]*,?/g;let g;for(;(g=u.exec(e))!==null;){const c=g[1],b=g[2],l=[];for(;(g=h.exec(b))!==null;)l.push(g[1]);switch(c!=="S"&&c!=="s"&&c!=="C"&&c!=="c"&&(r=null,a=null),c!=="Q"&&c!=="q"&&c!=="T"&&c!=="t"&&(s=null,n=null),c){case"M":z(c,l.length,2),t=+l[0],i=+l[1],this.moveTo(t,i);for(let o=2;o{this.bezierCurveTo(y.x1,y.y1,y.x2,y.y2,y.x,y.y),t=y.x,i=y.y})}break;case"Z":case"z":Zt(c,l.length,0),this.closePath()}}}_runPath(e){e.beginPath(),v(this._operations,t=>{t.path(e)})}_render(e){super._render(e);const t=this._layer||e,i=t.dirty,r=this._isInteractive();if(i||r){const a=t.context,s=this._renderer._ghostLayer.context;let n;i&&(a.globalCompositeOperation=this.blendMode,a.beginPath()),r&&(s.beginPath(),n=this._getColorId()),v(this._operations,u=>{i&&(u.path(a),u.colorize(a,void 0)),r&&(u.path(s),u.colorize(s,n))})}}renderDetached(e){if(this.visible){this._setMatrix(),e.save();const t=this.mask;t&&(t._setMatrix(),t._transform(e,1),t._runPath(e),e.clip()),e.globalAlpha=this.compoundAlpha*this.alpha,this._transform(e,1),this.filter&&(e.filter=this.filter),e.globalCompositeOperation=this.blendMode,e.beginPath(),v(this._operations,i=>{i.path(e),i.colorize(e,void 0)}),e.restore()}}_addBounds(e){this.visible&&this.isMeasured&&v(this._operations,t=>{t.addBounds(e)})}}class rt extends ve{constructor(e,t,i){super(e),Object.defineProperty(this,"text",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"style",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"resolution",{enumerable:!0,configurable:!0,writable:!0,value:1}),Object.defineProperty(this,"textVisible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"_textInfo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_originalScale",{enumerable:!0,configurable:!0,writable:!0,value:1}),this.text=t,this.style=i}invalidateBounds(){super.invalidateBounds(),this._textInfo=void 0}_shared(e){this.style.textAlign&&(e.textAlign=this.style.textAlign),this.style.direction&&(e.direction=this.style.direction),this.style.textBaseline&&(e.textBaseline=this.style.textBaseline)}_prerender(e,t=!1,i=!1){super._render(e);const r=e.context,a=this._renderer._ghostLayer.context,s=this.style;let n=this._getFontStyle(void 0,i);r.font=n,this._isInteractive()&&!t&&(a.font=n),s.fill&&(s.fill instanceof ee?r.fillStyle=s.fill.toCSS(s.fillOpacity!=null?s.fillOpacity:1):r.fillStyle=s.fill),s.shadowColor&&(e.context.shadowColor=s.shadowColor.toCSS(s.shadowOpacity||1)),s.shadowBlur&&(e.context.shadowBlur=s.shadowBlur),s.shadowOffsetX&&(e.context.shadowOffsetX=s.shadowOffsetX),s.shadowOffsetY&&(e.context.shadowOffsetY=s.shadowOffsetY),this._shared(r),this._isInteractive()&&!t&&(a.fillStyle=this._getColorId(),this._shared(a))}_getFontStyle(e,t=!1){const i=this.style;let r=[];return e&&e.fontVariant?r.push(e.fontVariant):i.fontVariant&&r.push(i.fontVariant),t||(e&&e.fontWeight?r.push(e.fontWeight):i.fontWeight&&r.push(i.fontWeight)),e&&e.fontStyle?r.push(e.fontStyle):i.fontStyle&&r.push(i.fontStyle),e&&e.fontSize?(H(e.fontSize)&&(e.fontSize=e.fontSize+"px"),r.push(e.fontSize)):i.fontSize&&(H(i.fontSize)&&(i.fontSize=i.fontSize+"px"),r.push(i.fontSize)),e&&e.fontFamily?r.push(e.fontFamily):i.fontFamily?r.push(i.fontFamily):r.length&&r.push("Arial"),r.join(" ")}_render(e){const t=this._layer||e;if(this._textInfo||this._measure(t),this.textVisible){const i=this._isInteractive(),r=t.context,a=t.dirty,s=this._renderer._ghostLayer.context;r.save(),s.save(),this._prerender(t),v(this._textInfo,(n,u)=>{v(n.textChunks,(h,g)=>{if(h.style&&(r.save(),s.save(),r.font=h.style,this._isInteractive()&&(s.font=h.style)),h.fill&&(r.save(),r.fillStyle=h.fill.toCSS()),a&&r.fillText(h.text,h.offsetX,n.offsetY+h.offsetY),h.textDecoration=="underline"||h.textDecoration=="line-through"){let c,b=1,l=1,m=h.height,o=h.offsetX;switch(this.style.textAlign){case"right":case"end":o-=h.width;break;case"center":o-=h.width/2}if(h.style)switch(U.getTextStyle(h.style).fontWeight){case"bolder":case"bold":case"700":case"800":case"900":b=2}m&&(l=m/20),c=h.textDecoration=="line-through"?b+n.offsetY+h.offsetY-h.height/2:b+1.5*l+n.offsetY+h.offsetY,r.save(),r.beginPath(),h.fill?r.strokeStyle=h.fill.toCSS():this.style.fill&&this.style.fill instanceof ee&&(r.strokeStyle=this.style.fill.toCSS()),r.lineWidth=b*l,r.moveTo(o,c),r.lineTo(o+h.width,c),r.stroke(),r.restore()}i&&this.interactive&&s.fillText(h.text,h.offsetX,n.offsetY+h.offsetY),h.fill&&r.restore(),h.style&&(r.restore(),s.restore())})}),r.restore(),s.restore()}}_addBounds(e){if(this.visible&&this.isMeasured){const t=this._measure(this.getLayer());M(e,{x:t.left,y:t.top}),M(e,{x:t.right,y:t.bottom})}}_ignoreFontWeight(){return/apple/i.test(navigator.vendor)}_measure(e){const t=e.context,i=this._renderer._ghostLayer.context,r=this.style.direction=="rtl";this._textInfo=[];const a=this.style.oversizedBehavior,s=this.style.maxWidth,n=H(s)&&a=="truncate",u=H(s)&&(a=="wrap"||a=="wrap-no-break");t.save(),i.save(),this._prerender(e,!0,this._ignoreFontWeight());const h="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",g=this.text.toString().replace(/\r/g,"").split(/\n/);let c,b=!0,l=0,m=0,o=0;v(g,(p,x)=>{let y;for(y=p==""?[{type:"value",text:""}]:U.chunk(p,!1,this.style.ignoreFormatting);y.length>0;){let _={offsetY:o,ascent:0,width:0,height:0,left:0,right:0,textChunks:[]};const P=this._measureText(h,t),E=P.actualBoundingBoxAscent+P.actualBoundingBoxDescent;let S;_.height=E,_.ascent=P.actualBoundingBoxAscent;let T,D,O,I=this.style.textDecoration,L=!1,F=!0,N=[];Qe(y,(B,ce)=>{if(B.type=="format")if(B.text=="[/]")b||(t.restore(),i.restore(),b=!0),T=void 0,c=void 0,D=void 0,I=this.style.textDecoration,O=void 0,S=B.text;else{b||(t.restore(),i.restore());let k=U.getTextStyle(B.text);const R=this._getFontStyle(k);t.save(),i.save(),t.font=R,c=R,S=B.text,k.textDecoration&&(I=k.textDecoration),k.fill&&(T=k.fill),k.width&&(D=V(k.width)),k.verticalAlign&&(O=k.verticalAlign),b=!1;const Y=this._measureText(h,t),G=Y.actualBoundingBoxAscent+Y.actualBoundingBoxDescent;G>_.height&&(_.height=G),Y.actualBoundingBoxAscent>_.ascent&&(_.ascent=Y.actualBoundingBoxAscent)}else if(B.type=="value"&&!L){const k=this._measureText(B.text,t);let R=k.actualBoundingBoxLeft+k.actualBoundingBoxRight;if(n){let W=F||this.style.breakWords||!1;const $=this.style.ellipsis||"",Le=this._measureText($,t),st=Le.actualBoundingBoxLeft+Le.actualBoundingBoxRight;if(_.width+R>s){const at=s-_.width-st;B.text=this._truncateText(t,B.text,at,W),B.text+=$,L=!0}}else if(u&&_.width+R>s){const W=s-_.width,$=this._truncateText(t,B.text,W,!1,F&&this.style.oversizedBehavior!="wrap-no-break");if($=="")return this.textVisible=!0,!1;N=y.slice(ce+1),Pe($)!=Pe(B.text)&&(N.unshift({type:"value",text:B.text.substr($.length)}),S&&N.unshift({type:"format",text:S})),B.text=Pe($),y=[],L=!0}let Y=1,G=1;if(c&&D&&D>R){const W=R/D;switch(this.style.textAlign){case"right":case"end":Y=W;break;case"center":Y=W,G=W;break;default:G=W}R=D}const we=k.actualBoundingBoxAscent+k.actualBoundingBoxDescent;we>_.height&&(_.height=we),k.actualBoundingBoxAscent>_.ascent&&(_.ascent=k.actualBoundingBoxAscent),_.width+=R,_.left+=k.actualBoundingBoxLeft/Y,_.right+=k.actualBoundingBoxRight/G,_.textChunks.push({style:c,fill:T,text:B.text,width:R,height:we,left:k.actualBoundingBoxLeft,right:k.actualBoundingBoxRight,ascent:k.actualBoundingBoxAscent,offsetX:0,offsetY:0,textDecoration:I,verticalAlign:O}),F=!1}return!0}),this.style.lineHeight instanceof et?(_.height*=this.style.lineHeight.value,_.ascent*=this.style.lineHeight.value):(_.height*=this.style.lineHeight||1.2,_.ascent*=this.style.lineHeight||1.2),l<_.left&&(l=_.left),m<_.right&&(m=_.right),this._textInfo.push(_),o+=_.height,y=N||[]}}),b||(t.restore(),i.restore()),v(this._textInfo,(p,x)=>{let y=0;v(p.textChunks,_=>{if(_.offsetX=y+_.left-p.left,_.offsetY+=p.height-p.height*(this.style.baselineRatio||.19),y+=_.width,_.verticalAlign)switch(_.verticalAlign){case"super":_.offsetY-=p.height/2-_.height/2;break;case"sub":_.offsetY+=_.height/2}})});const f={left:r?-m:-l,top:0,right:r?l:m,bottom:o};if(a!=="none"){const p=this._fitRatio(f);if(p<1)if(a=="fit")H(this.style.minScale)&&pi&&t!="");return t}_measureText(e,t){let i=t.measureText(e),r={};if(i.actualBoundingBoxAscent==null){const s=document.createElement("div");s.innerText=e,s.style.visibility="hidden",s.style.position="absolute",s.style.top="-1000000px;",s.style.fontFamily=this.style.fontFamily||"",s.style.fontSize=this.style.fontSize+"",document.body.appendChild(s);const n=s.getBoundingClientRect();document.body.removeChild(s);const u=n.height,h=i.width;r={actualBoundingBoxAscent:u,actualBoundingBoxDescent:0,actualBoundingBoxLeft:0,actualBoundingBoxRight:h,fontBoundingBoxAscent:u,fontBoundingBoxDescent:0,width:h}}else r={actualBoundingBoxAscent:i.actualBoundingBoxAscent,actualBoundingBoxDescent:i.actualBoundingBoxDescent,actualBoundingBoxLeft:i.actualBoundingBoxLeft,actualBoundingBoxRight:i.actualBoundingBoxRight,fontBoundingBoxAscent:i.actualBoundingBoxAscent,fontBoundingBoxDescent:i.actualBoundingBoxDescent,width:i.width};const a=i.width;switch(this.style.textAlign){case"right":case"end":r.actualBoundingBoxLeft=a,r.actualBoundingBoxRight=0;break;case"center":r.actualBoundingBoxLeft=a/2,r.actualBoundingBoxRight=a/2;break;default:r.actualBoundingBoxLeft=0,r.actualBoundingBoxRight=a}return r}}class vi{constructor(){Object.defineProperty(this,"fill",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fillOpacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textAlign",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fontFamily",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fontSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fontWeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fontStyle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fontVariant",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textDecoration",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowColor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOpacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"lineHeight",{enumerable:!0,configurable:!0,writable:!0,value:qe(120)}),Object.defineProperty(this,"baselineRatio",{enumerable:!0,configurable:!0,writable:!0,value:.19}),Object.defineProperty(this,"direction",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"textBaseline",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"oversizedBehavior",{enumerable:!0,configurable:!0,writable:!0,value:"none"}),Object.defineProperty(this,"breakWords",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"ellipsis",{enumerable:!0,configurable:!0,writable:!0,value:"…"}),Object.defineProperty(this,"maxWidth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"maxHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"minScale",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ignoreFormatting",{enumerable:!0,configurable:!0,writable:!0,value:!1})}}class wi extends rt{constructor(){super(...arguments),Object.defineProperty(this,"textType",{enumerable:!0,configurable:!0,writable:!0,value:"circular"}),Object.defineProperty(this,"radius",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startAngle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inside",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"orientation",{enumerable:!0,configurable:!0,writable:!0,value:"auto"}),Object.defineProperty(this,"kerning",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_textReversed",{enumerable:!0,configurable:!0,writable:!0,value:!1})}_render(e){this.textType==="circular"?this._renderCircular(e):super._render(e)}_renderCircular(e){if(this.textVisible){const t=this._layer||e;this._prerender(t);const i=this._isInteractive(),r=t.context,a=t.dirty,s=this._renderer._ghostLayer.context;r.save(),i&&s.save(),this._textInfo||this._measure(t);let n=this.radius||0,u=this.startAngle||0,h=0,g=this.orientation,c=g=="auto"?"auto":g=="inward";const b=this.inside,l=this.style.textAlign||"left",m=this.kerning||0;let o=l=="left"?1:-1;const f=!this._textReversed;if(c=="auto"){let p=0,x=0;v(this._textInfo,(y,_)=>{const P=u+y.width/(n-y.height)/2*-o;P>p&&(p=P)}),x=l=="left"?(p+h/2)*le:l=="right"?(p-h/2)*le:u*le,x=Bt(x),c=x>=270||x<=90}c==1&&f&&(this._textInfo.reverse(),this._textReversed=!0),v(this._textInfo,(p,x)=>{const y=p.height;b||(n+=y),(o==-1&&c||o==1&&!c)&&f&&p.textChunks.reverse();let _=u;h=0,l=="center"&&(_+=p.width/(n-y)/2*-o,h=_-u),_+=Math.PI*(c?0:1),r.save(),i&&s.save(),r.rotate(_),i&&s.rotate(_);let P=0;v(p.textChunks,(E,S)=>{const T=E.text,D=E.width;P=D/2/(n-y)*o,r.rotate(P),i&&s.rotate(P),E.style&&(r.save(),s.save(),r.font=E.style,i&&(s.font=E.style)),E.fill&&(r.save(),r.fillStyle=E.fill.toCSS()),r.textBaseline="middle",r.textAlign="center",i&&(s.textBaseline="middle",s.textAlign="center"),a&&r.fillText(T,0,(c?1:-1)*(0-n+y/2)),i&&s.fillText(T,0,(c?1:-1)*(0-n+y/2)),E.fill&&r.restore(),E.style&&(r.restore(),s.restore()),P=(D/2+m)/(n-y)*o,r.rotate(P),i&&s.rotate(P)}),r.restore(),i&&s.restore(),b&&(n-=y)}),r.restore(),i&&s.restore()}}_measure(e){return this.textType==="circular"?this._measureCircular(e):super._measure(e)}_measureCircular(e){const t=e.context,i=this._renderer._ghostLayer.context,r=this.style.direction=="rtl",a=this.style.oversizedBehavior,s=this.style.maxWidth,n=H(s)&&a=="truncate",u=this.style.ellipsis||"";let h;this.textVisible=!0,this._textInfo=[],this._textReversed=!1,t.save(),i.save(),this._prerender(e,!0);const g=this.text.toString().replace(/\r/g,"").split(/\n/);let c=!0,b=0,l=0;return v(g,(m,o)=>{let f,p,x,y=U.chunk(m,!1,this.style.ignoreFormatting),_={offsetY:l,ascent:0,width:0,height:0,left:0,right:0,textChunks:[]};v(y,(P,E)=>{if(P.type=="format"){if(P.text=="[/]")c||(t.restore(),i.restore(),c=!0),p=void 0,f=void 0,x=void 0;else{let S=U.getTextStyle(P.text);const T=this._getFontStyle(S);t.save(),i.save(),t.font=T,f=T,S.fill&&(p=S.fill),S.width&&(x=V(S.width)),c=!1}n&&(h=this._measureText(u,t))}else if(P.type=="value"){const S=P.text.match(/./gu)||[];r&&S.reverse();for(let T=0;TI&&(I=x);const L=O.actualBoundingBoxAscent+O.actualBoundingBoxDescent;if(L>_.height&&(_.height=L),O.actualBoundingBoxAscent>_.ascent&&(_.ascent=O.actualBoundingBoxAscent),_.width+=I,_.left+=O.actualBoundingBoxLeft,_.right+=O.actualBoundingBoxRight,_.textChunks.push({style:f,fill:p,text:D,width:I,height:L+O.actualBoundingBoxDescent,left:O.actualBoundingBoxLeft,right:O.actualBoundingBoxRight,ascent:O.actualBoundingBoxAscent,offsetX:0,offsetY:L,textDecoration:void 0}),b+=I,n){h||(h=this._measureText(u,t));const F=h.actualBoundingBoxLeft+h.actualBoundingBoxRight;if(b+=F,b+F>s){_.textChunks.length==1?this.textVisible=!1:(_.width+=F,_.left+=h.actualBoundingBoxLeft,_.right+=h.actualBoundingBoxRight,_.textChunks.push({style:f,fill:p,text:u,width:F,height:L+h.actualBoundingBoxDescent,left:h.actualBoundingBoxLeft,right:h.actualBoundingBoxRight,ascent:h.actualBoundingBoxAscent,offsetX:0,offsetY:L,textDecoration:void 0}));break}}if(r)break}}}),this.style.lineHeight instanceof et?_.height*=this.style.lineHeight.value:_.height*=this.style.lineHeight||1.2,this._textInfo.push(_),l+=_.height}),c||(t.restore(),i.restore()),a=="hide"&&b>s&&(this.textVisible=!1),v(this._textInfo,m=>{v(m.textChunks,o=>{o.offsetY+=Math.round((m.height-o.height+(m.ascent-o.ascent))/2)})}),t.restore(),i.restore(),{left:0,top:0,right:0,bottom:0}}}class xi extends ve{constructor(e,t){super(e),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"image",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tainted",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowColor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shadowOpacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_imageMask",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.image=t}_dispose(){super._dispose(),this._imageMask&&oe(this._imageMask)}getLocalBounds(){if(!this._localBounds){let e=0,t=0;this.width&&(e=this.width),this.height&&(t=this.height),this._localBounds={left:0,top:0,right:e,bottom:t},this._addBounds(this._localBounds)}return this._localBounds}_render(e){if(super._render(e),this.image){const t=this._layer||e;if(this.tainted===void 0&&(this.tainted=Xe(this.image),t.tainted=!0),this.tainted&&this._renderer._omitTainted)return;if(t.dirty){this.shadowColor&&(t.context.shadowColor=this.shadowColor.toCSS(this.shadowOpacity||1)),this.shadowBlur&&(t.context.shadowBlur=this.shadowBlur),this.shadowOffsetX&&(t.context.shadowOffsetX=this.shadowOffsetX),this.shadowOffsetY&&(t.context.shadowOffsetY=this.shadowOffsetY);const i=this.width||this.image.naturalWidth,r=this.height||this.image.naturalHeight;t.context.drawImage(this.image,0,0,i,r)}if(this.interactive&&this._isInteractive()){const i=this._getMask(this.image);this._renderer._ghostLayer.context.drawImage(i,0,0)}}}clear(){super.clear(),this.image=void 0,this._imageMask=void 0}_getMask(e){if(this._imageMask===void 0){const t=this.width||e.naturalWidth,i=this.height||e.naturalHeight,r=document.createElement("canvas");r.width=t,r.height=i;const a=r.getContext("2d");a.imageSmoothingEnabled=!1,a.fillStyle=this._getColorId(),a.fillRect(0,0,t,i),Xe(e)||(a.globalCompositeOperation="destination-in",a.drawImage(e,0,0,t,i)),this._imageMask=r}return this._imageMask}}class Pi{constructor(e,t,i,r){Object.defineProperty(this,"event",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"originalPoint",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"point",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"bbox",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"simulated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"native",{enumerable:!0,configurable:!0,writable:!0,value:!0}),ge("touchevents")&&e instanceof Touch?this.id=e.identifier:this.id=null}}class Oi extends St{constructor(e){if(super(),Object.defineProperty(this,"view",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"_layerDom",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("div")}),Object.defineProperty(this,"layers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_dirtyLayers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"defaultLayer",{enumerable:!0,configurable:!0,writable:!0,value:this.getLayer(0)}),Object.defineProperty(this,"_ghostLayer",{enumerable:!0,configurable:!0,writable:!0,value:new ki}),Object.defineProperty(this,"_patternCanvas",{enumerable:!0,configurable:!0,writable:!0,value:document.createElement("canvas")}),Object.defineProperty(this,"_patternContext",{enumerable:!0,configurable:!0,writable:!0,value:this._patternCanvas.getContext("2d")}),Object.defineProperty(this,"_realWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_realHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_calculatedWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_calculatedHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"resolution",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interactionsEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"_listeners",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_events",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_colorId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_colorMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_forceInteractive",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_omitTainted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_hovering",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"_dragging",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_mousedown",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_lastPointerMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tapToActivate",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"tapToActivateTimeout",{enumerable:!0,configurable:!0,writable:!0,value:3e3}),Object.defineProperty(this,"_touchActive",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_touchActiveTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.resolution=e??window.devicePixelRatio,this.view.style.position="absolute",this.view.setAttribute("aria-hidden","true"),this.view.appendChild(this._layerDom),this._disposers.push(new X(()=>{ue(this._events,(t,i)=>{i.disposer.dispose()}),v(this.layers,t=>{oe(t.view),t.exportableView&&oe(t.exportableView)}),oe(this._ghostLayer.view),oe(this._patternCanvas)})),this._disposers.push(Ze(()=>{e==null&&(this.resolution=window.devicePixelRatio)})),ge("touchevents")){const t=i=>{this._dragging.length!==0&&Qe(this._dragging,r=>!r.value.shouldCancelTouch()||(i.preventDefault(),!1)),this._touchActiveTimeout&&this._delayTouchDeactivate()};this._disposers.push(A(window,"touchstart",t,{passive:!1})),this._disposers.push(A(this.view,"touchstart",t,{passive:!1})),this._disposers.push(A(this.view,"touchmove",()=>{this._touchActiveTimeout&&this._delayTouchDeactivate()},{passive:!0})),this._disposers.push(A(window,"click",i=>{this._touchActive=!1},{passive:!0})),this._disposers.push(A(this.view,"click",i=>{window.setTimeout(()=>{this._touchActive=!0,this._delayTouchDeactivate()},100)},{passive:!0}))}ge("wheelevents")&&this._disposers.push(A(this.view,"wheel",t=>{let i=!1;this._hovering.forEach(r=>{if(r.wheelable)return i=!0,!1}),i&&t.preventDefault()},{passive:!1}))}_delayTouchDeactivate(){this._touchActiveTimeout&&clearTimeout(this._touchActiveTimeout),this.tapToActivateTimeout>0&&(this._touchActiveTimeout=window.setTimeout(()=>{this._touchActive=!1},this.tapToActivateTimeout))}get debugGhostView(){return!!this._ghostLayer.view.parentNode}set debugGhostView(e){e?this._ghostLayer.view.parentNode||this.view.appendChild(this._ghostLayer.view):this._ghostLayer.view.parentNode&&this._ghostLayer.view.parentNode.removeChild(this._ghostLayer.view)}createLinearGradient(e,t,i,r){return this.defaultLayer.context.createLinearGradient(e,t,i,r)}createRadialGradient(e,t,i,r,a,s){return this.defaultLayer.context.createRadialGradient(e,t,i,r,a,s)}createPattern(e,t,i,r,a){return this._patternCanvas.width=r,this._patternCanvas.height=a,this._patternContext.clearRect(0,0,r,a),t.renderDetached(this._patternContext),e.renderDetached(this._patternContext),this._patternContext.createPattern(this._patternCanvas,i)}makeContainer(){return new ti(this)}makeGraphics(){return new yi(this)}makeText(e,t){return new rt(this,e,t)}makeTextStyle(){return new vi}makeRadialText(e,t){return new wi(this,e,t)}makePicture(e){return new xi(this,e)}resizeLayer(e){e.resize(this._calculatedWidth,this._calculatedHeight,this._calculatedWidth,this._calculatedHeight,this.resolution)}resizeGhost(){this._ghostLayer.resize(this._calculatedWidth,this._calculatedHeight,this._calculatedWidth,this._calculatedHeight,this.resolution)}resize(e,t,i,r){this._realWidth=e,this._realHeight=t,this._calculatedWidth=i,this._calculatedHeight=r,v(this.layers,a=>{a&&(a.dirty=!0,this.resizeLayer(a))}),this.resizeGhost(),this.view.style.width=i+"px",this.view.style.height=r+"px"}createDetachedLayer(e=!1){const t=document.createElement("canvas"),i=t.getContext("2d",{willReadFrequently:e}),r=new Ei(t,i);return t.style.position="absolute",t.style.top="0px",t.style.left="0px",r}getLayerByOrder(e){const t=this.layers,i=t.length;for(let r=0;ru.order>h.order?1:u.order{t&&t.dirty&&t.visible&&(this._dirtyLayers.push(t),t.clear())}),this._ghostLayer.clear(),e.render(this.defaultLayer),this._ghostLayer.context.restore(),v(this.layers,t=>{if(t){const i=t.context;i.beginPath(),i.moveTo(0,0),i.stroke()}}),v(this._dirtyLayers,t=>{t.context.restore(),t.dirty=!1}),this._hovering.size&&this._lastPointerMoveEvent){const{events:t,target:i,native:r}=this._lastPointerMoveEvent;v(t,a=>{this._dispatchGlobalMousemove(a,i,r)})}}paintId(e){const t=Kt(++this._colorId),i=ee.fromHex(t).toCSS();return this._colorMap[i]=e,i}_removeObject(e){e._colorId!==void 0&&delete this._colorMap[e._colorId]}_adjustBoundingBox(e){const t=this._ghostLayer.margin;return new DOMRect(-t.left,-t.top,e.width+t.left+t.right,e.height+t.top+t.bottom)}getEvent(e,t=!0){const i=this.view.getBoundingClientRect(),r=e.clientX||0,a=e.clientY||0,s=this._calculatedWidth/this._realWidth,n=this._calculatedHeight/this._realHeight,u={x:r-i.left,y:a-i.top},h={x:(r-(t?i.left:0))*s,y:(a-(t?i.top:0))*n};return new Pi(e,u,h,this._adjustBoundingBox(i))}_getHitTarget(e,t,i){if(t.width===0||t.height===0||e.xt.right||e.yt.bottom||!i||!this._layerDom.contains(i))return;const r=this._ghostLayer.getImageData(e,t);if(r.data[0]===0&&r.data[1]===0&&r.data[2]===0)return!1;const a=ee.fromRGB(r.data[0],r.data[1],r.data[2]).toCSS();return this._colorMap[a]}_withEvents(e,t){const i=this._events[e];if(i!==void 0){i.dispatching=!0;try{t(i)}finally{i.dispatching=!1,i.cleanup&&(i.cleanup=!1,me(i.callbacks,r=>!r.disposed),i.callbacks.length===0&&(i.disposer.dispose(),delete this._events[e]))}}}_dispatchEventAll(e,t){this.interactionsEnabled&&this._withEvents(e,i=>{v(i.callbacks,r=>{r.disposed||r.callback.call(r.context,t)})})}_dispatchEvent(e,t,i){if(!this.interactionsEnabled)return!1;let r=!1;return this._withEvents(e,a=>{v(a.callbacks,s=>{s.disposed||s.object!==t||(s.callback.call(s.context,i),r=!0)})}),r}_dispatchMousedown(e,t){const i=e.button;if(i!=0&&i!=2&&i!=1&&i!==void 0)return;const r=this.getEvent(e),a=this._getHitTarget(r.originalPoint,r.bbox,t);if(a){const s=r.id;let n=!1;_e(a,u=>{const h={id:s,value:u};return this._mousedown.push(h),!n&&this._dispatchEvent("pointerdown",u,r)&&(n=!0,this._dragging.some(g=>g.value===u&&g.id===s)||this._dragging.push(h)),!0})}}_dispatchGlobalMousemove(e,t,i){const r=this.getEvent(e),a=this._getHitTarget(r.originalPoint,r.bbox,t);r.native=i,a?(this._hovering.forEach(s=>{s.contains(a)||(this._hovering.delete(s),s.cursorOverStyle&&xe(document.body,"cursor",s._replacedCursorStyle),this._dispatchEvent("pointerout",s,r))}),r.native&&_e(a,s=>(this._hovering.has(s)||(this._hovering.add(s),s.cursorOverStyle&&(s._replacedCursorStyle=At(document.body,"cursor"),xe(document.body,"cursor",s.cursorOverStyle)),this._dispatchEvent("pointerover",s,r)),!0))):(this._hovering.forEach(s=>{s.cursorOverStyle&&xe(document.body,"cursor",s._replacedCursorStyle),this._dispatchEvent("pointerout",s,r)}),this._hovering.clear()),this._dispatchEventAll("globalpointermove",r)}_dispatchGlobalMouseup(e,t){const i=this.getEvent(e);i.native=t,this._dispatchEventAll("globalpointerup",i)}_dispatchDragMove(e){if(this._dragging.length!==0){const t=this.getEvent(e),i=t.id;this._dragging.forEach(r=>{r.id===i&&this._dispatchEvent("pointermove",r.value,t)})}}_dispatchDragEnd(e,t){const i=e.button;let r;if(i==0||i===void 0)r="click";else if(i==2)r="rightclick";else{if(i!=1)return;r="middleclick"}const a=this.getEvent(e),s=a.id;if(this._mousedown.length!==0){const n=this._getHitTarget(a.originalPoint,a.bbox,t);n&&this._mousedown.forEach(u=>{u.id===s&&u.value.contains(n)&&this._dispatchEvent(r,u.value,a)}),this._mousedown.length=0}this._dragging.length!==0&&(this._dragging.forEach(n=>{n.id===s&&this._dispatchEvent("pointerup",n.value,a)}),this._dragging.length=0)}_dispatchDoubleClick(e,t){const i=this.getEvent(e),r=this._getHitTarget(i.originalPoint,i.bbox,t);r&&_e(r,a=>!this._dispatchEvent("dblclick",a,i))}_dispatchWheel(e,t){const i=this.getEvent(e),r=this._getHitTarget(i.originalPoint,i.bbox,t);r&&_e(r,a=>!this._dispatchEvent("wheel",a,i))}_makeSharedEvent(e,t){if(this._listeners[e]===void 0){const i=t();this._listeners[e]=new jt(()=>{delete this._listeners[e],i.dispose()})}return this._listeners[e].increment()}_onPointerEvent(e,t){let i=!1,r=null;function a(){r=null,i=!1}return new He([new X(()=>{r!==null&&clearTimeout(r),a()}),A(this.view,je(e),s=>{i=!0,r!==null&&clearTimeout(r),r=window.setTimeout(a,0)}),Qt(window,e,(s,n)=>{r!==null&&(clearTimeout(r),r=null),t(s,n,i),i=!1})])}_initEvent(e){switch(e){case"globalpointermove":case"pointerover":case"pointerout":return this._makeSharedEvent("pointermove",()=>{const t=(i,r,a)=>{this._lastPointerMoveEvent={events:i,target:r,native:a},v(i,s=>{this._dispatchGlobalMousemove(s,r,a)})};return new He([this._onPointerEvent("pointerdown",t),this._onPointerEvent("pointermove",t)])});case"globalpointerup":return this._makeSharedEvent("pointerup",()=>{const t=this._onPointerEvent("pointerup",(r,a,s)=>{v(r,n=>{this._dispatchGlobalMouseup(n,s)}),this._lastPointerMoveEvent={events:r,target:a,native:s}}),i=this._onPointerEvent("pointercancel",(r,a,s)=>{v(r,n=>{this._dispatchGlobalMouseup(n,s)}),this._lastPointerMoveEvent={events:r,target:a,native:s}});return new X(()=>{t.dispose(),i.dispose()})});case"click":case"rightclick":case"middleclick":case"pointerdown":case"pointermove":case"pointerup":return this._makeSharedEvent("pointerdown",()=>{const t=this._onPointerEvent("pointerdown",(s,n)=>{v(s,u=>{this._dispatchMousedown(u,n)})}),i=this._onPointerEvent("pointermove",s=>{v(s,n=>{this._dispatchDragMove(n)})}),r=this._onPointerEvent("pointerup",(s,n)=>{v(s,u=>{this._dispatchDragEnd(u,n)})}),a=this._onPointerEvent("pointercancel",(s,n)=>{v(s,u=>{this._dispatchDragEnd(u,n)})});return new X(()=>{t.dispose(),i.dispose(),r.dispose(),a.dispose()})});case"dblclick":return this._makeSharedEvent("dblclick",()=>this._onPointerEvent("dblclick",(t,i)=>{v(t,r=>{this._dispatchDoubleClick(r,i)})}));case"wheel":return this._makeSharedEvent("wheel",()=>A(window,je("wheel"),t=>{this._dispatchWheel(t,Ke(t))},{passive:!1}))}}_addEvent(e,t,i,r){let a=this._events[t];a===void 0&&(a=this._events[t]={disposer:this._initEvent(t),callbacks:[],dispatching:!1,cleanup:!1});const s={object:e,context:r,callback:i,disposed:!1};return a.callbacks.push(s),new X(()=>{s.disposed=!0,a.dispatching?a.cleanup=!0:(De(a.callbacks,s),a.callbacks.length===0&&(a.disposer.dispose(),delete this._events[t]))})}getCanvas(e,t){this.render(e),t||(t={});let i=this.resolution,r=Math.floor(this._calculatedWidth*this.resolution),a=Math.floor(this._calculatedHeight*this.resolution);if(t.minWidth&&t.minWidth>r){let l=t.minWidth/r;l>i&&(i=l*this.resolution)}if(t.minHeight&&t.minHeight>a){let l=t.minHeight/a;l>i&&(i=l*this.resolution)}if(t.maxWidth&&t.maxWidtha){let l=t.maxHeight/a;l{if(l&&l.visible&&(l.tainted||n)){b=!0,l.exportableView=l.view,l.exportableContext=l.context,l.view=document.createElement("canvas"),l.view.style.position="fixed",l.view.style.top="-10000px",this.view.appendChild(l.view),s.push(l.view);let m=0,o=0;l.margin&&(m+=l.margin.left||0+l.margin.right||0,o+=l.margin.top||0+l.margin.bottom||0),l.view.width=r+m,l.view.height=a+o,l.context=l.view.getContext("2d"),l.dirty=!0,l.scale=i}}),b&&(this._omitTainted=!0,this.render(e),this._omitTainted=!1),v(this.layers,l=>{if(l&&l.visible){let m=0,o=0;l.margin&&(m=-(l.margin.left||0)*this.resolution,o=-(l.margin.top||0)*this.resolution),h.drawImage(l.view,m,o),l.exportableView&&(l.view=l.exportableView,l.exportableView=void 0),l.exportableContext&&(l.context=l.exportableContext,l.exportableContext=void 0),g{l.style.position="",l.style.top="",this.view.removeChild(l)}),u}}class ki{constructor(){Object.defineProperty(this,"view",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"margin",{enumerable:!0,configurable:!0,writable:!0,value:{left:0,right:0,top:0,bottom:0}}),Object.defineProperty(this,"_width",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_height",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.view=document.createElement("canvas"),this.context=this.view.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.context.imageSmoothingEnabled=!1,this.view.style.position="absolute",this.view.style.top="0px",this.view.style.left="0px"}resize(e,t,i,r,a){e+=this.margin.left+this.margin.right,t+=this.margin.top+this.margin.bottom,i+=this.margin.left+this.margin.right,r+=this.margin.top+this.margin.bottom,this.view.style.left=-this.margin.left+"px",this.view.style.top=-this.margin.top+"px",this._width=Math.floor(e*a),this._height=Math.floor(t*a),this.view.width=this._width,this.view.style.width=i+"px",this.view.height=this._height,this.view.style.height=r+"px"}getImageData(e,t){return this.context.getImageData(Math.round((e.x-t.left)/t.width*this._width),Math.round((e.y-t.top)/t.height*this._height),1,1)}setMargin(e){this.margin.left=0,this.margin.right=0,this.margin.top=0,this.margin.bottom=0,v(e,t=>{t.margin&&(this.margin.left=Math.max(this.margin.left,t.margin.left),this.margin.right=Math.max(this.margin.right,t.margin.right),this.margin.top=Math.max(this.margin.top,t.margin.top),this.margin.bottom=Math.max(this.margin.bottom,t.margin.bottom))})}clear(){this.context.save(),this.context.fillStyle="#000",this.context.fillRect(0,0,this._width,this._height)}}class Ei{constructor(e,t){Object.defineProperty(this,"view",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tainted",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"margin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"order",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"visible",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scale",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dirty",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"exportableView",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"exportableContext",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_width",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_height",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.view=e,this.context=t}resize(e,t,i,r,a){this.width!=null&&(e=this.width,i=this.width),this.height!=null&&(t=this.height,r=this.height),this.margin?(e+=this.margin.left+this.margin.right,t+=this.margin.top+this.margin.bottom,i+=this.margin.left+this.margin.right,r+=this.margin.top+this.margin.bottom,this.view.style.left=-this.margin.left+"px",this.view.style.top=-this.margin.top+"px"):(this.view.style.left="0px",this.view.style.top="0px"),this._width=Math.floor(e*a),this._height=Math.floor(t*a),this.view.width=this._width,this.view.style.width=i+"px",this.view.height=this._height,this.view.style.height=r+"px"}clear(){this.context.save(),this.context.clearRect(0,0,this._width,this._height)}}function Ne(d,e){d==null?requestAnimationFrame(e):setTimeout(()=>{requestAnimationFrame(e)},1e3/d)}class Be{constructor(e,t={},i){if(Object.defineProperty(this,"dom",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_inner",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_settings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isDirty",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_isDirtyParents",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_dirty",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_dirtyParents",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_dirtyBounds",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_dirtyPositions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"_ticker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_tickers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_updateTick",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new lt}),Object.defineProperty(this,"animationTime",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_animations",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_renderer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_rootContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tooltipContainerSettings",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tooltip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"language",{enumerable:!0,configurable:!0,writable:!0,value:$t.new(this,{})}),Object.defineProperty(this,"locale",{enumerable:!0,configurable:!0,writable:!0,value:it}),Object.defineProperty(this,"utc",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timezone",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fps",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"numberFormatter",{enumerable:!0,configurable:!0,writable:!0,value:Ht.new(this,{})}),Object.defineProperty(this,"dateFormatter",{enumerable:!0,configurable:!0,writable:!0,value:Wt.new(this,{})}),Object.defineProperty(this,"durationFormatter",{enumerable:!0,configurable:!0,writable:!0,value:Ut.new(this,{})}),Object.defineProperty(this,"tabindex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_tabindexes",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_a11yD",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_focusElementDirty",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_focusElementContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_focusedSprite",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isShift",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_keyboardDragPoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tooltipElementContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_readerAlertElement",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_logo",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tooltipDiv",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nonce",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"interfaceColors",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"verticalLayout",{enumerable:!0,configurable:!0,writable:!0,value:ht.new(this,{})}),Object.defineProperty(this,"horizontalLayout",{enumerable:!0,configurable:!0,writable:!0,value:ut.new(this,{})}),Object.defineProperty(this,"gridLayout",{enumerable:!0,configurable:!0,writable:!0,value:ct.new(this,{})}),Object.defineProperty(this,"_paused",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"autoResize",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"_fontHash",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"_isDisposed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"_disposers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_resizeSensorDisposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_tooltips",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"_htmlElementContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_htmlEnabledContainers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),!i)throw new Error("You cannot use `new Class()`, instead use `Class.new()`");let r,a;if(this._settings=t,t.accessible==0&&(this._a11yD=!0),t.useSafeResolution==null&&(t.useSafeResolution=!0),t.useSafeResolution&&(r=dt()),this._renderer=new Oi(r),a=e instanceof HTMLElement?e:document.getElementById(e),v(ie.rootElements,u=>{if(u.dom===a)throw new Error("You cannot have multiple Roots on the same DOM node")}),this.interfaceColors=fe.new(this,{}),a===null)throw new Error("Could not find HTML element with id `"+e+"`");this.dom=a;let s=document.createElement("div");s.style.position="relative",s.style.width="100%",s.style.height="100%",a.appendChild(s);const n=t.tooltipContainerBounds;n&&(this._tooltipContainerSettings=n),this._inner=s,this._updateComputedStyles(),ie.rootElements.push(this)}static new(e,t){const i=new Be(e,t,!0);return i._init(),i}moveDOM(e){let t;if(t=e instanceof HTMLElement?e:document.getElementById(e),t){for(;this.dom.childNodes.length>0;)t.appendChild(this.dom.childNodes[0]);this.dom=t,this._initResizeSensor(),this.resize()}}_handleLogo(){if(this._logo){const e=this.dom.offsetWidth,t=this.dom.offsetHeight;e<=150||t<=60?this._logo.hide():this._logo.show()}}_showBranding(){if(!this._logo){const e=this.tooltipContainer.children.push(q.new(this,{interactive:!0,interactiveChildren:!1,position:"absolute",setStateOnChildren:!0,paddingTop:9,paddingRight:9,paddingBottom:9,paddingLeft:9,scale:.6,y:qe(100),centerY:Z,tooltipText:"Created using amCharts 5",tooltipX:Z,cursorOverStyle:"pointer",background:bt.new(this,{fill:re(4671320),fillOpacity:0,tooltipY:5})})),t=Ve.new(this,{pointerOrientation:"horizontal",paddingTop:4,paddingRight:7,paddingBottom:4,paddingLeft:7});t.label.setAll({fontSize:12}),t.get("background").setAll({fill:this.interfaceColors.get("background"),stroke:this.interfaceColors.get("grid"),strokeOpacity:.3}),e.set("tooltip",t),e.events.on("click",()=>{window.open("https://www.amcharts.com/","_blank")}),e.states.create("hover",{}),e.children.push(ze.new(this,{stroke:re(13421772),strokeWidth:3,svgPath:"M5 25 L13 25h13.6c3.4 0 6 0 10.3-4.3s5.2-12 8.6-12c3.4 0 4.3 8.6 7.7 8.6M83.4 25H79.8c-3.4 0-6 0-10.3-4.3s-5.2-12-8.6-12-4.3 8.6-7.7 8.6"})).states.create("hover",{stroke:re(3976191)}),e.children.push(ze.new(this,{stroke:re(8947848),strokeWidth:3,svgPath:"M83.4 25h-31C37 25 39.5 4.4 28.4 4.4S18.9 24.2 4.3 25H0"})).states.create("hover",{stroke:re(4671320)}),this._logo=e,this._handleLogo()}}_getRealSize(){return this.dom.getBoundingClientRect()}_getCalculatedSize(e){return this._settings.calculateSize?this._settings.calculateSize(e):{width:e.width,height:e.height}}_init(){const e=this._settings;e.accessible!==!1&&(e.focusable&&(this._inner.setAttribute("focusable","true"),this._inner.setAttribute("tabindex",this.tabindex+"")),e.ariaLabel&&this._inner.setAttribute("aria-label",e.ariaLabel));const t=this._renderer,i=this._getRealSize(),r=this._getCalculatedSize(i),a=Math.floor(r.width),s=Math.floor(r.height),n=Math.floor(i.width),u=Math.floor(i.height),h=q.new(this,{visible:!0,width:a,height:s});this._rootContainer=h,this._rootContainer._defaultThemes.push(It.new(this));const g=h.children.push(q.new(this,{visible:!0,width:Z,height:Z}));this.container=g,t.resize(n,u,a,s),this._inner.appendChild(t.view),this._initResizeSensor();const c=document.createElement("div");if(this._htmlElementContainer=c,c.className="am5-html-container",c.style.position="absolute",c.style.pointerEvents="none",this._tooltipContainerSettings||(c.style.overflow="hidden"),this._inner.appendChild(c),this._a11yD!==!0){const b=document.createElement("div");b.className="am5-reader-container",b.setAttribute("role","alert"),b.style.position="absolute",b.style.width="1px",b.style.height="1px",b.style.overflow="hidden",b.style.clip="rect(1px, 1px, 1px, 1px)",this._readerAlertElement=b,this._inner.appendChild(this._readerAlertElement);const l=document.createElement("div");l.className="am5-focus-container",l.style.position="absolute",l.style.pointerEvents="none",l.style.top="0px",l.style.left="0px",l.style.overflow="hidden",l.style.width=a+"px",l.style.height=s+"px",l.setAttribute("role","graphics-document"),J(l,!1),this._focusElementContainer=l,this._inner.appendChild(this._focusElementContainer);const m=document.createElement("div");this._tooltipElementContainer=m,m.className="am5-tooltip-container",this._inner.appendChild(m),ge("keyboardevents")&&(this._disposers.push(A(window,"keydown",o=>{o.keyCode==16?this._isShift=!0:o.keyCode==9&&(this._isShift=o.shiftKey)})),this._disposers.push(A(window,"keyup",o=>{o.keyCode==16&&(this._isShift=!1)})),this._disposers.push(A(l,"click",()=>{const o=this._focusedSprite;if(o){const f=t.getEvent(new MouseEvent("click"));o.events.dispatch("click",{type:"click",originalEvent:f.event,point:f.point,simulated:!0,target:o})}})),this._disposers.push(A(l,"keydown",o=>{const f=this._focusedSprite;if(f){o.keyCode==27&&(_t(),this._focusedSprite=void 0);let p=0,x=0;switch(o.keyCode){case 13:o.preventDefault();const y=t.getEvent(new MouseEvent("click"));return void f.events.dispatch("click",{type:"click",originalEvent:y.event,point:y.point,simulated:!0,target:f});case 37:p=-6;break;case 39:p=6;break;case 38:x=-6;break;case 40:x=6;break;default:return}if(p!=0||x!=0){if(o.preventDefault(),!f.isDragging()){this._keyboardDragPoint={x:0,y:0};const P=t.getEvent(new MouseEvent("mousedown",{clientX:0,clientY:0}));f.events.isEnabled("pointerdown")&&f.events.dispatch("pointerdown",{type:"pointerdown",originalEvent:P.event,point:P.point,simulated:!0,target:f})}const y=this._keyboardDragPoint;y.x+=p,y.y+=x;const _=t.getEvent(new MouseEvent("mousemove",{clientX:y.x,clientY:y.y}),!1);f.events.isEnabled("globalpointermove")&&f.events.dispatch("globalpointermove",{type:"globalpointermove",originalEvent:_.event,point:_.point,simulated:!0,target:f})}}})),this._disposers.push(A(l,"keyup",o=>{if(this._focusedSprite){const f=this._focusedSprite,p=o.keyCode;switch(p){case 37:case 39:case 38:case 40:if(f.isDragging()){const x=this._keyboardDragPoint,y=t.getEvent(new MouseEvent("mouseup",{clientX:x.x,clientY:x.y}));return f.events.isEnabled("globalpointerup")&&f.events.dispatch("globalpointerup",{type:"globalpointerup",originalEvent:y.event,point:y.point,simulated:!0,target:f}),void(this._keyboardDragPoint=void 0)}if(f.get("focusableGroup")){const x=f.get("focusableGroup"),y=this._tabindexes.filter(E=>E.get("focusableGroup")==x&&E.getPrivate("focusable")!==!1);let _=y.indexOf(f);const P=y.length-1;_+=p==39||p==40?1:-1,_<0?_=P:_>P&&(_=0),ft(y[_].getPrivate("focusElement").dom)}}}})))}this._startTicker(),this.setThemes([]),this._addTooltip(),this._hasLicense()||this._showBranding()}_initResizeSensor(){this._resizeSensorDisposer&&this._resizeSensorDisposer.dispose(),this._resizeSensorDisposer=new Yt(this.dom,()=>{this.autoResize&&this.resize()}),this._disposers.push(this._resizeSensorDisposer)}resize(){const e=this._getRealSize(),t=this._getCalculatedSize(e),i=Math.floor(t.width),r=Math.floor(t.height);if(i>0&&r>0){const a=Math.floor(e.width),s=Math.floor(e.height),n=this._htmlElementContainer;if(n.style.width=i+"px",n.style.height=r+"px",this._a11yD!==!0){const h=this._focusElementContainer;h.style.width=i+"px",h.style.height=r+"px"}this._renderer.resize(a,s,i,r);const u=this._rootContainer;u.setPrivate("width",i),u.setPrivate("height",r),this._render(),this._handleLogo()}}_render(){this._renderer.render(this._rootContainer._display),this._focusElementDirty&&(this._updateCurrentFocus(),this._focusElementDirty=!1)}_runTickers(e){v(this._tickers,t=>{t(e)})}_runAnimations(e){me(this._animations,t=>t._runAnimation(e))}_runDirties(){let e={};for(;this._isDirtyParents;)this._isDirtyParents=!1,se(this._dirtyParents).forEach(s=>{const n=this._dirtyParents[s];delete this._dirtyParents[s],n.isDisposed()||(e[n.uid]=n,n._prepareChildren())});se(e).forEach(s=>{e[s]._updateChildren()});const t=[];se(this._dirty).forEach(s=>{const n=this._dirty[s];n.isDisposed()?delete this._dirty[n.uid]:(t.push(n),n._beforeChanged())}),t.forEach(s=>{s._changed(),delete this._dirty[s.uid],s._clearDirty()}),this._isDirty=!1;const i={},r=[];se(this._dirtyBounds).forEach(s=>{const n=this._dirtyBounds[s];delete this._dirtyBounds[s],n.isDisposed()||(i[n.uid]=n.depth(),r.push(n))}),this._positionHTMLElements(),r.sort((s,n)=>gt(i[n.uid],i[s.uid])),r.forEach(s=>{s._updateBounds()});const a=this._dirtyPositions;se(a).forEach(s=>{const n=a[s];delete a[s],n.isDisposed()||n._updatePosition()}),t.forEach(s=>{s._afterChanged()})}_renderFrame(e){return!this._updateTick||(this.events.isEnabled("framestarted")&&this.events.dispatch("framestarted",{type:"framestarted",target:this,timestamp:e}),this._checkComputedStyles(),this._runTickers(e),this._runAnimations(e),this._runDirties(),this._render(),this._positionHTMLElements(),this.events.isEnabled("frameended")&&this.events.dispatch("frameended",{type:"frameended",target:this,timestamp:e}),this._tickers.length===0&&this._animations.length===0&&!this._isDirty)}_runTicker(e,t){this.isDisposed()||(this.animationTime=e,this._renderFrame(e)?(this._ticker=null,this.animationTime=null):this._paused||(t?this._ticker:Ne(this.fps,this._ticker)))}_runTickerNow(e=1e4){if(!this.isDisposed()){const t=performance.now()+e;for(;;){const i=performance.now();if(i>=t){this.animationTime=null;break}if(this.animationTime=i,this._renderFrame(i)){this.animationTime=null;break}}}}_startTicker(){this._ticker===null&&(this.animationTime=null,this._ticker=e=>{this._runTicker(e)},Ne(this.fps,this._ticker))}get updateTick(){return this._updateTick}set updateTick(e){this._updateTick=e,e&&this._startTicker()}_addDirtyEntity(e){this._dirty[e.uid]===void 0&&(this._isDirty=!0,this._dirty[e.uid]=e,this._startTicker())}_addDirtyParent(e){this._dirtyParents[e.uid]===void 0&&(this._isDirty=!0,this._isDirtyParents=!0,this._dirtyParents[e.uid]=e,this._startTicker())}_addDirtyBounds(e){this._dirtyBounds[e.uid]===void 0&&(this._isDirty=!0,this._dirtyBounds[e.uid]=e,this._startTicker())}_addDirtyPosition(e){this._dirtyPositions[e.uid]===void 0&&(this._isDirty=!0,this._dirtyPositions[e.uid]=e,this._startTicker())}_addAnimation(e){this._animations.indexOf(e)===-1&&(this._animations.push(e),this._startTicker())}_markDirty(){this._isDirty=!0}_markDirtyRedraw(){this.events.once("frameended",()=>{this._isDirty=!0,this._startTicker()})}eachFrame(e){return this._tickers.push(e),this._startTicker(),new X(()=>{De(this._tickers,e)})}markDirtyGlobal(e){e||(e=this.container),e.walkChildren(t=>{t instanceof q&&this.markDirtyGlobal(t),t.markDirty(),t.markDirtyBounds()})}width(){return Math.floor(this._getCalculatedSize(this._getRealSize()).width)}height(){return Math.floor(this._getCalculatedSize(this._getRealSize()).height)}dispose(){this._isDisposed||(this._isDisposed=!0,this._rootContainer.dispose(),this._renderer.dispose(),this.horizontalLayout.dispose(),this.verticalLayout.dispose(),this.interfaceColors.dispose(),v(this._disposers,e=>{e.dispose()}),this._inner&&pt(this._inner),ae(ie.rootElements,this))}isDisposed(){return this._isDisposed}readerAlert(e){this._a11yD!==!0&&(this._readerAlertElement.innerHTML=Ie(e))}setThemes(e){this._rootContainer.set("themes",e);const t=this.tooltipContainer;t&&t._applyThemes();const i=this.interfaceColors;i&&i._applyThemes()}_addTooltip(){if(!this.tooltipContainer){const e=this._tooltipContainerSettings,t=this._rootContainer.children.push(q.new(this,{position:"absolute",isMeasured:!1,width:Z,height:Z,layer:e?35:30,layerMargin:e||void 0}));this.tooltipContainer=t;const i=Ve.new(this,{});this.container.set("tooltip",i),i.hide(0),this._tooltip=i}}_registerTabindexOrder(e){this._a11yD!=1&&(e.get("focusable")?Te(this._tabindexes,e):ae(this._tabindexes,e),this._invalidateTabindexes())}_unregisterTabindexOrder(e){this._a11yD!=1&&(ae(this._tabindexes,e),this._invalidateTabindexes())}_invalidateTabindexes(){if(this._a11yD==1)return;this._tabindexes.sort((t,i)=>{const r=t.get("tabindexOrder",0),a=i.get("tabindexOrder",0);return r==a?0:r>a?1:-1});const e=[];v(this._tabindexes,(t,i)=>{t.getPrivate("focusElement")?this._moveFocusElement(i,t):this._makeFocusElement(i,t);const r=t.get("focusableGroup");r&&t.getPrivate("focusable")!==!1&&(e.indexOf(r)!==-1?t.getPrivate("focusElement").dom.setAttribute("tabindex","-1"):e.push(r))})}_updateCurrentFocus(){this._a11yD!=1&&this._focusedSprite&&(this._decorateFocusElement(this._focusedSprite),this._positionFocusElement(this._focusedSprite))}_decorateFocusElement(e,t){if(this._a11yD==1||(t||(t=e.getPrivate("focusElement").dom),!t))return;const i=e.get("role");i?t.setAttribute("role",i):t.removeAttribute("role");const r=e.get("ariaLabel");if(r){const l=mt(e,r);t.setAttribute("aria-label",l)}else t.removeAttribute("aria-label");const a=e.get("ariaLive");a?t.setAttribute("aria-live",a):t.removeAttribute("aria-live");const s=e.get("ariaChecked");s!=null?t.setAttribute("aria-checked",s?"true":"false"):t.removeAttribute("aria-checked"),e.get("ariaHidden")?t.setAttribute("aria-hidden","true"):t.removeAttribute("aria-hidden");const n=e.get("ariaOrientation");n?t.setAttribute("aria-orientation",n):t.removeAttribute("aria-orientation");const u=e.get("ariaValueNow");u?t.setAttribute("aria-valuenow",u):t.removeAttribute("aria-valuenow");const h=e.get("ariaValueMin");h?t.setAttribute("aria-valuemin",h):t.removeAttribute("aria-valuemin");const g=e.get("ariaValueMax");g?t.setAttribute("aria-valuemax",g):t.removeAttribute("aria-valuemax");const c=e.get("ariaValueText");c?t.setAttribute("aria-valuetext",c):t.removeAttribute("aria-valuetext");const b=e.get("ariaControls");b?t.setAttribute("aria-controls",b):t.removeAttribute("aria-controls"),e.get("visible")&&e.get("opacity")!==0&&e.get("role")!="tooltip"&&!e.isHidden()&&e.getPrivate("focusable")!==!1?(t.getAttribute("tabindex")!="-1"&&t.setAttribute("tabindex",""+this.tabindex),t.removeAttribute("aria-hidden")):(t.removeAttribute("tabindex"),t.setAttribute("aria-hidden","true"))}_makeFocusElement(e,t){if(t.getPrivate("focusElement")||this._a11yD==1)return;const i=document.createElement("div");t.get("role")!="tooltip"&&(i.tabIndex=this.tabindex),i.style.position="absolute",J(i,!1);const r=[];t.setPrivate("focusElement",{dom:i,disposers:r}),this._decorateFocusElement(t),r.push(A(i,"focus",a=>{this._handleFocus(a,e)})),r.push(A(i,"blur",a=>{this._handleBlur(a,e)})),this._moveFocusElement(e,t)}_removeFocusElement(e){if(this._a11yD==1)return;ae(this._tabindexes,e);const t=e.getPrivate("focusElement");t&&(this._focusElementContainer.removeChild(t.dom),v(t.disposers,i=>{i.dispose()}))}_hideFocusElement(e){this._a11yD!=1&&(e.getPrivate("focusElement").dom.style.display="none")}_moveFocusElement(e,t){if(this._a11yD==1)return;const i=this._focusElementContainer,r=t.getPrivate("focusElement").dom;if(r===this._focusElementContainer.children[e])return;const a=this._focusElementContainer.children[e+1];a?i.insertBefore(r,a):i.append(r)}_positionFocusElement(e){if(this._a11yD==1||e==null)return;const t=e.globalBounds();let i=t.right==t.left?e.width():t.right-t.left,r=t.top==t.bottom?e.height():t.bottom-t.top,a=t.left-2,s=t.top-2;i<0&&(a+=i,i=Math.abs(i)),r<0&&(s+=r,r=Math.abs(r));const n=e.getPrivate("focusElement").dom;n.style.top=s+"px",n.style.left=a+"px",n.style.width=i+4+"px",n.style.height=r+4+"px"}_handleFocus(e,t){if(this._a11yD==1)return;const i=this._tabindexes[t];i.isVisibleDeep()?(this._positionFocusElement(i),this._focusedSprite=i,i.events.isEnabled("focus")&&i.events.dispatch("focus",{type:"focus",originalEvent:e,target:i})):this._focusNext(e.target,this._isShift?-1:1)}_focusNext(e,t){if(this._a11yD==1)return;const i=Array.from(document.querySelectorAll(["a[href]","area[href]","button:not([disabled])","details","input:not([disabled])","iframe:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[contentEditable=""]','[contentEditable="true"]','[contentEditable="TRUE"]','[tabindex]:not([tabindex^="-"])'].join(",")));let r=i.indexOf(e)+t;r<0?r=i.length-1:r>=i.length&&(r=0),i[r].focus()}_handleBlur(e,t){if(this._a11yD==1)return;const i=this._focusedSprite;i&&i.events.isEnabled("blur")&&i.events.dispatch("blur",{type:"blur",originalEvent:e,target:i}),this._focusedSprite=void 0}updateTooltip(e){if(this._a11yD==1)return;const t=Ie(e._getText());let i=e.getPrivate("tooltipElement");e.get("role")=="tooltip"&&t!=""?(i||(i=this._makeTooltipElement(e)),i.innerHTML!=t&&(i.innerHTML=t)):i&&(i.remove(),e.removePrivate("tooltipElement"))}_makeTooltipElement(e){const t=this._tooltipElementContainer,i=document.createElement("div");return i.style.position="absolute",i.style.width="1px",i.style.height="1px",i.style.overflow="hidden",i.style.clip="rect(1px, 1px, 1px, 1px)",J(i,!1),this._decorateFocusElement(e,i),t.append(i),e.setPrivate("tooltipElement",i),i}_removeTooltipElement(e){if(this._a11yD==1)return;const t=e.getPrivate("tooltipElement");if(t){const i=t.parentElement;i&&i.removeChild(t)}}_invalidateAccessibility(e){if(this._a11yD==1)return;this._focusElementDirty=!0;const t=e.getPrivate("focusElement");e.get("focusable")?t&&(this._decorateFocusElement(e),this._positionFocusElement(e)):t&&this._removeFocusElement(e)}focused(e){return this._focusedSprite===e}documentPointToRoot(e){const t=this._getRealSize(),i=this._getCalculatedSize(t),r=i.width/t.width,a=i.height/t.height;return{x:(e.x-t.left)*r,y:(e.y-t.top)*a}}rootPointToDocument(e){const t=this._getRealSize(),i=this._getCalculatedSize(t),r=i.width/t.width,a=i.height/t.height;return{x:e.x/r+t.left,y:e.y/a+t.top}}addDisposer(e){return this._disposers.push(e),e}_updateComputedStyles(){const e=window.getComputedStyle(this.dom);let t="";ue(e,(r,a)=>{pe(r)&&r.match(/^font/)&&(t+=a)});const i=t!=this._fontHash;return i&&(this._fontHash=t),i}_checkComputedStyles(){this._updateComputedStyles()&&this._invalidateLabelBounds(this.container)}_invalidateLabelBounds(e){e instanceof q?e.children.each(t=>{this._invalidateLabelBounds(t)}):e instanceof yt&&e.markDirtyBounds()}_hasLicense(){for(let e=0;e{const a=this._renderer.getEvent(r);e.events.dispatch("click",{type:"click",originalEvent:a.event,point:a.point,simulated:!1,target:e})}))),this._positionHTMLElement(e),t.append(i),Te(this._htmlEnabledContainers,e),i}_positionHTMLElements(){v(this._htmlEnabledContainers,e=>{this._positionHTMLElement(e)})}_positionHTMLElement(e){const t=e.getPrivate("htmlElement");if(t){v(["paddingTop","paddingRight","paddingBottom","paddingLeft","minWidth","minHeight","maxWidth","maxHeight"],g=>{const c=e.get(g);t.style[g]=c?c+"px":""});const i=e.compositeOpacity();setTimeout(()=>{t.style.opacity=i+""},10);const r=e.isVisibleDeep();r&&(t.style.display="block");const a=e.globalBounds();t.style.top=a.top+"px",t.style.left=a.left+"px";const s=e.get("width"),n=e.get("height");let u=0,h=0;if(s&&(u=e.width()),n&&(h=e.height()),s&&n)e.removePrivate("minWidth"),e.removePrivate("minHeight");else{t.style.position="fixed",t.style.width="",t.style.height="";const g=t.getBoundingClientRect();t.style.position="absolute",u=g.width,h=g.height,e._adjustedLocalBounds={left:0,right:0,top:0,bottom:0},e.setPrivate("minWidth",u),e.setPrivate("minHeight",h)}u>0&&(t.style.minWidth=u+"px"),h>0&&(t.style.minHeight=h+"px"),r&&i!=0||(t.style.display="none")}}_setHTMLContent(e,t){let i=e.getPrivate("htmlElement");i||(i=this._makeHTMLElement(e)),i.innerHTML!=t&&(i.innerHTML=t)}_removeHTMLContent(e){let t=e.getPrivate("htmlElement");t&&this._htmlElementContainer.removeChild(t),ae(this._htmlEnabledContainers,e)}}ot("AM5C241025748");const Ge="en-us",Ae=new Map([["ar",()=>w(()=>import("./ar-dfb29e9e.js"),[])],["bg-bg",()=>w(()=>import("./bg_BG-08c99e6c.js"),[])],["bs-ba",()=>w(()=>import("./bs_BA-f2917445.js"),[])],["ca-es",()=>w(()=>import("./ca_ES-f5f347b0.js"),[])],["cs-cz",()=>w(()=>import("./cs_CZ-1e33a1ce.js"),[])],["da-dk",()=>w(()=>import("./da_DK-4e72198c.js"),[])],["de-de",()=>w(()=>import("./de_DE-15e279b1.js"),[])],["de-ch",()=>w(()=>import("./de_CH-b9a3a608.js"),[])],["el-gr",()=>w(()=>import("./el_GR-2b9c8a60.js"),[])],["en-us",()=>w(()=>import("./en_US-40dcf3cc.js"),[])],["en-ca",()=>w(()=>import("./en_CA-40dcf3cc.js"),[])],["es-es",()=>w(()=>import("./es_ES-c856435b.js"),[])],["et-ee",()=>w(()=>import("./et_EE-193ac1c8.js"),[])],["fi-fi",()=>w(()=>import("./fi_FI-53484f9e.js"),[])],["fr-fr",()=>w(()=>import("./fr_FR-8b6dd3fc.js"),[])],["he-il",()=>w(()=>import("./he_IL-ecc10351.js"),[])],["hr-hr",()=>w(()=>import("./hr_HR-6c8e87b3.js"),[])],["hu-hu",()=>w(()=>import("./hu_HU-fbe5572b.js"),[])],["id-id",()=>w(()=>import("./id_ID-56ecb0c6.js"),[])],["it-it",()=>w(()=>import("./it_IT-20a2fdf5.js"),[])],["ja-jp",()=>w(()=>import("./ja_JP-2f441bec.js"),[])],["ko-kr",()=>w(()=>import("./ko_KR-5290e5f8.js"),[])],["lt-lt",()=>w(()=>import("./lt_LT-e057464e.js"),[])],["lv-lv",()=>w(()=>import("./lv_LV-7a761c7a.js"),[])],["nb-no",()=>w(()=>import("./nb_NO-853c98f6.js"),[])],["nl-nl",()=>w(()=>import("./nl_NL-e2c04ba1.js"),[])],["pl-pl",()=>w(()=>import("./pl_PL-8693870b.js"),[])],["pt-br",()=>w(()=>import("./pt_BR-a1cac873.js"),[])],["pt-pt",()=>w(()=>import("./pt_PT-e5eb7b28.js"),[])],["ro-ro",()=>w(()=>import("./ro_RO-554c8802.js"),[])],["ru-ru",()=>w(()=>import("./ru_RU-5b0bfec9.js"),[])],["sk-sk",()=>w(()=>import("./sk_SK-feee92a1.js"),[])],["sl-sl",()=>w(()=>import("./sl_SL-56e581d6.js"),[])],["sr-rs",()=>w(()=>import("./sr_RS-dba2ad75.js"),[])],["sv-se",()=>w(()=>import("./sv_SE-e6ae4e09.js"),[])],["th-th",()=>w(()=>import("./th_TH-def73602.js"),[])],["tr-tr",()=>w(()=>import("./tr_TR-d87d745f.js"),[])],["uk-ua",()=>w(()=>import("./uk_UA-ae6136c6.js"),[])],["vi-vn",()=>w(()=>import("./vi_VN-8bff547b.js"),[])],["zh-cn",()=>w(()=>import("./zh_Hans-41156b15.js"),[])],["zh-hk",()=>w(()=>import("./zh_Hant-8bca75bb.js"),[])],["zh-tw",()=>w(()=>import("./zh_Hant-8bca75bb.js"),[])]]);function Mi(d){const e=d.split("-")[0].toLowerCase();let t=null;for(const i of Ae.keys())if(i.startsWith(e)){t=i;break}return t}function Si(d){return d?Ae.has(d.toLowerCase())?d.toLowerCase():Mi(d)||Ge:Ge}async function Bi(d,e=nt()){const t=Be.new(d);return t.locale=(await Ae.get(Si(e))()).default,t}export{Bi as createRoot};